您现在所在的是:

串口通信

回帖:5个,阅读:3018 [上一页] [1] [下一页]
946
7319aini1314
文章数:17
年度积分:50
历史总积分:946
注册时间:2004/5/7
发站内信
发表于:2005/12/10 0:04:00
#0楼
我看了modbus通信协议十几遍,也没看明白:
    modbus通信有两种方式,其中,ACSII方式是“在消息中,每个8bit字节,作为两个ACSII字符传送......”然后说ASCII方式的代码系统中,每个字节"1个起始位,7个数据位,1个奇偶校验位,1个停止位......"我怎么觉着有点乱啊?明明说一个字节(一个字节应该8位啊),怎么加起来变成了10位?即便是去掉起始位、奇偶校验位、停止位、那剩7位怎么办啊,怎么作为两个ACSII字符传送呢?哪位能提供一个实际得不能再实际的例子来解释一下(比如写一长串0、1的信息桢)。我说的可能有点乱,你们能明白我的意思吗?这方面太糊涂了!谢谢了!
946
7319aini1314
文章数:17
年度积分:50
历史总积分:946
注册时间:2004/5/7
发站内信
发表于:2005/12/10 9:07:00
#1楼
各位工程师,帮帮我好吗?谢谢了!
1109
江湖人
文章数:68
年度积分:50
历史总积分:1109
注册时间:2004/6/30
发站内信
发表于:2005/12/16 21:35:00
#2楼
我只用过RTU模式的MODBUS,但用过其它协议的ACSII码
试试是不是这个意思:
比如 8BIT 为00000001,化成16进制为0X01.  而0对应的ACSII 数为48(10进制)或(0X30)
1对应的ACSII 数为49(10进制)或(0X31)
所以00000001 分成两个ASCII发送就为:0X30和0X31
解释完了,也希望真真做过MODBUS ACSII的同仁指点.
946
7319aini1314
文章数:17
年度积分:50
历史总积分:946
注册时间:2004/5/7
发站内信
发表于:2005/12/17 13:07:00
#3楼
谢谢你,江湖人,你是看过此贴的76个人中唯一一个回复我的人,真的十分感谢!但我说的问题还是没找到答案.如你所说8位数据的发送方法我知道了,可是7位数据呢?ASCII码方式是7位数据的啊,7位怎么变成ASCII码啊,而且比如我有32位数据要发送,如果是RTU方式,我可以理解,分成4组发送,就可以了,可是ASCII方式呢,32位,没组7位,可分四组,还剩4位怎么办啊,麻烦你,再帮我分析分析吧,谢谢了!
875
crsky7270
文章数:31
年度积分:50
历史总积分:875
注册时间:2005/4/28
发站内信
发表于:2005/12/21 15:51:00
#4楼
ACSII传输模式是个数据帧的格式,它由多字节组成,并不是只有一个字节。其中的起始位,和数据位,以及校验位等,都是以字节为单位来表示,如果数据位多的话,可能几个字都有可能,具体要看协议中所要数据的长度。
916
xfhq
文章数:1
年度积分:50
历史总积分:916
注册时间:2005/12/26
发站内信
发表于:2005/12/26 21:30:00
#5楼
这是指串口参数,即7E1,7O1,8N1

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

78.0005