各位大侠,我在编制CPU226与93表通讯的自由口通讯程序时碰到一个问题:
当CPU226向93表发出一个查询信息时,93表就按照约定回答一帧应答信息,该应答信息总是以16#02开始,16#0D结束。一开始我用16#02做接收开始字符,16#0D做接收结束结束字符,则总是进入不到接收信息结束的中断程序中,后改为接收字节中断,就可以成功进入中断了,判断是没有接收到完整的一帧信息。后来将
接收开始字符改成帧信息中的其中一个字符,而16#0D依然做接收结束结束字符,也就可以接收帧信息了,所以就更加证实了我的判断。后来我查了一下,93表的从接收到查询信息到按照约定回答一帧应答信息的延迟时间已经被调到最大为51.2毫秒,而CPU226程序循环一次的时间大约在80-90毫秒之间,请问是不是CPU226程序循环时间过长造成的,还可能有其他原因吗?
附上93表的通讯指南。
点击此处查看附件