stm32串口usart的使用

发布者:灵感狂舞最新更新时间:2017-10-31 来源: eefocus关键字:stm32  串口  usart 手机看文章 扫描二维码
随时随地手机看文章

一、串口的定义

用来与外界交互数据。

二、usart的配置:

1、开启时钟。

stm32的usart1挂载在apb2上,USART2、usart3挂载在apb1上。

2、串口的基本配置。

void USART1_Configuration(void)

{

USART_InitTypeDef  USART_InitStructure;

USART_DeInit (USART1 );

USART_InitStructure .USART_BaudRate =9600;

USART_InitStructure .USART_WordLength =USART_WordLength_8b ;

USART_InitStructure .USART_StopBits =USART_StopBits_1 ;

USART_InitStructure .USART_Parity =USART_Parity_No  ;

USART_InitStructure .USART_HardwareFlowControl =USART_HardwareFlowControl_None ;

USART_InitStructure .USART_Mode =USART_Mode_Rx |USART_Mode_Tx ;

USART_Init (USART1 ,&USART_InitStructure );

USART_ClearFlag (USART1 ,USART_FLAG_TC );

USART_ITConfig (USART1 ,USART_IT_RXNE ,ENABLE );

USART_Cmd (USART1 ,ENABLE );

}

3、中断向量表的配置。

void NVIC_Configuration(void)

{

NVIC_InitTypeDef  NVIC_InitStructure;

NVIC_PriorityGroupConfig (NVIC_PriorityGroup_1);

NVIC_InitStructure .NVIC_IRQChannel =USART1_IRQn  ;

NVIC_InitStructure .NVIC_IRQChannelPreemptionPriority =0;

NVIC_InitStructure .NVIC_IRQChannelSubPriority =1;

NVIC_InitStructure .NVIC_IRQChannelCmd =ENABLE ;

NVIC_Init(&NVIC_InitStructure );

}

4、串口中断函数的书写。

void USART1_IRQHandler(void )

{

if(USART_GetFlagStatus (USART1 ,USART_IT_RXNE) !=RESET )

{

USART_ClearITPendingBit (USART1 ,USART_IT_RXNE );

USART1_RX_Buffer=USART_ReceiveData (USART1 );

GPIO_SetBits (GPIOC ,GPIO_Pin_12 );

}

}


关键字:stm32  串口  usart 引用地址:stm32串口usart的使用

上一篇:stm32采用dma方式的ADC
下一篇:stm32 中关于nvic的形象化解释

推荐阅读最新更新时间:2024-03-16 15:42

STM32和ROS机器人的串口通信方案
具体协议大致如下,易读、易调用、易拓展、易更改。 源码文件:进入下面公众号:小白学移动机器人,发送:串口通信升级。即可获得。 http://weixin.qq.com/r/KERAWIvE1daqrc879xE6 (二维码自动识别) 本方案解决的问题:解决以STM32做ROS机器人底层驱动的串口通信问题。 为什么要写篇文章?: 最近发现越来越多的小伙伴走入ROS机器人的领域,而ROS机器人与底层驱动的串口通信问题,是大家学习路上的一个难题。很多小伙伴对STM32单片机并不熟悉,对串口通信的理解并不透彻,自己去解决这个问题,费时费力,最后也可能没有好的结果,并且这又不是大多数学习ROS机器人的重点。最后发现网上也没有很好的
[单片机]
<font color='red'>STM32</font>和ROS机器人的<font color='red'>串口</font>通信方案
stm32快速学习4——串口发送字符
设定UART1时钟 设定发送脚功能 串口设置,使能 #include stm32f10x.h void RCC_Configuration(void); void GPIO_Configuration(void); void USART_Configuration(void); unsigned char str = A ; int main(void) { RCC_Configuration(); GPIO_Configuration(); USART_Configuration(); USART_SendData(USART1,str ); while(1); }
[单片机]
基于STM32的FSMC接口驱动TFT彩屏的设计方案
  TFT-LCD技术是微电子技术和LCD技术巧妙结合的高新技术。随着人们对图像清晰度、刷新率、保真度的要求越来越高,TFT-LCD的应用范围越来越广。本文提出了一种能直接驱动数字液晶屏的设计方案,方案先介绍了TFT数字彩屏的工作原理,利用STM32处理器的FSMC接口设计的硬件电路和软件程序均能对显示控制芯片进行有效的控制。在实际应用中显示清晰流畅,并且CPU有足够的时间来处理用户程序。该方案能成功应用在电脑横机的人机界面显示中,且其硬件电路结构简单、控制方式灵活、对于其他型号的接口芯片也能提供参考。   0 引言   随着电子产品的不断更新,各种显示界面的开发越来越多,由于TFT彩屏的性价比高,因而被广泛用在各种电子设备上
