各位高手: 我现在用CH375和CH372通讯的时候,可以最多正常通讯5分钟左右.然后会出现CH375发送ISSUE_TOKEN命令(接收数据的IN 事务)后,接收不到执行成功的中断.这是什么原因,是CH372没有收到我这个命令吗?想问问在CH372做了什么事情后,CH375会收到执行成功的中断?这个事情是自动发生的,不用我们控制了吗?如果发生这种情况,该如何处理,是否继续发送ISSUE_TOKEN命令,直到接收了发送成功的中断标志.希望那位清楚的把这个流程讲讲,就是当CH375发送ISSUE_TOKEN命令(接收数据的IN 事务)后,后面发生了些什么事情,CH372又做了什么事情?谢谢!
首先在你的程序里面要先考虑到前面的一次传输有没有完成,只有在你的前面一次传输完成之后在发送命令。当主机将令牌的命令发送出去之后,372收到这个命令之后,那么,会先检查372缓冲区的数据有没有准备好,如果没有准备好的话,那么就会给375返回NAK,如果准备好的话,这个时候会给375返回ACK,当375收到ACK之后,就会给单片机的中断引脚拉低,给你返回的状态是操作成功,接着就可以读取数据了,你这个问题好象是372那边复位掉了,372那边的三个读写自函数是用模拟I/O口来操作的吗?又或者是你的372那边的程序没有将上一次写进去的数据解锁掉就可能出现你说的这种现象
斑竹,你好! 我的CH372那边是用模拟I/O操作来进行读写操作的.你说CH372没有将上一次写进去的数据解锁,应该不是.因为我在5分钟内至少已经成功通讯几百次了,我是让CH375和CH372一直通讯,用的是CH375+44B0做主机,CH372+AVR做从机,主机实时从从机那里采集数据,显示出来.因为从机没有LCD.你说CH372复位掉了,是什么意思呢?该如何处理?我发现有时CH375和CH372通讯时候,有时是一开始CH375对CH372枚举的时候就失败了,CH372使用内置固件模式,CH375没有收到CH372的描述符,说明CH372是没有响应的。请问你们技术支持有电话吗?我想电话咨询一下,现在项目马上着急验收,但是我发现这个问题不解决,很不好交差,其它都没问题了,通讯也不是不行,就是不能连续通讯几个小时.
那你这样,你将你的372这边的程序发到我们技术信箱这边,我担心的是你的模拟I/O口时序上面没有做好的话,有可能将数据当作是命令发送给的372,从而造成372复位。:tech@wch.cn
斑竹,谢谢你发的邮件. 不过我用你修改的程序依然还是存在哪个问题,我想问问CH372本身就存在这样的问题。比如稳定性方面的。内置固件有时无响应.还有我想问问CH375和CH372通讯,是否CH375是否可以不用对CH372进行枚举就可以通讯?谢谢.
375操作372是可以不用枚举或者你直接就发自动配置的命令来枚举372