isakura 发表于 2024-4-5 22:15:42

请教各位大佬,通讯串口数据校验相关问题

现在碰到一个通讯,个人觉得是串口

但是校验始终不得行,情况如下图,



波特率9600,我设置8 + 校验 +1个停止位,但是不管是奇校验 还是 偶校验 都会出现校验错误的数据....

难道真有 使用 9个 数据 加 无校验的形式?市面上有能支持这种方式的单片机?



zhikunWang 发表于 2024-4-5 22:52:20

瑞萨芯片就支持。

Himem 发表于 2024-4-5 23:00:33

本帖最后由 Himem 于 2024-4-5 23:02 编辑

连51都支持的,或者说硬串口不支持9位的mcu反而少见

isakura 发表于 2024-4-5 23:14:52

Himem 发表于 2024-4-5 23:00
连51都支持的,或者说硬串口不支持9位的mcu反而少见
(引用自3楼)

看了下,确实是不少,平生第一次见这样用{:sweat:}

foxpro2005 发表于 2024-4-7 16:50:24

你抓一个完整的数据包,看看第9位是不是多机通信时的 地址位/数据位?

isakura 发表于 2024-4-7 18:26:42

foxpro2005 发表于 2024-4-7 16:50
你抓一个完整的数据包,看看第9位是不是多机通信时的 地址位/数据位?
(引用自5楼)

是的,只有第一个字节是1,后面第九位都是0

foxpro2005 发表于 2024-4-7 19:51:24

isakura 发表于 2024-4-7 18:26
是的,只有第一个字节是1,后面第九位都是0
(引用自6楼)

那就对的了, UART多机通信模式(第9位为 地址/数据 标志位), 第1个字节数据为地址,后面的为数据信息
页: [1]
查看完整版本: 请教各位大佬,通讯串口数据校验相关问题