stm32串口功能比较强大,但仅仅使用串口来说,是很简单的
我们要做的事
1.使能串口时钟
2.复位串口
3.设置串口波特率
4.设置数据长度,停止位
5.收发使能
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);//复位串口,不复位会出错 10 USART1->BRR=0x1D4C;//设置波特率 11 USART1->CR1|=0x200c;//停止位在USART->CR2中,默认为1位停止位 12 // 13 14 while(1) 15 { 16 while(USART1->SR&(1<<5))//接收到数据 17 { 18 buf=USART1->DR; 19 USART1->DR=buf; 20 while(!(USART1->SR&(1<<6)));//等待发送完成 21 } 22 } 23 }