如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/81782682
上面两篇文章,基本上把软硬件部分讲完了。接下来我们就看一下收发数据这部分该怎么处理。
三、收发数据处理
1、串口使用情况
首先明确一下,我们一共使用了4个串口:
4G模块 – USART1
GPS – USART2
BLE – USART3
DEBUG – UART4
也就是说,4G模块数据的收发是USART1,串口调试工具DEBUG是UART4
2、串口相关函数
之前有讲过串口,参看:STM32开发 – 串口详解
接收发送数据函数
// 发送数据到串口(通过写USART_DR寄存器发送数据)
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
// 接收数据(从USART_DR寄存器读取接收到的数据)
uint16_t USART_ReceiveData(USART_TypeDef* USARTx);
获取状态标志位函数
// 获取状态标志位
FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG);
// 清除状态标志位
void USART_ClearFlag(USART_