quote:以下是引用翼飞凌在2011-10-11 12:58:53的发言:
1 只有结束符才可以产生中断吗?
不是的,先定义SMB87,这里定义了RCV结束的条件,结束后如果连接了中断,那么会执行接收中断。
结束字符/字符间计时器/信息计时器/都可以使接收结束,并产生中断
2 最好用ASCII协议中非数值字符做结束字符,这样就不会重复,但协议要更改。
你可以使用结束字符配合超时或最大字符计数判断结束。
1 接受设置
LD SM0.0
MOVB 16#05, SMB130
MOVB 16#B0, SMB187
MOVW 5, SMW190
MOVB 250, SMB194
大侠,我按照你的方法把SMB187从16#90改成了16#B0,那么它就会接受到0X00时就会结束
我估计是SMB189中是16#00,所以就会在0X00就终止了,它把0X00作为了结束符了。
2我的程序中的数据不是确定的,有可能和ASCII的数值时一样的,这样就又会提前结束
大侠 你说的“使用结束字符配合超时或最大字符计数判断结束”
我这也不好判断啊,有时候接受的是204个字节有时候接受76个字节,
是不是每次我都要切换最大字符给它赋值呢???