用串口通訊模式,ch376可以常常mount到u盤。但是: 1 在CH376FileOpenPath(buf)后,找到符合條件的文件,用CH376ReadBlock(buf), 讀出數(shù)據(jù)到buf中,文件名第一個(gè)字節(jié)多了0x20. 2 用CMD0H_FILE_ENUM_GO命令,繼續(xù)枚舉文件,用CMD_GET_STATUS獲取中斷狀態(tài)時(shí),發(fā)現(xiàn)讀出的數(shù)據(jù)為0x38. 這是為什么呢?
1、發(fā)送完讀命令(27H)之后,會(huì)先讀取一個(gè)長度,然后根據(jù)這個(gè)長度來讀取數(shù)據(jù)。 2、CMD0H_FILE_ENUM_GO命令發(fā)完之后,如果沒有枚舉完成會(huì)返回0x1D。我們沒有0x38的錯(cuò)誤碼,你再好好檢查一下中斷配置和讀取這一塊。
先在執(zhí)行完s = CH376FileOpen( &PathName[s] );后,返回的s數(shù)值在單步運(yùn)行時(shí)是0x00,在全速運(yùn)行時(shí)是0x03,不知道是什么情況,之前并口調(diào)試的挺好的,現(xiàn)在換成串口,就不行了,請(qǐng)幫忙分析一下吧
cpu是stm32F103
確保CH376diskmount正確通過,單步運(yùn)行和全速運(yùn)行的區(qū)別就是執(zhí)行的速度不一樣,你可以在讀寫函數(shù)之間加一些延時(shí)試一下。
返回值03是什么錯(cuò)誤呢,是什么原因呢?
0x03代表磁盤已經(jīng)初始化成功,但是尚未分析文件系統(tǒng)或者文件系統(tǒng)不支持。 如果磁盤初始化正確通過之后,檢查打開的文件名是否正確?延時(shí)問題?或者換一個(gè)U盤試一下