使用CH376讀SD卡設(shè)置模式3,讀出數(shù)據(jù)存入buf數(shù)組,然后CMD00_RESET_ALL,再設(shè)置為使用內(nèi)置固件的USB設(shè)備方式,向USB端點2的發(fā)送緩沖區(qū)寫入數(shù)據(jù)塊。 遇到的問題是:PC端接收不到數(shù)據(jù)。
首先確保單獨調(diào)試CH376操作SD卡和與上位機通訊都是正常的。復(fù)位之后需要延時50MS再設(shè)置USB設(shè)備方式,首先確定設(shè)備管理器里有設(shè)備嗎?其次,有沒有產(chǎn)生中斷。
mInitCH376_RESET_ALL(); delay_ms(50);
s = mInitCH376Device(); if(s==ERR_USB_UNKNOWN);
xWriteCH376Cmd( CMD_WR_USB_DATA7 ); // 向USB端點2的發(fā)送緩沖區(qū)寫入數(shù)據(jù)塊 xWriteCH376Data( 64 ); //首先寫入后續(xù)數(shù)據(jù)長度 for ( j = 0; j < 64; j ++ ) {xWriteCH376Data( buf[j] );} xWriteCH376Cmd( CMD_UNLOCK_USB ); // 釋放當(dāng)前USB緩沖區(qū) xEndCH376Cmd;
去掉RESET_ALL后使用DEBUG372接收數(shù)據(jù)正常。 加上mInitCH376_RESET_ALL();這一句之后DEBUG372檢測到有設(shè)備插入,但是端點2上傳數(shù)據(jù)沒有。
RESET_ALL之后能夠檢查到設(shè)備插入說明初始化成功的,端點2沒上傳數(shù)據(jù),可能沒有產(chǎn)生中斷。正常的話,復(fù)位之后與上電操作的流程是一樣的。