串口设置为偶校验无效?
我先简单把问题描述:有个外接设备的通讯参数要求“偶校验”,其他参数设置:
波特率:9600
数据位:8位
停止位:1位
流控制:无
然后我配置后写代码一开机就发送:0x11 0x22 0x33 0x44 0x55
当我用串口调试助手配置好后:显示接收到的数据为:收←◆11 A4 22 55
但是PC上串口调试助手的校验设置修改为“无”的时候,显示正确:收←◆11 22 33 44 55
我自己写的代码只有2行:
uint8_t send_data={0x11,0x22,0x33,0x44,0x55}; // // 自己写第1行代码
HAL_UART_Transmit(&huart2,send_data,5,0xFFFF); // 自己写第2行代码
然后我将整个工程代码打包到附件中。
补充一下其他条件:
STM32CubeMX 版本:5.3.0
keil 版本:5.24.2.0
串口调试助手版本: 5.13.1 软件名称是:SSCOM
我附件代码中MCU的型号是:STM32F042K6T6
另外验证过有同样问题的MCU型号是:STM32L476RGT6
STM32需要加奇偶校验时需要采用9位数据位的发送方式初始化配置一下就好了 mylovemcu 发表于 2019-9-23 07:55
STM32需要加奇偶校验时需要采用9位数据位的发送方式初始化配置一下就好了 ...
谢谢!我马上修改测试一下。确认这个方法可以解决我的问题。通过测试验证过了。:lol
楼上说的对,如果需要奇偶效验时,需要使用9位模式。 安 发表于 2019-9-23 09:28
楼上说的对,如果需要奇偶效验时,需要使用9位模式。
感谢版主的指导。:)
页:
[1]