如题,遇到过两次这样的情况,最后没办法,只有采用字符中断接收再判断。
一次情况是与YSI的水质分析仪做通讯,水质分析仪是232接口,采用232转485转换器与S7200通讯。用串口调试助手调试一切正常。用S7200做通讯,发送正常,就是不能接收数据,用S7200与PC做通讯,同样的程序,发送和接收都正常。最后用字符中断接收即正常。
还有一次是一个SIEMENS的朋友给我打电话,S7200和温控表做通讯,同样也是发送正常,接收不正常。用字符中断也可以接收。
分析上面的问题,我还是怀疑仪表的一侧有些问题,我感觉是仪表的通讯程序设计不规范,可能有的发送采用查询方式,就是说发一个字符,等待发送完成,再接着发下一个字符。也有可能有的发送方式采用中断方式,把数据放在缓冲区中,然后通过中断方式发送。
个人觉得采用查询方式发送数据可能会有问题,但也不能确认问题到底出在什么地方,大概感觉和字符间隔时间有关。
请大家不吝赐教!