通过com口连续发送几十条命令,想通过循环让其发送。
但必须是发送一条,接收硬件的应答成功后,再接着发送下一条。
如果其中接收到某条命令不正确,则停止此次的循环通讯,
这种循环发送接收要如何控制呢?请各位达人赐教
但必须是发送一条,接收硬件的应答成功后,再接着发送下一条。
如果其中接收到某条命令不正确,则停止此次的循环通讯,
这种循环发送接收要如何控制呢?请各位达人赐教
解决方案 »
- delphi7中tstack是否线程安全
- 怎么实现在Quickrep按组进行汇总打印?
- 关于try的问题,好向在我的机器上try...except就是一个最大的异常■■■■■■■■■■
- 放弃做软件,我想哭
- 如何把EDIT1和BitBtn1Click联系起来?
- 我装了Delphi 6 + Update 2,但是$(DELPHI)\bin 中没有tregsvr.exe这个文件
- ◎◎◎ 有没有什么办法把程序的菜单移到窗体的下边。
- 求教:如何调用word对象
- memo中加入图片~~~~
- !!!!!!打印问题:50分给最佳方案
- TTime数组排序的问题
- 请教!怎么在dbgrideh中实现这样的效果?急!!!在线等答案
定义了一个全局布尔变量,在应答成功后将这个设置为true,再发送下一条,可是没有起作用
begin
if not gANSWER then
begin
break;
Memo2.Lines.add('失败!');
end
else
begin
CheckSendCmd;//具体发送命令过程
end;
end;
2、判断通信结果,如果正确,那么继续执行,如果不正确,那么Break
2.从硬件接收应答指令
3.在串口的接收事件里:判断应答指令是否正确
4.在串口的接收事件里:如果正确则在执行另外一条指令的发送,否则不发送后面的指令,退出
5.循环3、4的步骤
注意:发送指令时要加上适当的延时sleep(100),自己定
也可以将发送给com口的代码放到一个线程了,然后用WaitForSingleObject来判断线程是否执行结束了
如果执行结束了就执行下一个操作。