注册 登录
编程论坛 VB6论坛

如何使用VB编写“应答模式”的串口通信

wang12zhe 发布于 2015-06-17 20:26, 539 次点击
这几天在使用VB编写一个跟单片机通信的串口软件  遇到几个问题,

由于想使用"应答模式",而且单片机的处理速度远远比电脑慢,

当串口发送一个数据个单片机后,需要等待带单片机处理完成后返回正确的应答信号才能继续向下处理

我的问题是,当发送数据给单片机后,上位机需要等待单片机返回信号,   这个等待该怎么处理?

如何实现等待 直到收到返回数据后 再发送下一组数据?
2 回复
#2
风吹过b2015-06-17 21:07
使用标志变量。

如:
发送数据后,置 标志变量为 30 。 30 也是超时计数变量。
如果在这过程中,收到单片机消息,把该标志变量 置为 -1

然后定义一个定时器,每秒1次。
如果发现标志变量为0 ,说明 30秒没收到 返回消息,重发刚数据。
如果发现标志变量为 -1 ,说明单片机已正常响应了, 继续发送一条数据。
否则 把标志变量 减1,
#3
lianyicq2015-06-18 09:28
回复 楼主 wang12zhe
如果单片机程序可以自己改,在需要上位机发数据的时候,不能发个自定义的请求发送信号?上位机再定义一个output的触发逻辑
1