新闻中心

STM32串口 uart

作者: 时间:2016-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串口uar

评论


技术专区

关闭