您好!
情況:1、我使用STM32加CH376作主、從兩種方式使用,硬件上使用同一個端口,使用貴公司提供的硬件方案,即加二極管和比較器的辦法,這樣U盤上實際的工作電壓只有4.3V左右。
????????? 2、我們用這個方案已經(jīng)應(yīng)用成功,產(chǎn)品也已經(jīng)上市,有一定的銷量。
現(xiàn)象:1、目前,有的儀器出現(xiàn)無法正常讀取U盤的現(xiàn)象,有的儀器又可以;
????????? 2、如KingSton的DataTraveler V3.0,16G的U盤,有的儀器可以讀取,有的儀器無法讀取。
? ? ? ? ? 3、在無法讀取的儀器上連接老舊的U盤,如128MB的U盤,又可以正常使用。
????????? 4、無法讀取的儀器,直接更換CH376芯片,仍然是這個情況!
?分析:1、我們懷疑可能是電源的問題,將電壓直接加到5V,結(jié)果還是不行;
????????????2、使用仿真器查看,情況如下:
????????????儀器先CH376DiskMount() ;? ? ? ????????????????????初始化磁盤并測試磁盤是否就緒,正常;
??????????????????????CH376ReadBlock((uint8_t *)buf );??? ?讀取U盤的廠商和產(chǎn)品信息,正常;
????????????????????? CH376DiskCapacity();? ??????????????檢查U盤或者SD卡的總空間,正常!!
????????????但是,儀器在讀取查詢剩余空間命令時會返回0xA1,好像是未格式化、或者參數(shù)錯誤的問題!
????????????即使用CH376DiskQuery()命令,相當(dāng)于s = CH376SendCmdWaitInt( CMD0H_DISK_QUERY );始終返回0xA1,
????????? ? 3、在未更換CH376芯片前,儀器偶然可以通過,但是出現(xiàn)無法創(chuàng)建文件的現(xiàn)象!
????????????總之,問題比較怪,請問問題大概出在哪里?如何改進???
????????????因為已經(jīng)是成品了,儀器已到用戶手上,現(xiàn)在出現(xiàn)這個問題,很難辦!