欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 對于AT24C02的大問題 [打印本頁]

作者: 藍魄    時間: 2016-12-13 23:00
標題: 對于AT24C02的大問題
搞了個IIC協議的24C02.但是發現我在寫器件地址時低三位不對也能寫入數據。比如0xa6.已知24C02的三只地址引腳全部接地。而高四位是固定的a。低三位是任何數都可以寫。很奇怪。而且用了例程來改了器件地址也是一樣。流程如下:起始信號>寫器件地址>讀應答信號>寫寄存器地址>讀應答信號>寫數據>寫應答>停止信號             主要是在第一個寫器件地址的時候寫入0xa6也能收到應答信號。實在不明。請大神賜教!
作者: admin    時間: 2017-1-6 23:22
把你的程序帖出來看看
作者: 不倒翁.WZT    時間: 2017-1-7 08:14
標題: RE: 對于AT24C02的大問題
你說的對,確實是這樣,改成a6、ac照樣存入和取出。我想是否因為開發板上只有一只器件所致,如果多接幾只情況是否不是這樣。
作者: MYZGY    時間: 2017-2-9 17:23
我也遇到過這樣的現象,實在是不明白是什么原因造成的。你后來有怎么解訣的嗎?
作者: 我也喜歡    時間: 2017-2-9 19:52
理論上說可以連8片,沒有實驗過這個器件地址,改天我也試試,
作者: shuaigew88    時間: 2017-9-9 21:14
請問這個問題你解決了沒有?我也遇到同樣問題,現在的結果就是AT24C02干擾總線上其他IIC器件。
作者: Sawardeakar    時間: 2019-1-29 01:10
你們這理解有錯誤
看下面例子

void  main()
{
        uchar temp=0;
        SDA=1;   //對兩功能引腳進行初始化
        SCL=1;
        iic_Put(0xa0,0x00,0x55);
        delay(50);                       
        //此延時非常重要,數據寫進EEPROM后要延遲一段時間才能進行讀。
        temp=iic_Rev(0xa0,0x00);
        while(1)
        {               
                P0 = temp;
        }
}

0xa0是器件之間的區別地址,他決定了你數據要放入哪一個24C02,因為都是單總線,所以有一個區分號(器件地址),這個錯了讀與寫都進行不了。0x00才是存放數據的地址,也就是說0x55要放到他那里去。
因此這個器件在寫數據時是要寫兩種地址的




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1