关于ADAM4017 4024的串口通信问题
正在使用ADAM4017 4024做一个实验设备的开发。前一段时间我的通信总是无法进行。最近我终于知道原因在于ADAM 4017的默认通信要求使用CheckSum,而我使用的Mscomm没有相关的设置.我在ADAM4000 Utility试图关闭CheckSum结果行不通.我是新手,在这里想请教各位高手看我的程序到底问题在哪里.先感谢了.这是我使用MScomm控件的串口发送程序:CByteArray array1;array1.RemoveAll();array1.SetSize(5);array1.SetAt(0,0x23);array1.SetAt(1,0x30);array1.SetAt(2,0x31);//发送#01 array1.SetAt(3,(0x23 0x30 0x31)%0xFF);//这里我想做一个 CheckSum,array1.SetAt(4,0x0d);//回车///////#01 ==&;gt end 0x23, 0x30, 0x31, 0x0dfor(int ReSend1=0;ReSend1<10;ReSend1 ){m_cmscomm1.SetOutput(COleVariant(array1)) leep(100);}或者我直接发送字符串,我是这样做的: Cstring endData1="#01" &;#39;\r&;#39 for(int ReSend2=0;ReSend2<10;ReSend2 ){m_cmscomm1.SetOutput(COleVariant(SendData1)) leep(100);}其中m_cmscomm1就是MSComm控件的对象,请教懂这方面的高手给我指点一下,不胜感激.另外,有哪位高手知道ADAM4000系列的CheckSum的算法是哪一种?我通过串口接收到了Utility发送的数据,发现总是有两个字节的校验,但我不知道这个校验的算法是哪一种.
|