STM32的UART奇偶校验注意

本文介绍了STM32 UART在启用奇偶校验时,如何调整配置以确保9位数据位的使用。重点在于理解校验位对数据位的影响,并提供相关代码示例。

STM32的UART奇偶校验注意

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 */

image-20210421165301340

评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值