[求助]求助一个关于ch372的问题?急!。。。

您好,我现在用一个2051单片机通过时序操控CH372,其中2051的四个引脚已经被用去,而2051与372通信时需要12个引脚,因为2051只有15个引脚,这样就缺了一个引脚,所以我将372的INT中断引脚省去了(程序中改中断方式为查询方式),现在问题是2051从372得到端点2下传命令状态取走数据后,当新的数据未下传至372端点时,接下去去查询的时候又得到与上一次相同的命令状态和数据,请问有什么办法可以避免2051重复拿相同数据的情况发生,是否可以在取走一次数据后把端点2的下传命令状态清除。我用的是汇编,372使用内置固件模式,主要使用端点2的数据上下传功能。谢谢!

你不用中断引脚的话,那么你要不断的去查询状态,如果你查询的状态是USB端点2下传成功的话,那么你就发CMD_RD_USB_DATA命令,发送完成之后的话,375的缓冲区解锁了,这个时候在读取状态的时候就不会是端点2下传成功的状态了,所以你不用担心上面的问题


我用CMD_RD_USB_DATA命令试了,发现端点2未被新的数据覆盖时,2051还是能读取到上一次的数据,请问是什么原因呢?


那你读回的状态是什么呢?还是端点2下传成功吗?你可以通过这个来判断你来读,我们这个命令是解锁数据端口,可以进行下一次的传输,而不是将缓冲区里面的数据全部清掉


是的,我读回的状态应该还是端点2下传成功。因为我的2051是将端点2的数据收下来后再传给另外一块S51的芯片,我用示波器测了,发现新的数据没到之前,2051一直在给S51发同样的数据。(我用下传一字节做试验) 现在还有什么办法吗? 谢谢!


刚做过测试,你读的状态一直是0X02,但是接下来是读取不到数据的


谢谢! 再请问一下读取不到数据是因为端点2被锁住了还是端点2里面的数据被清除了?


数据是被清除了,如果是锁住的话,那么下一次的下传数据是传不下来的


噢,谢谢! 我去试试.


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