374数据传输不稳定的问题

我现在PC机与374之间传输数据 很简单:PC机下传5个字节,然后下位机再上传5个字节,如此反复. 问题是:我在上位机读走数据后,下位机产生的 IN 中断处 回握手0Eh的位1,位0设置为10=应答NAK,正常传输一段时间后,就会出现错误:PC机读不出数据来了

而我将 0Eh的位1,位0设置为00=应答DATA0/DATA1,就可以稳定传输了.

因为我是参考贵公司例子,在上传成功后,回应NAK的,我觉得我的程序与例子没有区别吧?能大致讲一下上传成功的中断处理中分别在什么情况下使用 应答DATA0/DATA1 和 应答NAK 吗? 谢谢!

这样做的话你反复传数据可能没有问题,但是如果你没有数据上传而有应答ACK的话可能会导致误传数据的. 一般在传完一般数据后应答NAK,如果有数据则等上一包数据传输完毕(一定要等上一包传完)再去写数据,然后应答ACK.可能你的流程不对才产生这个问题,可以把你的程序贴出来看看.


只有登录才能回复,可以选择微信账号登录