过程是这样的:
设置串口调试助手:
波特率:1200
校验位:无
数据位:8
停止位:2
接着我用串口调试助手工具通过pc机232的串口(当然中间接了一个232与485的转换器)与仪表的485通讯,给仪表发送一个指令,仪表也能返回一组数据。
现在目的: 数据中心通过GPRS(无线)给仪表发送一个查询指令,然后仪表反馈的数据又通过GPRS(无线)回传给数据中心。
不知道数据中心这一块程序如何写?
我现在就是写了一个socket的程序,通过pc机与pc机可以进行通信。是不是数据中心的程序中要设置波特率、校验位、数据位、停止位呀?如果要设置,程序应该如何写?还请高手给予提示、帮助。谢谢!
设置串口调试助手:
波特率:1200
校验位:无
数据位:8
停止位:2
接着我用串口调试助手工具通过pc机232的串口(当然中间接了一个232与485的转换器)与仪表的485通讯,给仪表发送一个指令,仪表也能返回一组数据。
现在目的: 数据中心通过GPRS(无线)给仪表发送一个查询指令,然后仪表反馈的数据又通过GPRS(无线)回传给数据中心。
不知道数据中心这一块程序如何写?
我现在就是写了一个socket的程序,通过pc机与pc机可以进行通信。是不是数据中心的程序中要设置波特率、校验位、数据位、停止位呀?如果要设置,程序应该如何写?还请高手给予提示、帮助。谢谢!
有关串口的编程指南见MSDN的《Serial Communications in Win32》
01 03 00 50 00 0A 00 00
然后返回数据:
01 03 14 36 52 44 84 00 10 01 D5 08 1B 17 59 04 FC A4 C1 01 0C 05 10 B1 9D
数据中心发送代码如下:
char buff[8];
buff[0]=0x01;
buff[1]=0x03;
buff[2]=0x00;
buff[3]=0x50;
buff[4]=0x00;
buff[5]=0x0A;
buff[6]=0x00;
buff[7]=0x00;
send(connected_skt,buff,strlen(buff),0)
但是发送后没有接收到数据?
所以你要在数据中心写一个类似于串口调试助手的代码,完成跟串口的交互,也可以直接利用mscomm串口控件来直接与仪表交互,mscomm的使用参考http://www.ebok.cn/Computer-Development/C/C-40195.html
而GPRS是通过无线连接的。
仪表的485口上连接的是GPRS DTU。
然后就是 服务器上的程序通过GPRS通道与仪表连接进行通信。
关键是服务器端的程序要如何处理才能与仪表完全通讯?