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串口 uart
uart初始化步骤波特率计算公式:波特率=Fpclkx/(16*USARTDIV)以uart1为例说明uart1使用PA9,PA101、计算波特率参数temp=(float)(pclk2*100…
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/252257.html