根据厂家提供的仪器的通讯协议,用串口调试助手,接收不到数据。。?
一.    通讯方式:
1. 监控设备仪器与计算机集中监控软件间的连接采用RS232通讯方式.
2. 通讯波特率: 9600bps.
3. 通讯字节格式: 1位起始位, 8位数据, 无奇检验位, 1位停止位.
4. 计算机为主动发送,每隔一定时间(1S)向监控设备发正常巡检命令,如果有报警,故障等信息,则向计算机发送,只发一次,如没有,则发正常应答信息.
5. 计算机如果需要查询监控设备数据信息,则需向监控设备发送查询命令,监控设备依据命令回答信息。二.通讯格式:为减少监控设备的中断次数,采用8个字节产生一次中断,所以计算机发送的每帧信息的数据个数应为8的整数倍.数据帧定义如下:
字节0: 数据个数高字节
字节1: 数据个数低字节
字节2: 发送源地址
字节3: 发送目的地址
字节4~N+3:实际N个数据(本字节为命令标志字节,见举例中的红色字体)
字节N+4: 0~N+3数据的累加和校验高位
字节N+5: 0~N+3数据的累加和校验低位计算机地址: 00;
控制器地址: 01;发送每一帧内部数据的字符间隔时间不能大于200ms
三.数据定义:上(计算机)向下(监控设备)发送:正常巡检:0x00  0x08  0x00  0x01  0x09  0x00  0x00  0x12;下(监控设备)向上(计算机)发送:正常应答:0x00  0x08  0x01  0x00  0x19  0x00  0x00  0x22;**************以上是厂家提供的通讯协议*****************问题: 我想测试一下通讯是否正常。。(以下操作方法是否正确。。?)用串口调试助手调试,端口设置  COM1,波特率:9600, 1位起始位, 8位数据, 无奇检验位, 1位停止位 
串口的接线方式是:2-3,3-2,5-5
发送选择16进制,接收也要选择16进制正常巡检: 发送“ 00 08 00 01 09 00 00 12”,就是始终接收不到数据。。??
电脑串口肯定没问题的,测试过了,
我对这方面不太懂,请懂的高手指点一下。????

解决方案 »

  1.   


    看错了,协议头两个字节还是整包的长度,而不是 N。从你贴的内容看,发送这个命令就是正常巡检。如正常,应收到正常应答。收不到数据的可能原因很多:* 设置有问题(例如你使用的不是 COM1)* 仪器没有正常工作* 命令没有发送到仪器* 应答接收通道有问题你可以用示波器逐点检测命令和应答信号,看信号通道是否正常。
      

  2.   

    上(计算机)向下(监控设备)发送:正常巡检:0x00 0x08 0x00 0x01 0x09 0x00 0x00 0x12;