使用CH376读SD卡设置模式3,读出数据存入buf数组,然后CMD00_RESET_ALL,再设置为使用内置固件的USB设备方式,向USB端点2的发送缓冲区写入数据块。 遇到的问题是:PC端接收不到数据。
首先确保单独调试CH376操作SD卡和与上位机通讯都是正常的。复位之后需要延时50MS再设置USB设备方式,首先确定设备管理器里有设备吗?其次,有没有产生中断。
mInitCH376_RESET_ALL(); delay_ms(50);
s = mInitCH376Device(); if(s==ERR_USB_UNKNOWN);
xWriteCH376Cmd( CMD_WR_USB_DATA7 ); // 向USB端点2的发送缓冲区写入数据块 xWriteCH376Data( 64 ); //首先写入后续数据长度 for ( j = 0; j < 64; j ++ ) {xWriteCH376Data( buf[j] );} xWriteCH376Cmd( CMD_UNLOCK_USB ); // 释放当前USB缓冲区 xEndCH376Cmd;
去掉RESET_ALL后使用DEBUG372接收数据正常。 加上mInitCH376_RESET_ALL();这一句之后DEBUG372检测到有设备插入,但是端点2上传数据没有。
RESET_ALL之后能够检查到设备插入说明初始化成功的,端点2没上传数据,可能没有产生中断。正常的话,复位之后与上电操作的流程是一样的。