L lengyan69 Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-17 #1 请问串口通信中,有没有因为某种故障导致单片机不应答,这时它还触发onreceive事件吗?因为我把查询失败的处理办法写在onreceive事件里了,如果这时它不触发onreceive事件,那么我的程序就不能继续轮询下去,就是不能继续自动查询下面的其他站点
请问串口通信中,有没有因为某种故障导致单片机不应答,这时它还触发onreceive事件吗?因为我把查询失败的处理办法写在onreceive事件里了,如果这时它不触发onreceive事件,那么我的程序就不能继续轮询下去,就是不能继续自动查询下面的其他站点
D Dstorm Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-17 #2 "这时它还触发onreceive事件吗"~!它是指?onreceive,是com口有数据时候的回调!~”没有因为某种故障导致单片机不应答“!~当你给com口写一个数据时,有可能连com口单片机,会应答一下!不知道你的情况!~
"这时它还触发onreceive事件吗"~!它是指?onreceive,是com口有数据时候的回调!~”没有因为某种故障导致单片机不应答“!~当你给com口写一个数据时,有可能连com口单片机,会应答一下!不知道你的情况!~
L lengyan69 Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-17 #3 我是指单片机不应答时,不发数据时,我的SPCOMM控件ONRECEIVE事件会不会触发,程序发一个查询命令,单片机不反还数据,有这种情况吧
S SupermanTm Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-19 #5 PC -- MCU 通讯应采用超时机制来判断“无应答”状态。
G gear1023 Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-20 #6 同意SUPERMANTM,一般用超时来处理,一般串口应该在一定时间内回复(当然根据具体情况),如果无回复,则说明有问题。
S SupermanTm Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-21 #8 很简单啊,串行口的波特率你自己是知道的,因此发送你的报文的时间也是知道的,那么下位机最大的响应延迟时间事实上也是知道的发送数据的时候同时使用 SETTIMER 去激活一个系统定时器并指向超时处理例程,保留这个定时器的Handle,在 onreceive 事件中判断这个定时器是否活动,如果活动则 KILLTIMER,这就是超时机制了
很简单啊,串行口的波特率你自己是知道的,因此发送你的报文的时间也是知道的,那么下位机最大的响应延迟时间事实上也是知道的发送数据的时候同时使用 SETTIMER 去激活一个系统定时器并指向超时处理例程,保留这个定时器的Handle,在 onreceive 事件中判断这个定时器是否活动,如果活动则 KILLTIMER,这就是超时机制了
H husion Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-21 #9 当单片机没有向上位机发数据,当然SPCOMM控件ONRECEIVE事件不会收到数据。不知道你具体是什么情况
L lengyan69 Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-24 #10 为什么图标有些闪烁,先闪一下查询失败,再出现查询成功字样?