ch372 中断读取状态值错误

stc15单片机 并口 连接ch372, 发送CMD_CHECK_EXIST和CMD_SET_USB_MODE 2 内部模式 命令成功, 通过我的电脑-》系统设备中也正确识别的 该 usb设备。

pc机用 CH375WriteData()发送数据后,中断程序正确执行,在外部中断程序中 CH375_WR_CMD_PORT( CMD_GET_STATUS ); IntStatus = CH375_RD_DAT_PORT( );

IntStatus 始终等于10进制 130 , 而不是USB_INT_EP2_OUT,

请问有人碰到过这个问题吗?

再次测试,测量u+ 3.3v是对的。 修改程序:读出的版本是b7,也是对的。 在check_exist 代码后面 在增加一个check_exist,结果第2次check的时候返回的值不正确了。

调试日志: usb board start check_exist1 ok version=b7 cmd_set_usb_mode ok check_exist2 error 213 version=b7 process_usb_int_event() : 130 other intStatus process_usb_int_event() : 130 other intStatus


上电之后需要延时50MS以上的时间再设置模式。测试命令做2次,一次是发送0X55,读取到的数据应该是0XAA,在发一次0XAA,看下读取到的数据是不是0X55。设置模式正确返回值是0x51。这样才说明你的初始化通过。


第一次发0x55,得到的是0xaa,第2次发送0xaa,得到的是0xd5, 不理这个错误 接下去 设置模式 返回的是0x51。

这是一个什么样的问题哦?


这个问题没人得能回答的了吗?


说明你的最高位D7有问题,始终为1.这也解释了你为什么返回0x82(130),正确是0x02.


那我查查D7的原因。


这个问题昨天我也遇到了,似乎是在读中断状态时,如果A0=1,则会在最高位置中断状态,然后就可能为高。


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