自由口字符中断问题

请高手拆招,程序简单如下:
MAIN
LD           SM0.1
CALL      0
END
SBR
LD          M0.0
MOVB    16#C1 ,SMB30
ENI
MOVB    VB0    SMB34  ( VB设定一合适时间)
ATCH     0 ,10          静止线定时器
ATCH     10,8              静止线接收器
RET
INT0
LD    SM0.0
ATCH    1,8
INT1
接受字符程序省略
INT10
LD          SM0.0
ATCH      0,10
请教:在子程序中定义接受字符中断启动静止线接收器,而静止线接收器重新连接定时中断,从而连接接受字符中断。那么在子程序中引起接受字符中断的字符怎么接受呢?
    这段程序该如何正确理解呢?

最佳答案

这段程序写的很巧妙!目的是通讯线空闲时间达到VB0 MS后再接收字符,和RCV开始条件之空闲时间是一个用法,没达到设定的时间,接收到的字符都丢弃,要不你接收的只是一帧数据的后面部分,不完整的一帧肯定不能用。
这种开始条件和主站的通讯协议有关,主站下发帧的间隔时间是固定的,所以可以用这个条件来确定一帧数据的开始。

提问者对于答案的评价:
youhm对这个问题讲解的很透彻,而我没有选择你的原因是laohuai一语道破天机。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc313528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:25
下一篇 2020年11月1日 下午3:25

相关推荐