在自由口接收中断子程序中从串口再发送数据,为什么总是发送错误?发送缓冲区设在VB200开始的字节中。
问题补充:
我用状态表看了,赋值都正常,但是接收的时候,却没有收到指定的数,加了100ms延时但还是没用么!有没有谁也碰到过这种问题?
最佳答案
发送指令是从VB200开始发送你所指定个数的连续字节信息的,一般不会出现此问题,你在线监视一下或用状态表监视一下VB201,VB202的内容,怀疑是地址冲突了,你在别的地方无意中修改了这两个值.
补充:怎么问题改来改去的。你应该在接收中断程序结束的时候置一个标志位,在主程序中用这个标志启动一个定时器,待时间到后才可以再次调用发送程序。定时长度要大于接收一次数据所需的最大时间,把发送程序写在中断接收程序里的做法是错误的。
提问者对于答案的评价:
谢谢H.L的指点。以及其他各位高手的指点
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc358777.html