Ch375能正確讀取到U盤的容量但在讀取U盤數(shù)據(jù)時(shí)(512byte)能產(chǎn)生USB_INT_DISK_READ 中斷,讀完數(shù)據(jù)后卻不產(chǎn)生USB_INT_SUCCESS中斷,第一次讀完512字節(jié)數(shù)據(jù)后發(fā)送DISK_RD_GO命令,卻能產(chǎn)生USB_INT_SUCCESS中斷,第二次讀完512字節(jié)數(shù)據(jù)后發(fā)送DISK_RD_GO命令,卻產(chǎn)生USB_INT_DISK_ERR中斷,讀完數(shù)據(jù)不發(fā)送任何命令就不產(chǎn)生任何中斷,讀取到的數(shù)據(jù)很大一部分都是不對(duì);一直調(diào)試不出來(lái);
追加:讀取完U盤數(shù)據(jù)后理論上會(huì)產(chǎn)生USB_INT_SUCCESS中斷,不知道為什么讀取完數(shù)據(jù)后不產(chǎn)生任何中斷;
因?yàn)槲覀僀H375讀緩沖區(qū)大小為64個(gè)字節(jié),一個(gè)扇區(qū)數(shù)據(jù)需要分8次讀寫,除第一次其他每次都需要發(fā)送DISK_RD_GO的命令來(lái)等中斷,繼續(xù)讀是USB_INT_DISK_READ,讀完之后是USB_INT_SUCCESS。
也就是說(shuō)第8次讀完之后還得發(fā)送DISK_RD_GO的命令來(lái)等USB_INT_SUCCESS中斷嗎?數(shù)據(jù)讀完之后大部分?jǐn)?shù)據(jù)不對(duì),只有小部分?jǐn)?shù)據(jù)是對(duì)的,Ch375有沒(méi)存在兼容性問(wèn)題?
你是讀取U盤的物理扇區(qū)的數(shù)據(jù)嗎?那么你每次讀取64字節(jié)之后發(fā)送read_go的命令產(chǎn)生中斷沒(méi)有?
是的,是讀取U盤的物理扇區(qū)的數(shù)據(jù);發(fā)送DISK_RD_GO命令后會(huì)產(chǎn)生中斷
那你用WINHEX軟件看下U盤的物理的第0號(hào)扇區(qū)的數(shù)據(jù)??聪潞湍阕x取的數(shù)據(jù)是否一致,不能看邏輯的第0號(hào)扇區(qū)的數(shù)據(jù)。
我有查看了數(shù)據(jù)很小的部分一樣,大多數(shù)都不一樣,如果讀1扇區(qū),數(shù)據(jù)沒(méi)一個(gè)一樣的;我使用的是4G的U盤,能讀取到U盤的容量;換16G的也是可以讀取到容量,但數(shù)據(jù)讀取就是不正確;CH375這款芯片是否存在兼容性的問(wèn)題?
按照你的描述不像是USB部分出現(xiàn)了問(wèn)題,建議你查看下接口部分是否有問(wèn)題。