1.这是数据帧协议
1.2 主机读操作
主机发送一个数据标识符号给从机,从机根据数据标识符返回数据给主机
1.3 主机写操作
主机发送一个数据标识符号及其数据给从机,从机接收数据后然返回一个接收数据应答
1.4 主机下发数据帧的组成
帧起始符 数据标识 数据1 数据2 crc校验 帧结束符
帧起始符:0xEE
数据标识:低7位是数据标识符(1~99),最高位为读写标识符(1:读,0:写)
数据1,2:写时后面是标识所对应的数据,数据1为数据的高两位,数据2为数据的低两位(十进制)
读时数据位无效
crc校验:8位的crc数据校验
结束符号:0xEF1.5 从机响应数据帧的组成
1.5.1 对读数据的响应帧
帧起始符 数据标识 数据1 数据2 crc校验 帧结束符
帧起始符:0xEE
数据标识:低7位是数据标识符
数据1,2:正常读响应时表示相应标识的数据
异常读响应时为0
crc校验:8位的crc数据校验
结束符号:0xEF
我没写过通信程序,很愚钝,问题有些多,望赐教!
2。准备用VB6.0的MsComm控件来做串口通信,主要问题在下面
1.下位机是DSP采集的数据,mscomm控件用事件触发来做,比如我现在想写参数进DSP,我发送数据标示符给下位机格式还是按帧来发么?是帧起始符 数据标识 数据1 数据2 crc校验 帧结束符这样么?
2.我发了之后,然后用什么语句等待?或者说我发完了后,DSP给我回接受数据应答(是不是还是按帧格式?)时,我怎么知道他就是接收到了并且正确执行?
3.我接受DSP的接受数据应答时,这些数据是现在接收缓冲区里面么,我怎样才能完整的把这些数据读进来,不会漏么?
我看mscomm属性有设置缓冲区大小的说法,那么假如我设置缓冲区位24个字节 但是数据有30个字节,那我第一次拿回24个字节,电脑咋知道还有6个字节还没拿?
4.大脑麻了。。
5,,或者能否推荐一点书我看 VB和R3232串口通信 清华范逸之我已经看了,或者推荐个此类程序我看看
1.2 主机读操作
主机发送一个数据标识符号给从机,从机根据数据标识符返回数据给主机
1.3 主机写操作
主机发送一个数据标识符号及其数据给从机,从机接收数据后然返回一个接收数据应答
1.4 主机下发数据帧的组成
帧起始符 数据标识 数据1 数据2 crc校验 帧结束符
帧起始符:0xEE
数据标识:低7位是数据标识符(1~99),最高位为读写标识符(1:读,0:写)
数据1,2:写时后面是标识所对应的数据,数据1为数据的高两位,数据2为数据的低两位(十进制)
读时数据位无效
crc校验:8位的crc数据校验
结束符号:0xEF1.5 从机响应数据帧的组成
1.5.1 对读数据的响应帧
帧起始符 数据标识 数据1 数据2 crc校验 帧结束符
帧起始符:0xEE
数据标识:低7位是数据标识符
数据1,2:正常读响应时表示相应标识的数据
异常读响应时为0
crc校验:8位的crc数据校验
结束符号:0xEF
我没写过通信程序,很愚钝,问题有些多,望赐教!
2。准备用VB6.0的MsComm控件来做串口通信,主要问题在下面
1.下位机是DSP采集的数据,mscomm控件用事件触发来做,比如我现在想写参数进DSP,我发送数据标示符给下位机格式还是按帧来发么?是帧起始符 数据标识 数据1 数据2 crc校验 帧结束符这样么?
2.我发了之后,然后用什么语句等待?或者说我发完了后,DSP给我回接受数据应答(是不是还是按帧格式?)时,我怎么知道他就是接收到了并且正确执行?
3.我接受DSP的接受数据应答时,这些数据是现在接收缓冲区里面么,我怎样才能完整的把这些数据读进来,不会漏么?
我看mscomm属性有设置缓冲区大小的说法,那么假如我设置缓冲区位24个字节 但是数据有30个字节,那我第一次拿回24个字节,电脑咋知道还有6个字节还没拿?
4.大脑麻了。。
5,,或者能否推荐一点书我看 VB和R3232串口通信 清华范逸之我已经看了,或者推荐个此类程序我看看
解决方案 »
- 关于StretchBlt
- vb打包后安装出现奇怪问题
- 我为什么找不到某个dll文件?急死了。谢谢大家。
- ◆求助,如何判断用户有没有按过按钮?◆
- 请问在vb中如何调用foxpro for windows 数据库呀!
- ado中,connectiontimeout不起作用
- 这么实现每2小时软件点击一次command?
- 请高手指点:关于引用和撤消方面的
- ZYL910 Come in!
- 朋友为了讨好他的女朋友,催命似的逼着我用两个晚上做的多媒体教学课件......
- VB写WINDOWS CMD
- 错误4 类型“String”的值无法转换为“System.Net.Mail.Attachment”。如何解决?
1、研究透彻硬件的电气特性,接线方法
2、研究透彻通信协议,在PC上 串口调试器和下位机通信,确保通信成功。
3、研究MSComm控件的用法,编写自己的程序。上面的三点你都做到了,那么通信也就OK了。要懂得化整为零,一步一步的来。
http://download.csdn.net/detail/veron_04/1262066
http://download.csdn.net/detail/veron_04/3601715
现在是
1.没写过,不知道咋下手,。比如我发了一个下行命令后,如果dsp校验错误是回数据给上位机要求重发?那么我每次都要校验完了,确定正确之后才能下发下一个数据?