STM32
直播中

岳臻俊

7年用户 1014经验值
私信 关注
[问答]

STM32的UART奇偶校验有哪些注意事项?

STM32的UART奇偶校验有哪些注意事项?

回帖(1)

刘溪

2021-12-10 09:39:02
STM32的UART在初始化时,我们通常用到最多的就是无校验位,1停止位。但是我在项目中也遇到某些芯片通信用的需要奇校验或者偶校验,这里需要特别注意的是STM32中开启奇偶校验位,是要占用一位数据位,所以需要把数据位设置为9位。可参考以下代码。

USART_InitStructure.USART_BaudRate = baudrate;        /* 波特率设置 */
USART_InitStructure.USART_WordLength = USART_WordLength_9b;        /* 字长为9位数据格式 */
USART_InitStructure.USART_StopBits = USART_StopBits_1;        /* 一个停止位 */
USART_InitStructure.USART_Parity = USART_Parity_No;        /* 奇偶校验 */


USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;        /* 无硬件数据流控制 */
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        /* 收发模式 */
USART_Init(UART5, &USART_InitStructure);


USART_ITConfig(UART5, USART_IT_RXNE, ENABLE);
USART_Cmd(UART5, ENABLE);        


USART_ClearFlag(UART5, USART_FLAG_TC);        /* 清发送完成标志,Transmission Complete flag */
举报

更多回帖

发帖
×
20
完善资料,
赚取积分