串口讀字節(jié),讀出的數(shù)據(jù)全是零。[求助]

_delay_cycles(50000); while(CH376FileOpen(FileName)!=USB_INT_SUCCESS); TotalCount = 2000; /* 準備讀取總長度 */ while ( TotalCount )/* 如果文件比較大,一次讀不完,可以再調用CH376ByteRead繼續(xù)讀取,文件指針自動向后移動 */ { if ( TotalCount > sizeof(buf) ) i = sizeof(buf); /* 剩余數(shù)據(jù)較多,限制單次讀寫的長度不能超過緩沖區(qū)大小 */ else i = TotalCount; /* 最后剩余的字節(jié)數(shù) */ s=CH376ByteRead( buf, i, &RealCount ); /* 以字節(jié)為單位讀取數(shù)據(jù)塊,單次讀寫的長度不能超過緩沖區(qū)大小,第二次調用時接著剛才的向后讀 */ while(s==USB_INT_SUCCESS); TotalCount -= (UINT8)RealCount; /* 計數(shù),減去當前實際已經(jīng)讀出的字符數(shù) */ if (RealCount < i )/* 實際讀出的字符數(shù)少于要求讀出的字符數(shù),說明已經(jīng)到文件的結尾 */ { break; } VS1003_SPI_TxFrame(buf, 250); }

CH376FileClose(FALSE);? 。字節(jié)讀出的buf全是0,讀的是個MP3格式的文件。。還有CH376ByteRead的用法對嗎

程序一直停在這 while(s==USB_INT_SUCCESS);一直等不到對的返回值。求解釋。


首先確認你之前磁盤初始化、打開文件都是正常的,讀的話你先讀少一點,是不是你讀取得長度大于你的文件長度?另外,你到CH376ByteRead函數(shù)里監(jiān)控一下卡在哪邊?


函數(shù)一直卡在等中斷那里,另外,我初始化中 WriteCH376Cmd(CMD_SET_USB_MODE);//設置為usb模式 _delay_cycles(10); WriteCH376Data(0x06); 他的返回值CMD_RET_SUCCESS我也一直沒有讀到,但是后面可以創(chuàng)建可以寫數(shù)據(jù),而且說明上也是說選擇性讀取這個,我就沒有讀他,,創(chuàng)建,寫數(shù)據(jù)都沒有問題了,就是讀數(shù)據(jù)中斷等不到。


設置模式這個命令與測試命令的操作是一樣的,先發(fā)一個命令、然后是發(fā)一個數(shù)據(jù)會返回一個數(shù)據(jù)。如果沒有返回值說明你的讀函數(shù)有問題???那你測試命令能通過嗎?


從初始化到u盤的創(chuàng)建文件和寫文件都沒有正常使用,前提是屏蔽了這段的讀返回值: WriteCH376Cmd(CMD_SET_USB_MODE);//設置為usb模式 _delay_cycles(10); WriteCH376Data(0x06);

然后就是在CH376ByteRead的時候一直等不到中斷。


讀返回值是每一步必要的操作,用于驗證單片機與CH376通訊的正確性。你最好做一下測試命令發(fā)送0x55返回0xAA,發(fā)送0xAA返回0x55。


。我上一句打錯了。。55返回是aa。然后發(fā)CMD_SET_USB_MODE。讀不到CMD_RET_SUCCESS,所以我沒有讀這個(說明上面說,可以不用讀),然后運行CH376FileCreate。CH376FileOpen,CH376ByteWrite,都可以正常運行,但是 CH376ByteRead無法讀出里面的數(shù)據(jù),中斷一直返回flase(一直等不到中斷),我不知道是CH376ByteRead的用法不對還是怎么的。這個問題已經(jīng)好幾天了。求幫助


讀的流程與寫是類似的,首先讀不到CMD_RET_SUCCESS肯定是不正常的,其次你CH376diskmount必須正確通過。


CH376diskmount已經(jīng)正確通過了。我通過串口發(fā)了CMD_SET_USB_MODE確實讀不到CMD_RET_SUCCESS該怎么辦?


那你可以先用我們的串口調試軟件看一下能否讀文件?UploadImages/20141158592519.rar


是376這個模塊直接通過類似232這樣的模塊通過uart直接于上位機連接嗎?


將CH376的串口腳引出,經(jīng)過TTL轉232電平變換,直接連接電腦,用10樓軟件測試一下。


我的電腦串上了232,插上了u盤,發(fā)送任何指令都是檢測超時。任何指令都沒有應答。


你先電腦上串口自發(fā)自收試一下?檢查一下串口連線,然后設置串口波特率9600,先不插U盤進行測試命令和設置模式。


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频