请问发送中断产生多次之后,是什么原因导致不能产生发送中断了呢?[求助]

用44B0和CH375做通讯。 在CH375的中断中收到PC发来的命令和信息,然后向PC返回1BYTE的命令字和4BYTE的后继数据的长度,发送函数结束后,准备好一个后继数据的地址和一个结束地址,然后退出中断。 产生发送完毕中断后,按照前面准备好的地址,将后继数据发送出去,一直倒最后一个数据发送完毕。后继64BYTE发送完后,已经调用了CH375_Unlock_Usb()。

现象:能正确收到PC信息,能中断若干次,向PC返回大约20K BYTE的数据,然后就不产生中断了,导致PC端看起来好象死机一样,我要向PC返回960104BYTE的数据。 如果PC提前结束接收数据,那么CH375好象还能通讯,不过不稳定。 请问发送中断产生多次之后,是什么原因导致不能产生发送中断了呢?

你可以检查一下你的系统板是否有很大的干扰存在。或者有什麽地方设计不合理,比如说USB线缆用的是非屏蔽线或者线上信号地导通不好等


我在PC后面用了一根USB延长线,讲USB口放在桌面前,然后又用了一个对联线连接到我的PCB上。 是不是说:对方的数据或应答信号没有被正确收到? 就你们的测试,出现过这个现象没有,大约多少字节会出现这现象? 我现在这种情况,你建议我在PCB上下功夫还是在程序上下功夫?

谢谢你的及时回答,我现在休假几天,等我明天上班后将USB延长线拆下后再试。不过产品不应该受到延长线的影响才对。


用CH372评估板资料中的CHECK\PUB\TEST目录中的测试程序长时间测试检查硬件本身是否不稳定


今天没有用USB延长线,直接用对连线联结375和PC,尚未发现数据丢失现象。通讯正常,谢谢沁恒的指导。


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