[单片机]
基于<font color='red'>STM32</font>的FSMC接口驱动TFT彩屏的设计方案
如何实现一种基于STM32单片机的电子密码锁设计
一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602液晶、矩阵按键、蜂鸣器、EEPROM模块、继电器模块等。 主要功能: 系统运行后,LCD1602显示密码输入提示界面,系统存储在EEPROM的初始密码为123456,用户可通过矩阵按键S1-S10输入数值0-9,当在密码输入过程中有误,可按S11键回删并重新输入。当密码输入完成后,可按S12键确认,校验密码是否正确,如密码输入正确,电磁阀工作开门,对应D3指示灯点亮;如密码输入错误,LCD显示错误信息,可重新输入密码,最多可输入3次,如还输入错误,系统锁死,需等待10S钟解锁系统方可再次输入。当管理员需要更换密码时,可按下S13键,L
[单片机]
如何实现一种基于<font color='red'>STM32</font>单片机的电子密码锁设计
stm32入门——PWM输出控制直流电机变速
最近刚做了智能小车的寻迹实验,实验中用了定时器PWM输出来改变直流电机的转速,我在这里就大致总结一下PWM相关的知识。 什么是PWM? PWM(Pulse Width Modulation)脉冲宽度调制。 占空比:pwm占空比就是一个脉冲周期内有效电平在整个周期所占的比例。 通过调节PWM的占空比就能调节IO口上电压的持续性变化,因此也能够控制外设的功率进行持续性变化,也就能控制直流电机的转速快慢。 那么重点就在于如何调节PWM波形的输出。如下图所示 图中的ARR是我们给定时器的一个预装载值,CCRx的上下变化是产生PWM波的关键。我们假设ARR大于CCRx的部分输出为高电平(即t1-t2、t3-t4、t5-t6),ARR
[单片机]
<font color='red'>stm32</font>入门——PWM输出控制直流电机变速
stm32学习笔记(一) GPIO
战舰开发板的程序 main函数 int main(void) { delay_init(); //延时函数初始化 LED_Init(); //初始化与led连接的硬件配置 while(1) { LED0=1; LED1=1; delay_ms(300); LED0=0; LED1=0; delay_ms(300); } } delay_init();函数 void delay_init() { #ifdef OS_CRITICAL_METHOD //如果OS_CRITICAL_METHOD定义了,说明使用ucosII了. u32 reload; #e
[单片机]
STM32 ADC 多通道16路电压信号采集
下面介绍一种利用STM32单片机制作的16路多通道ADC采集电路图和源程序。采用USB接口与电脑连接,实则USB转串口方式,所以上位机可以用串口作为接口。电路图中利用LM324作为电压跟随器,起到保护单片机引脚的作用。直接在电脑USB取点,省去外接电源麻烦,实测耗电电流不到20ma. 1.主控电路图: 2. USB转串口电路图 3.LM324电压跟随器电路图 4.滤波电路图 5.16路接口电路图 6.电源电路图 7.16路ADC初始化程序: void Adc_Init(void) { //先初始化IO口 RCC- APB2ENR|=0X7 2; //使能PORTA\PORAB\PORTC口时钟 GPIO
[单片机]
<font color='red'>STM32</font> ADC 多通道16路电压信号采集
基于STM32模拟UART串口通信
UART工作原理 UART即通用异步收发器,是一种串行通信方式。数据在传输过程中是通过一位一位地进行传输来实现通信的,串行通信方式具有传输线少,成本底等优点,缺点是速度慢。串行通信分为两种类型:同步通信方式和异步通信方式。 但一般多用异步通信方式,主要因为接受和发送的时钟是可以独立的这样有利于增加发送与接收的灵活性。异步通信是一个字符接着一个字符传输,一个字符的信息由起始位、数据位、奇偶校验位和停止位组成。 每一个字符的传输靠起始位来同步,字符的前面一位是起始位,用下降沿通知收方开始传输,紧接着起始位之后的是数据位,传输时低位在前高位在后,字符本身由5~8位数据位组成。 数据位后面是奇偶校验位,
[单片机]
基于<font color='red'>STM32</font>模拟UART<font color='red'>串口</font>通信
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved