我用TApdComPort控件已经能读取串口连续发送来的数据,但是怎么继续操作接收到的数据信息呢?通讯协议是:每帧数据以80为帧头,每个数据包包含一个帧头,12个8位数据组成,传输格式按照标准的232协议。例如:80 20 08 1A 08 2D 08 1B 08 2C 08 3E 08,我想对08左移8位,在和20组成一个十六位二进制数,再将这个二进制数转换位十进制数,就能得到陀螺仪一个轴的速度信息。请各位大牛指点,谢谢了先!
调试欢乐多
type
PCommDataPack=^TCommDataPack;
TCommDataPack=packed record
Head:Byte;
d1:Word;
d2:Word;
...
d6:Word;
end;
在Com组件的OnDataRecieved(猜的,收到数据的事件,该事件含有一个buf参数,PChar类型)
var
pData:PCommDataPack;
begin
PData:=PCommDataPack(buf);
//下面可以用pData^.d1取得所需的数据。
end;
老吴子说的漂亮!