CH372通信有数据错误?

CH372通信有两个现象,请各位大侠指点: 1.采用端点2传输数据时,当数据中1的个数大于5五个时,单片机端接受的到数就位0xFF;1的个数少于5位时,传输正确。(如0x10,0x34,0xf1,接受正确;0x1f,0x37,0xf3等数据,在接收时变为0XFF)

2.偶然性的出现跑程序问题。在接受数据中断的过程中,有时在读取第二个数据时,让RD信号为低电平(采用的是IO口模拟时序),自动退出中断,再也不能正常读取数据,但仍能产生中断。

可能问题还出在读写时序上,你测试CHECK_EXIST,看是否能正确的返回数据。


CHECK_EXIST测试正确


返回的中断状态也是对

现在是在连续从读取数据时,读第二个数据,让RD变为低电平时,程序就不知道跑到哪里去了,好像是系统复位了

经过检查,第二次让RD变为低电平时,电源电压有波动,启动了我的复位电路


这样说的话就和CH372没关系了,查一下你的硬件,CH372的RD是输入引脚,不会对你的IO造成影响


这样说的话就和CH372没关系了,查一下你的硬件,CH372的RD是输入引脚,不会对你的IO造成影响


兄弟们,所有的问题都解决了 使用注意点: 1.CPU与CH372连接的端口,若使可配置的,需要配置为漏极开路、弱上拉方式; 2.在读取数据前,一定要是让数据端口状态为0xFF; 3.根据CPU的频率,要适当延时。


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