[求助]U盘检测.

xWriteCH376Cmd( CMD0H_DISK_CONNECT ); /* CMD0H_DISK_CONNECT 0x30 主机文件模式/不支持SD卡: 检查磁盘是否连接 */ DelayUS( ); res = xReadCH376Data( ); if ( res == USB_INT_CONNECT ) /* USB_INT_CONNECT 0x15 检测到USB设备连接事件, 可能是新连接或者断开后重新连接 */ return( USB_INT_SUCCESS ); else return( USB_INT_DISCONNECT );

这样,不插入U盘 运行之后返回 USB_INT_DISCONNECT, 但是插上U盘后也返回 USB_INT_DISCONNECT 请问什么原因

你这样操作流程是不对的,这样操作res = xReadCH376Data( )的值是0x51(命令操作成功)当然返回USB_INT_DISCONNECT. 正确的流程应该是发送connect命令,然后等中断,等到中断发送0x22(获取中断状态命令)之后的读到的值才是0x15(USB_INT_CONNECT).


啊啊,明白了. 谢谢了. 等待中断的代码能给一下么?


请参考我们的例程\CH376EVT\EXAM\FILE_SYS.C


你好,我想请问一下这个INT#引脚的问题。 它是在什么样的条件下被触发成低电平呢? 为什么我有时测量是低有时是高呢?


INT#引脚在有中断产生的时候触发成低电平,在发送get_status(0x22)命令之后中断撤销变为高电平。


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