我正在尝试编写一个Delphi应用程序来控制科学仪器。我监控了连接到仪器的串口,发现计算机通过向仪器发送18个空字符来建立通信,如下所示:
00 then 20ms delay
00 00 00 00 00 00 00 00 then 30ms delay
00 then 20ms delay
00 00 00 00 00 00 00 00
然后仪器会响应一系列空字符。
使用TCiaComPort
Delphi组件,我编写了以下代码,将前18个字符发送到仪器。
Serial1.Open := True;
Serial1.SendStr(chr($00));
Sleep(20);
Serial1.SendStr(chr($00) + chr($00) + chr($00) + chr($00)
+ chr($00) + chr($00) + chr($00) + chr($00));
Sleep(30);
Serial1.SendStr(chr($00));
Sleep(20);
Serial1.SendStr(chr($00) + chr($00) + chr($00) + chr($00)
+ chr($00) + chr($00) + chr($00) + chr($00));
然后我在TCiaComPort的OnDataAvailable事件中设置一个断点,一旦仪器响应但应用程序没有到达断点,表明仪器没有响应,就停止应用程序。
有什么建议吗?
答案 0 :(得分:1)