引脚及其功能:
Tx:数据发送引脚,负责向外发送数据
Rx:数据接收引脚,负责从对侧接收数据
串口收发数据格式:
串口以数据帧格式发送数据,数据帧由起始位,数据位,停止位组成。
数据帧中数据为可加校验位:校验位的校验方法主要分为奇校验和偶校验。
奇校验要求发送数据为中包括奇数个1,偶校验要求数据位中包括偶数个1。
波特率:
每秒钟传输位的数量称为波特率,例如9600波特率 = 每秒钟传输9600个位
收发双方应约定使用相同波特率进行数据传输
UART/USART:
UART:通用异步收发器,特点为支持异步工作模式,也就是通常意义上的串口
USART:通用同步/异步收发器,特点为支持同步和异步工作模式,它多加了CK(时钟线)
常用代码:
发送函数:
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart,uint8_t *pData,uint16_t Size,uint32_t Timeout);
作用:通过该函数串口向外发送数据
参数huart:串口句柄的指针(&huart1),由HAL库自主生成
参数pData:填写要发送的数据的指针
参数Size:填写要发送数据的数量,以字节为单位
参数Timeout:超时时间(ms),若发送超过超时时间,则停止发送并且返回发送超时的状态,一般不填写超时时间,以HAL_MAX_DELAY作为填入值,表示一直等待到发送结束
返回值:返回数据的发送结果,HAL_OK成功,HAL_ERROR失败,HAL_BUSY串口忙,HAL_TIMEOUT发送超时
例:
接收函数:
HAL_StatusTypeDef HAL_UART_Receive(UART_HandleTypeDef *huart,uint8_t *pData,uint16_t Size,uint32_t Timeout);
作用:该函数通过串口接收数据
huart:填写句柄的指针
pdata:指向接收缓冲区的指针,接收缓冲区用来存放接收的数据
size:接收数据的数量,以字节为单位
Timeout(略)
返回值(略)
例: