|
發(fā)布時間: 2019-9-2 22:59
正文摘要:IIC連續(xù)讀的問題,請大家?guī)兔匆幌逻@個程序為什么只能讀一個字節(jié),哪里錯了,,還有程序有什么不太好的地方可以修改,不要重新寫的,要在我原有的程序修改并注釋,這樣我才能看的懂,謝謝 #includ ... |
| 很好,只要端口反轉(zhuǎn)時間不低于要求就行 |
| 樓主問題解決了嗎?我也遇見了同樣的問題 |
|
void AT24C02_readData(uchar beginAddr, uchar dataSize) { uchar i=0; start(); write_1(0xa0); ack(); write_1(beginAddr); ack(); start(); write_1(0xa1); ack(); while(dataSize--) //你上面main里給你參數(shù)是2,就是里面循環(huán)了兩次 { *(buf+i)=read_1(); i++; Send_ack(); //讀兩次是發(fā)一個ACK加一個Nack; } nack(); stop(); Delay1(1); } |
| 不用想了,沒辦法,最后用單字節(jié)讀再加個循環(huán)搞定,就是有點浪費資源 |
| 延時的問題試了,除非還有什么我不知道的地方,不然還是不行 |
zhy123654 發(fā)表于 2019-9-3 17:52 建議讀操作之間加一些延時嘗試一下 |
ping264888 發(fā)表于 2019-9-3 12:52 現(xiàn)象是這樣,寫進去后,我用單字節(jié)讀,就沒問題,比如 buf[0]=IIC_read(0 ); buf[1]=IIC_read(1 ); buf[2]=IIC_read(2 ); buf[3]=IIC_read(3 ); 這樣就行,所以覺得還是連讀函數(shù)有問題 |
|
嗯, 你看看是不是操作太快導(dǎo)致的, 我之前就遇到過. http://www.raoushi.com/bbs/dpj-151160-1.html |
xhaity 發(fā)表于 2019-9-3 10:11 是這樣的,我把4個都寫進去,然后再讀出來,我先顯示buf[0]是正確的,然后我又顯示buf[1],結(jié)果就不對了 |
| 不是只讀一個,你是只顯示一位 |
Powered by 單片機教程網(wǎng)