51怎么实现9600.E.7.1的通讯格式

[复制链接]
5048|12
 楼主| tcc8073 发表于 2012-6-14 09:09 | 显示全部楼层 |阅读模式
使用51一直用9600.N.8.1的格式,现在客户要求用51实现9600.E.7.1的通讯格式,要在原来的程序上修改,不知道有没有哪位高手有没有修改的经验啊,请指教下.
xwj 发表于 2012-6-14 09:29 | 显示全部楼层
计算、修改D7位的数据后再按9600.N.8.1的格式发送即可
 楼主| tcc8073 发表于 2012-6-14 09:51 | 显示全部楼层
C51的在处理9600.E.7.1的数据的时候是不是只要屏蔽掉D7位,起的程序不需要做处理,请问是不是这样理解,其他在9600.N.8.1的格式的处理程序就不需要处理了
DianGongN 发表于 2012-6-14 10:19 | 显示全部楼层
2L正解。
D7位是偶校验位,需要计算,不能屏蔽。按9600.N.8.1的格式发送

3L不对。
 楼主| tcc8073 发表于 2012-6-14 10:28 | 显示全部楼层
各位能不能给个有关E.7.1格式的详细资料,我做那么久的串口通讯都没有做过这个格式,深表惭愧,谢谢各位帮忙
xwj 发表于 2012-6-14 10:38 | 显示全部楼层
9600.E.8.1是什么意思,
9600.E.7.1就是什么意思。

纯文字游戏,这要什么详细资料?
 楼主| tcc8073 发表于 2012-6-14 10:52 | 显示全部楼层
我主要想知道D7位是怎么得来的,还有什么其他规范没有.
21ID 发表于 2012-6-14 11:11 | 显示全部楼层
楼主看一下奇偶校验啊
airwill 发表于 2012-6-14 18:40 | 显示全部楼层
9600.E.7.1就是什么意思? 9600bps, even 校验, 1bit stop, 在串口通信中经常这么表示。
利用 PSW 里的奇偶校验位, 很容易实现 D7  的奇偶位设置.
 楼主| tcc8073 发表于 2012-6-14 21:42 | 显示全部楼层
本帖最后由 tcc8073 于 2012-6-14 21:47 编辑

请问下上位机在做9600,E,7,1的数据发送的时候是不是已经做好了这个算法,还是需要自己要算,我想明白其中发送和接收的过程,通过各位的说法我大概理解是:上位机每次发送一个8位的字节,发送过程包括开始位和停止位,8位字节的D7位是奇偶校验位,下位机接收到后对这个字节做分析,正确的话话使用DATA&0x7F得到有效ASCII码,不知道是不是这样的过程,谢谢各位
xwj 发表于 2012-6-15 10:50 | 显示全部楼层
LZ终于开始开动脑筋了。
你的理解是对的。
airwill 发表于 2012-6-15 11:37 | 显示全部楼层
理解正确, 对于串口数据传输, 网上有大把的资料, 建议: 最好先补习一下
 楼主| tcc8073 发表于 2012-7-28 09:19 | 显示全部楼层
谢谢各位,这个项目后来没有做,因为现在工业控制行业用得比较少,串口通讯倒是经常用,只是以前没有想过用7位的格式传送.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:诚信,务实,专业,创新

179

主题

1358

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部