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

標題: 關于AT24C02的寫入讀取巨坑 [打印本頁]

作者: ping264888    時間: 2019-2-20 08:54
標題: 關于AT24C02的寫入讀取巨坑
這兩天在學習AT24C02, 晶振11.0592MHz 寫了一段代碼, 首先向24C02 0-15地址寫入0-15, 再讀取出來顯示在1602上, 結果發現, 奇數位是正確的, 偶數位錯誤.經排查發現時寫入錯誤, 即本應寫入0123456789abcdef, 實際寫入0520456084ace, 困擾我很久. 今天早上突發奇想, 是不是寫的太快了, 加延時試試看.問題解決....
總結:
24C02在逐位寫入數據時, 必須加延時, 否則器件處理不過來導致偶數位寫入失敗. 手頭的這顆料, 需要加1毫秒延時才能保證寫入正確.
讀取時, 不加延時也能正確讀取到,(可能器件的讀取速度快), 保險起見, 建議加上延時.

以此提醒各位在使用AT24C02時注意寫入延時的問題.

演示代碼:
  1.         for(i=0; i<16; i++)
  2.         {
  3.                 at2402_write(i,i);
  4.                 delayms(1);
  5.         }
  6.        
  7.         for(i=0; i<16; i++)
  8.         {
  9.                 lcdwritechar(2,i,num2str(at2402_read(i)));
  10.         }
復制代碼




作者: 笨笨兔    時間: 2019-2-20 16:59
樓主:
仔細看看 AT24C02 的資料哦。
看資料不仔細是不行的,不能自己想當然!
作者: ping264888    時間: 2019-2-20 20:05
笨笨兔 發表于 2019-2-20 16:59
樓主:
仔細看看 AT24C02 的資料哦。
看資料不仔細是不行的,不能自己想當然!

確實沒怎么注意,原以為24C02的響應速度會很快,單片機應該跟不上。沒想到。。。不管怎么樣,算是一次教訓,以后會多注意響應速度的問題。
作者: static    時間: 2019-2-20 21:22
不是寫與讀要延時
作者: Y_G_G    時間: 2019-2-20 22:20
它本身對于時鐘的響應速度是比較快的,但是,寫入的速度比較慢
但凡用IIC,對于速度就不會是很高的要求,加個延時就好了

作者: xhaity    時間: 2019-2-21 01:00
這不是坑,我記得at24c02 寫周期最長是5ms,數據手冊上有的, 你這個延時1ms也是有風險的;at24c02具有8字節寫模式,連續寫8字節后,需要延時5ms的;字節寫模式也需要等待5ms是比較安全的;如果不等待5ms,再寫下一字節是需要判段應答位的,應答位不對,等待再重新發寫命令才可以的。
作者: iofree    時間: 2019-2-21 10:24
說不上巨坑,只能說摟主對I2C的工作規范不了解,其對脈寬時延是有明確的要求的,其實不光是I2C,所有串行通信都對時序有著比較嚴格的要求,編程時必須按照時序規范要求寫,移植代碼時也要做到心里有數,否則在低速低頻的單片機上工作正常的代碼用到高速高頻的單片機就會出錯
作者: wushiye54    時間: 2019-2-22 19:45
是你自己模擬的時序有問題吧
作者: static    時間: 2019-2-22 22:20
數據手冊上有, 根據手冊上來
作者: static    時間: 2019-2-22 23:49
仔細看看 AT24C02 的資料,真不難
作者: 文文12345    時間: 2019-5-7 19:28
你是怎么知道寫入錯誤的,
作者: ping264888    時間: 2019-5-15 09:07
文文12345 發表于 2019-5-7 19:28
你是怎么知道寫入錯誤的,

進行讀寫測試, 發現讀出來的和寫入的數據不一樣. 奇數地址位的正確, 偶數地址位的不對.
作者: Wprogrammer    時間: 2021-1-5 13:23
我寫一個的時候沒有這個問題 現在我也發現了  連續的寫與讀 要加延時
作者: mvwtest    時間: 2021-1-5 22:16
坑是個好東西,唯希望不是在應用項目中的坑
作者: npn    時間: 2021-1-6 09:53
do while 判斷,寫進去再讀出來,數值不符就重寫。
作者: 沁智戎輝    時間: 2021-3-17 00:45
我試了,要穩定的寫入,得有5個ms延時才行,





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