自由通信发送的首字符为长度,第二个字符为实际发送的第一个字符,为何用串口助手接收不到呢,但后面的字符正常接收,不知道是何原因,大家是否有遇到类似情况
问题补充:
这个发送指令是在接收中断里面完成的,如果不用在接收中断里则没有这个问题可以正常发送。不明白为何在接收中断里面发送就会丢失第一个字符。
图片说明:
最佳答案
你这样测试,把xmt指令的tbl管脚写VB99,然后给VB99= 16#0B,看串口调试软件是否有VB100 = 16#0A的数据。
或者连续发送试试,看多次发送是否仍然丢失第一个字符。
换一个串口调试软件,测试。
丢失数据,我还是认为是连接电缆的正确及可靠性,多变换状态测试几次看看结果如何。
补充问题回复:
你为什么在接收中断中修改SMB87?修改通讯参数后仍然需要调用通讯初始化一次。
提问者对于答案的评价:
修改SMB87是为了在中断内关闭接收防止新接收的字符覆盖掉之前的,再在中断外面开启接收
最佳答案作者回复:
其实你不必要担心,没有发送信息请求,从站也不可能做出相应的应答。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc345027.html