如題,上位機(jī)是C#寫的,參考CH341PAR這個(gè)源程序,用的是CH341DLL.DLL, 目前讀寫數(shù)據(jù)正常。
現(xiàn)在需要知道I2C讀寫EEPROM時(shí)什么時(shí)候結(jié)束,好顯示進(jìn)度條,請(qǐng)知道的朋友指點(diǎn)下,謝謝!
您好,可以讀寫EEPROM時(shí)一般根據(jù)型號(hào)預(yù)先指導(dǎo)器件的內(nèi)部容量。然后通訊時(shí)根據(jù)已編程字節(jié)數(shù)與總?cè)萘恐g進(jìn)行比例換算。
謝謝,那就是用時(shí)間來估算是否讀寫完成,DLL沒有狀態(tài)可以讀,是吧?
您好,如上的I2C讀寫函數(shù)返回即代表當(dāng)前數(shù)據(jù)長(zhǎng)度的I2C通訊已經(jīng)完成,但根據(jù)上面提到的需求需要知道整體進(jìn)度,所以肯定要先確定EEPROM總?cè)萘康摹?/p>
可以了,在讀寫EEPROM線程里面,函數(shù)返回就是通訊結(jié)束,謝謝!
另外請(qǐng)教能否修改讀寫的時(shí)間,現(xiàn)在客戶反饋燒寫時(shí)間太長(zhǎng),希望加快些
您好,CH341DLL提供I2C的速率設(shè)定API,可以調(diào)用該接口函數(shù)將I2C的速率設(shè)置為高速。具體如下:
BOOL????WINAPI??CH341SetStream(??//?設(shè)置串口流模式
????ULONG???????????iIndex,??//?指定CH341設(shè)備序號(hào)
????ULONG???????????iMode?);??//?指定模式,見下行
//?位1-位0:?I2C接口速度/SCL頻率,?00=低速/20KHz,01=標(biāo)準(zhǔn)/100KHz(默認(rèn)值),10=快速/400KHz,11=高速/750KHz
//?位2:?????SPI的I/O數(shù)/IO引腳,?0=單入單出(D3時(shí)鐘/D5出/D7入)(默認(rèn)值),1=雙入雙出(D3時(shí)鐘/D5出D4出/D7入D6入)
//?位7:?????SPI字節(jié)中的位順序,?0=低位在前,?1=高位在前
//?其它保留,必須為0
若速度仍不能滿足您的需求,可隨時(shí)與我溝通反饋,我們會(huì)針對(duì)您的需求評(píng)估有無更合適的方案。