新聞中心

STM32串口 uart

作者: 時(shí)間:2016-12-03 來(lái)源:網(wǎng)絡(luò) 收藏
uart初始化步驟
波特率計(jì)算公式:波特率=Fpclkx /(16*USARTDIV)
以u(píng)art1為例說(shuō)明uart1使用PA9,PA10
1、計(jì)算波特率參數(shù)
temp=(float)(pclk2*1000000)/(bound*16);//得到USARTDIV
mantissa=temp; //得到整數(shù)部分
fraction=(temp-mantissa)*16; //得到小數(shù)部分
mantissa<<=4;
mantissa+=fraction; //波特率數(shù)值
2、PA外設(shè)時(shí)鐘使能
RCC->APB2ENR|=1<<2; //使能PORTA口時(shí)鐘
3、UART時(shí)鐘使能
RCC->APB2ENR|=1<<14; //使能串口時(shí)鐘
4、IO狀態(tài)初始設(shè)置
GPIOA->CRH=0X444444B4;//IO狀態(tài)設(shè)置
5、復(fù)位串口
RCC->APB2RSTR|=1<<14; //復(fù)位串口1
RCC->APB2RSTR&=~(1<<14);//停止復(fù)位
6、波特率設(shè)置
USART1->BRR=mantissa; // 波特率設(shè)置
7、校驗(yàn)位停止位設(shè)置
USART1->CR1|=0X200C; //1位停止,無(wú)校驗(yàn)位.
8、使能接收中斷
USART1->CR1|=1<<8; //PE中斷使能
USART1->CR1|=1<<5; //接收緩沖區(qū)非空中斷使能
MY_NVIC_Init(3,3,USART1_IRQChannel,2);//組2,最低優(yōu)先級(jí)


關(guān)鍵詞: STM32串口uar

評(píng)論


技術(shù)專區(qū)

關(guān)閉