高手帮忙看看这个通信协议是怎么弄啊!
第一次接触串口,实在菜,高手帮帮啊!
通信格式:
1 2 3 4 5 6 7
STX(1Byte) address(2Byte) RSD(3Byte) ,(1Byte) 个数(2Byte) ,(1Byte) 地址(4Byte)
6
以Ascii 编号从STX 下一文字至此位以前的各文字加上,以16 进制数表示下位2-byte
8 9
CR(1Byte) LF(1Byte)
/////////////////////
其中[STX]=0x02 [CR]=0x0d [lf]=0x0a
现假设发送[stx]01RSD,02,0001C5[cr][lf] //数据是对的
现在想问下:
1,那个C5是怎么算出来的,对以Ascii 编号从STX 下一文字至此位以前的各文字加上,以16 进制数表示下位2-byte这句话不懂
2,这个格式该怎么发送啊,我只会发16进制的东西,这样发能行不:
CByteArray sendArr;
WORD wLength;
CString m_send="0201RSD,02,0001C50d0a";
wLength = m_send.GetLength();
sendArr.SetSize(wLength);
for(int i =0; i<wLength; i++)
{
sendArr.SetAt(i, m_send.GetAt(i));
}
m_MSComm1.SetOutput(COleVariant(sendArr));
高手帮帮忙啊,实在是新手.