找回密码
 立即注册
查看: 1825|回复: 3

STC的串口奇偶校验问题

[复制链接]

1

主题

0

回帖

21

积分

新手上路

积分
21
发表于 2022-12-14 20:05:08 | 显示全部楼层 |阅读模式
使用STC-ISP上的STC89C52RC串口测试例程在STC89C52RC 单片机上测试,设置为奇校验发送模式,无论上位机串口设定是奇校验/偶校验/无校验,接收单片机发来的单字节,接收的都是同样正确的字节,这是可以的吗?
同样STC12C5A16S2单片机的例程在STC12C5A16S2单片机上测试,上位机不同的校验接受方式,得到的数据就会有误差,这样不是才符合校验失败该有的样子吗?


回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:489
  • 最近打卡:2025-08-23 07:44:52
已绑定手机

12

主题

57

回帖

1240

积分

金牌会员

积分
1240
发表于 2024-5-31 11:02:16 | 显示全部楼层
我用stc32g单片机与stc-isp的串口助手通信也是这个情况,
无论上位机选何种校验方式,都能得出正确的结果,
用modbuspoll,如果校验位不对应就会抛出错误。

不知道是不是自编的软件是不是有问题。
也期望stc能把串口通信库完善一下,包含上奇偶校验程序
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:158
  • 最近打卡:2025-08-23 11:06:14

76

主题

6636

回帖

1万

积分

超级版主

积分
13863
发表于 2024-6-3 14:33:54 | 显示全部楼层
奇偶校验是要软件校验的,不是说奇偶校验不对了,就不接收了,并且奇偶校验位是最后的位,所以不管奇偶校验位是否正确,数据字节都会接收,都会产生接收完成标志。程序读取收到的字节时,要用软件判断奇偶校验位是否正确。
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-08-17 13:02:28

1

主题

3

回帖

93

积分

注册会员

积分
93
发表于 2025-8-4 14:29:16 | 显示全部楼层
我感觉你看下发送时序图,校验位作为8位数据后紧跟的一位,这一位无论是奇偶校验都是由程序完成的,你完全可以忽略这一位。上位机接受时也是按照时序接受的,第九位不做强制使用,只要8个数据接受完就算数据接受了。
但是我测试hlw8110时,必须考虑偶校验位,stc或者上位机必须设置好:1开始+8数据+1校验+1停止。接受数据时你可以不设置偶校验位的处理,但是发送时必须软件设置好校验位,否则8110接受数据强制看偶校验位,如果校验位不对,它就认为数据无效。
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-24 05:25 , Processed in 0.111745 second(s), 67 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表