stm32串口功能比較強(qiáng)大,但僅僅使用串口來說,是很簡單的
我們要做的事
1.使能串口時鐘
2.復(fù)位串口
3.設(shè)置串口波特率
4.設(shè)置數(shù)據(jù)長度,停止位
5.收發(fā)使能
6.串口使能
1 int main()
2 {
3 u8 buf;
4 sysclk_init(9);
5
6 RCC->APB2ENR|=1<<14; //串口使能
7
8 RCC->APB2RSTR|=1<<14;
9 RCC->APB2RSTR&=~(1<<14);//復(fù)位串口,不復(fù)位會出錯
10 USART1->BRR=0x1D4C;//設(shè)置波特率
11 USART1->CR1|=0x200c;//停止位在USART->CR2中,默認(rèn)為1位停止位
12 //
13
14 while(1)
15 {
16 while(USART1->SR&(1<<5))//接收到數(shù)據(jù)
17 {
18 buf=USART1->DR;
19 USART1->DR=buf;
20 while(!(USART1->SR&(1<<6)));//等待發(fā)送完成
21 }
22 }
23 }