有一个串口通信协议,不太了解各个的用途是做什么用处。

dhwdm22   2009-5-24 12:53 楼主
.读取满量程
上位机发送命令:EOT+ 机号(2字节)+ P1 +ENQ
仪表应答:STX + 机号(2字节)+ P1 + 数据(6字节)+ ETX + BCC校验码
机号:取值范围为00~99。
BCC校验码:从“机号”开始至ETX,对各个字符进行异或的值。
数据组成:数据为定长(6个字节)。
字节1:符号位,内容为 “+” 或 “-”。在本命令中为无效数据。
字节2~字节5:满量程的有效数字,0000~9999。
字节6:小数点。内容为1~4。Eg.
1——5.000
2——50.00
3——500.0
4——5000.
以上为一字符串的处理要求,现在是通过一个串口向设备发送命令,波特率9600,n,8,1. 采集速度20次/秒,这个P1和P2是多少的值?刚才查了下SET.ETO.ENQ还有ETX.这个P1和P2是代表那个?么意思。不了解这个硬件方面的知识。

回复评论 (6)

命令:所有字符均为ASCII
点赞  2009-5-24 12:54
没看明白。
你不是已经说明了协议的每一个字段的意思了吗
点赞  2009-5-24 14:49
发送,接收看看P1是什么,没看到P2?
点赞  2009-5-24 16:43
-----"采集速度20次/秒,这个P1和P2是多少的值?刚才查了下SET.ETO.ENQ还有ETX.这个P1和P2是代表那个?"

这要看你 上下位机的通信协议.
点赞  2009-5-24 18:25
引用: 引用 4 楼 huabinsir 的回复:
-----"采集速度20次/秒,这个P1和P2是多少的值?刚才查了下SET.ETO.ENQ还有ETX.这个P1和P2是代表那个?"

这要看你 上下位机的通信协议.

恩。我得问问造这个设备的厂家是什么意思。实在是搞不明白了。以前一写.net的。现在要软件硬件一块搞麻烦些。
点赞  2009-5-24 20:26
public byte[] sendData(byte[] Str)
        {
            byte temp=Str[0];
            for (int i = 1; i <= Str.Length - 1; i++)
            {
                temp = Convert.ToByte(temp ^ Str);
            }
            List bytesList = new List();
            foreach (byte b in Str)
            {
                bytesList.Add(b);
            }
            bytesList.Add(temp);
            Str = bytesList.ToArray();
            return Str;
        }

BCC校验
点赞  2009-5-24 20:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复