CH341ReadEEPROM CH341WriteEEPROM 這2個函數(shù)的返回BOOL永遠(yuǎn)都是1??我試過在不插片和插反時 返回都是1,以至于程序中的錯誤判斷失效,給的例程中的調(diào)試后結(jié)果也一樣!
能給個解惑嗎?謝謝?。?/p>
CH341ReadEEPROM CH341WriteEEPROM 這2個函數(shù)的返回BOOL永遠(yuǎn)都是1??我試過在不插片和插反時 返回都是1,以至于程序中的錯誤判斷失效,給的例程中的調(diào)試后結(jié)果也一樣!
能給個解惑嗎?謝謝?。?/p>
理論上來說是不可能的. CH341ReadEEPROM/CH341WriteEEPROM是調(diào)用的CH341StreamI2C來實現(xiàn)的,當(dāng)讀不到數(shù)據(jù)應(yīng)該返回FALSE
剛才用CH341PAR.EXE測試了一下,在不插EEPROM的情況下去讀,讀出的數(shù)據(jù)全是0xFF,沒有返回FALSE
謝謝!您測試了一下結(jié)果和我的相同,但是返回確實是1!這個返回值是一個 int , typedef int BOOL; 我想能不能改進(jìn)一下這個函數(shù)?這個返回還是很有用的!
你可以通過讀出的數(shù)據(jù)來判斷是否插入EEPROM
那這么說確實是程序的BUG?我想應(yīng)該是沒有檢測應(yīng)答吧? 讀出的數(shù)據(jù)是不好判斷的!
到底怎么解決這個問題呢?怎么沒有繼續(xù)回答了呢?我最近也在糾結(jié)這個問題,就是EEPROM讀寫檢測應(yīng)答位的問題?。?!為什么調(diào)用的API函數(shù)會不檢測應(yīng)答位?這不是與真正的I2C協(xié)議不符么?如果不檢測應(yīng)答位我怎么知道讀出來的數(shù)據(jù)就是正確的?求解?。。?/p>
您可以在你存儲芯片第一次使用時,在某個位置設(shè)個一個非FF的數(shù)據(jù)標(biāo)識,每次使用前,先讀出來判斷一下。
問題是,在某個位置設(shè)個一個非FF的數(shù)據(jù)標(biāo)識,每次使用前,先讀出來判斷一下,萬一讀取這個時正常,再讀其它的時候出問題了,出來是FF,我不知道究竟就是FF呢還是出問題后出來的FF!!!希望沁恒的技術(shù)支持人員能給出解答!