关于接收发送的问题
在上位机任何时候向下位机发送下面指令,下位机都会返还相应指令:
PC-》scan: 1B byte1 byte2 0D
Scan-》PC: 1B byte1 byte2 byte3 byte4 0D。
1、1B 、0D是固定格式;
2、byte1 byte2为任意十六进制数
下位机根据收到上位机指令后,在20ms返回指令:
1、1B 、0D是固定格式;
2、byte 1 byte2与收到上位机的指令相同;
3、byte3 = (byte1+byte2)&0xFF (即byte1与byte2相加得到和,再取低8位);
4、byte4 = byte1&byte2 (即byte1与byte2按位相与);
请问,上面的过程如何实现呢?上位机向下位机发送4个16进制的数据,如何用mscomm控件发送呢?
发送完以后如何接收才能是16进制?
[解决办法]
除了参考我上面给出的链接,另 Try
假设:AA 为 byte1,BB 为 byte2
发送字符串:"0h1BAABB0D"
接收将 mscomm 控件的 RThreshold 属性设为 1 &&设置当接收缓冲区中接收到一个字符后,就产生一次OnComm事件
然后在OnComm事件中将得到的数据覆给一个变量,再通过标识符(开头是1B,结尾是0D)将要的数据截取出来。
这个你可以参考我的这个例子:
http://download.csdn.net/source/507162
我这个例子中开头标识符是Chr(1),结束标识符是Chr(2),把这对标识符换成你的标识符就行。