STM32F107的串口通讯总结

              STM32F107的串口通讯总结


STM32F107的串口通讯总结

 

1.   STM32的一般规律,首先要使用串口必先使能串口时钟,比如串口1: RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); 

2.   串口使用的GPIO口设置: 首先使能GPIO的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);其次GPIO端口的模式配置(复用推挽输出、浮空输入等)

3.   主程序有中断的要使用中断配置,注意中断的抢占优先级和子优先级,串口的一般排次位。

初始化中断。

4.   串口配置  :  波特率、字节长度 、停止位、奇偶校验、模式、硬件流控制等

初始化串口、串口接收中断使能、串口使能。

5.   接收中断服务函数编写,   voidUSART1_IRQHandler(void)

一般来说,接收中断服务函数要考虑的问题比较多,主要有一下几点:  接收数据的正确性(某字节的校验、包括CRC校验等),数据长度的正确性(是否接收完整),数据接收过程中突然出现中断或者死机的防护措施等。

6.    串口函数的发送和接收函数  USART_SendData(USART_TypeDef*USARTx, uint16_t Data);

uint16_tUSART_ReceiveData(USART_TypeDef* USARTx);  

7.   串口的状态标志  FlagStatusUSART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);

清除串口的中断标志 voidUSART_ClearITPendingBit(USART_TypeDef* USARTx, uint16_t USART_IT);

 

 

------ 串口章节算是比较复杂的,涉及的内容比较多,也是重点。学好了为以后的485通讯做好基础。

 

 

 

 

 

 

 

 


你可能感兴趣的:(STM32)