微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32串口 uart

STM32串口 uart

时间:12-03 来源:互联网 点击:
uart初始化步骤
波特率计算公式:波特率=Fpclkx /(16*USARTdiv)
以uart1为例说明uart1使用PA9,PA10
1、计算波特率参数
temp=(float)(pclk2*1000000)/(bound*16);//得到USARTdiv
mantissa=temp; //得到整数部分
fraction=(temp-mantissa)*16; //得到小数部分
mantissa<=4;
mantissa+=fraction; //波特率数值
2、PA外设时钟使能
RCC->APB2ENR|=1<2; //使能PORTA口时钟
3、UART时钟使能
RCC->APB2ENR|=1<14; //使能串口时钟
4、IO状态初始设置
GPIOA->CRH=0X444444B4;//IO状态设置
5、复位串口
RCC->APB2RSTR|=1<14; //复位串口1
RCC->APB2RSTR&=~(1<14);//停止复位
6、波特率设置
USART1->BRR=mantissa; // 波特率设置
7、校验位停止位设置
USART1->CR1|=0X200C; //1位停止,无校验位.
8、使能接收中断
USART1->CR1|=1<8; //PE中断使能
USART1->CR1|=1<5; //接收缓冲区非空中断使能
MY_NVIC_Init(3,3,USART1_IRQChannel,2);//组2,最低优先级
上一篇:STM32_Touch 总结
下一篇:STM32 之 ISP下载

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top