為何CH376獲取大于4G的U盤容量就會(huì)發(fā)生錯(cuò)誤?

使用CMD0H_DISK_QUERY與CMD0H_DISK_CAPACITY指令都是一樣,大于4G的存儲(chǔ)器就顯示接近4G的容量,剩余容量也不對(duì)了,只有小于4G的移動(dòng)存儲(chǔ)器才能正確讀出總?cè)萘颗c剩余容量,是不是CH376的一個(gè)bug???

你可以把4G存儲(chǔ)器送到計(jì)算機(jī)上面去,看下讀取的容量是多少?我們實(shí)際上是按照計(jì)算機(jī)上面的操作步驟來操作U盤的。應(yīng)該不會(huì)出現(xiàn)你說的現(xiàn)象。


用我們提供的程序庫(kù)中的CH376DiskCapacity試試


CMD0H_DISK_QUERY命令獲取U盤的總扇區(qū)數(shù)是多少? 還有你的U盤的扇區(qū)大小是多少?CH376只支持扇區(qū)大小為512字節(jié)的存儲(chǔ)器


謝謝大家的解答,我是一概按照512字節(jié)來計(jì)算,難道大于4G的SD卡和U盤每扇區(qū)不是512字節(jié)?這些卡和U盤在電腦里都能顯示正常的容量,8G的卡讀出扇區(qū)來計(jì)算容量正好差一半這樣,可能每扇區(qū)是1024字節(jié)的了。

不知如何獲取存儲(chǔ)器每扇區(qū)的大???如果無(wú)法獲取的話,移動(dòng)硬盤就難搞了,扇區(qū)大小千差萬(wàn)別。


一般U盤不是大扇區(qū)的,但不能排除,你下載WINHEX軟件,用這個(gè)軟件來打開U盤就可以看到了。另外你把你的程序貼出來看一下。


終于找到問題了,低級(jí)錯(cuò)誤:變量溢出了!??!

保存總字節(jié)數(shù)的變量要聲明為unsigned long long才行,unsigned long 在4G以上就會(huì)溢出。

再次謝謝各位的幫助!


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

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