色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于1I2C讀寫EEPROM基礎原理

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2022-03-09 17:14 ? 次閱讀

相信很多讀者都使用過類似AT24C0x這種使用I2C讀寫的EEPROM,在項目中,使用不當就容易導致數據丟失,或者異常的情況。

今天就來講講關于EEPROM的內容。

1I2C讀寫EEPROM基礎原理

市面上大部分使用I2C通信的EEPROM,控制時序和讀寫流程都基本相同。

I2C通信原理,說簡單不簡單,但說難也不難,主要理解基礎原理和時序即可。

2EEPROM底層驅動

真正實際做過項目的人都知道,好的底層驅動,會給上層應用開發帶來很大便利,節省開發時間,以及減少bug發生率。

而大部分初學者,或者應屆畢業生從事相關開發,一般很少考慮代碼的移植性,復用性,或者說容錯處理等問題。

下面,我簡單列兩點我在項目中,對EEPROM常用的幾項操作。

1.寫,再讀,驗證寫入成功

這種方法很好理解:寫入之后,再次讀去這部分數據,進行一一匹配,驗證是否與寫入數據一致。

一般我是會重復操作3次,也就是說:寫入,再讀取,如果超過3次都還失敗,那么我則放棄寫入,認為寫入失敗,或芯片異常。

這個方法可以簡單解決因異常導致寫入失敗的問題。

2.添加校驗信息

在上面一層讀驗證基礎上,對保存一些參數,我一般還會:在參數末尾添加類似“和校驗”,或“CRC校驗”。

假如你連續存儲一個有10字節的參數(數據結構),如果因異常修改了中間某一個字節參數,你讀出來進行校驗,發現不對,則認為這個參數無效。

添加這個校驗的目的相信從上面我舉例已經明白,就是解決多字節參數中某個字節被惡意修改,導致這個參數無效的問題。

3.EEPROM在多任務中添加互斥鎖

使用過操作系統的朋友都知道,多線程訪問一個資源,一般都存在互斥的關系。簡單的說:一個資源,在同一時刻,只能被一個線程操作。

那EEPROM舉例:線程A在往EEPROM寫10字節數據,剛6個字節時,線程B想要搶占,往EEPROM寫入數據。你覺得線程A應不應該放棄I2C總線,讓線程B寫入呢?

答案肯定是不允許的,所以,就有了互斥鎖這么一說。也就是等先占用I2C總線的線程操作完,才釋放總線,讓其他線程進行操作。

這三點應該是我比較常用了,網上還有其他一些相關的容錯處理機制,感興趣的不妨搜索一下。

我這里就不貼代碼了,因芯片型號不同,應用不同,代碼就存在差異。但我們目的:在保證滿足應用的同時,需考慮代碼的移植、復用、以及容錯。

3I2C選擇硬件、軟件?

我們代碼應該使用硬件I2C?還是軟件模擬I2C?

這個問題有許多朋友都在問,說句實話,遇到這類有爭議的問題,一般來說,需要結合項目實際情況,比如速度、實時性、移植性等。

我遇到這類問題,一般會根據實際情況而定。比如:你的I2C產品要提供給一些不同平臺用戶,進行二次開發,我覺得軟件IO模擬比較好,方便用戶嘛。

假如你們公司開發的產品都使用STM32這家公司芯片開發I2C產品,我覺得,你代碼可以使用硬件I2C。

原文標題:嵌入式開發 | EEPROM驅動代碼常見操作

文章出處:【微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭菁
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7134

    瀏覽量

    89402
  • 軟件
    +關注

    關注

    69

    文章

    5007

    瀏覽量

    87950
  • EEPROM
    +關注

    關注

    9

    文章

    1033

    瀏覽量

    81848
收藏 人收藏

    評論

    相關推薦

    i2cEEPROM讀寫,計數

    i2cEEPROM讀寫,計數,附程序代碼
    發表于 11-30 15:01

    讀寫EEPROM

    STM32學習筆記(9)——(I2C續)讀寫EEPROM一、概述1. 背景介紹2. EEPROM簡介二、AT24
    發表于 08-23 08:03

    I2C協議以及I2C讀寫EEPROM

    I2C協議以及I2C讀寫EEPROM實驗文章目錄I2C協議以及I2C
    發表于 08-23 08:25

    如何通過i2c連續讀寫eeprom?

    我用verilog自制了一個i2c模塊,將電路下載到fpga中,在讀寫eeprom時出現問題,不能連續讀寫,如果單獨讀寫一個字節,即隨機
    發表于 03-29 10:22

    EEPROM 按鈕讀寫程序 【C語言版】

    EEPROM 按鈕讀寫程序 【C語言版】,感興趣的可以下載來看看。
    發表于 12-30 13:49 ?0次下載

    EEPROM 按鈕讀寫程序 【C與匯編對照版】

    EEPROM 按鈕讀寫程序 【C與匯編對照版】,多種集合,符合同時愛好C語言+匯編的學習者的胃口。
    發表于 12-31 10:28 ?0次下載

    EEPROM基于I~2C總線的一種讀寫方法

    EEPROM基于I~2C總線的一種讀寫方法
    發表于 09-21 08:49 ?5次下載
    <b class='flag-5'>EEPROM</b>基于<b class='flag-5'>I</b>~2<b class='flag-5'>C</b>總線的一種<b class='flag-5'>讀寫</b>方法

    I2C讀寫EEPROM

    【*】程序簡介 -工程名稱:基本讀寫EEPROM -實驗平臺: 秉火STM32 F429 開發板 -MDK版本:5.16 -ST固件庫版本:1.5.1 【 !】功能簡介: 讀寫板載的 I2C
    發表于 12-13 15:12 ?23次下載

    應廣單片機系列——用I2C接口讀寫EEPROM

    注:本文是作者以前發表在其個人博客,現在發布到電子發燒友專欄? ? ? 本例是用針對標準I2C接口EEPROM存儲器24C02進行讀寫操作,只要對例程做適當修改,就可以用到大部分控制
    的頭像 發表于 10-17 15:43 ?6362次閱讀

    STM8S_010_I2C讀寫EEPROM (硬件方式)

    STM8S_010_I2C讀寫EEPROM(硬件方式)
    的頭像 發表于 03-14 14:54 ?4116次閱讀

    STM32F10x _硬件I2C讀寫EEPROM(標準外設庫版本)

    STM32F10x_硬件I2C讀寫EEPROM(標準外設庫版本)
    的頭像 發表于 03-25 11:11 ?1w次閱讀
    STM32F10x _硬件<b class='flag-5'>I2C</b><b class='flag-5'>讀寫</b><b class='flag-5'>EEPROM</b>(標準外設庫版本)

    STM32F10x_ 模擬I2C讀寫EEPROM

    STM32F10x_模擬I2C讀寫EEPROM
    的頭像 發表于 03-25 11:13 ?1w次閱讀
    STM32F10x_ 模擬<b class='flag-5'>I2C</b><b class='flag-5'>讀寫</b><b class='flag-5'>EEPROM</b>

    關于EEPROM讀寫與數碼管顯示實驗

    關于EEPROM讀寫與數碼管顯示實驗(嵌入式開發平臺圖片)-關于EEPROM讀寫與數碼管顯示實驗
    發表于 08-04 12:00 ?9次下載
    <b class='flag-5'>關于</b><b class='flag-5'>EEPROM</b><b class='flag-5'>讀寫</b>與數碼管顯示實驗

    STM32學習之I2C協議(讀寫EEPROM

    關于STM32學習分享第七章 I2C協議(讀寫EEPROM)文章目錄關于STM32學習分享前言二、代碼1
    發表于 11-30 15:21 ?32次下載
    STM32學習之<b class='flag-5'>I2C</b>協議(<b class='flag-5'>讀寫</b><b class='flag-5'>EEPROM</b>)

    CW32單片機I2C接口讀寫EEPROM芯片介紹

    CW32單片機I2C接口讀寫EEPROM芯片介紹
    的頭像 發表于 11-09 17:42 ?1127次閱讀
    CW32單片機<b class='flag-5'>I2C</b>接口<b class='flag-5'>讀寫</b><b class='flag-5'>EEPROM</b>芯片介紹
    主站蜘蛛池模板: 亚洲欧洲精品A片久久99 | 亚洲午夜无码久久久久蜜臀av | 暖暖视频中国在线观看免费韩国 | 国产精品大陆在线视频 | 久久不射视频 | 午夜性爽视频男人的天堂在线 | 色悠久久久久综合欧美99 | 成人国产三级在线播放 | 人与禽交3d动漫羞羞动漫 | 夜夜澡人人爽人人喊_欧美 夜夜骑夜夜欢 | 亚洲三级视频在线 | 色哒哒影院 | 香蕉eeww99国产精选播放 | 另类重口bdsm日本tv | 久久中文字幕免费视频 | 亚洲午夜久久久无码精品网红A片 | 国产AV国片精品无套内谢无码 | 乱码国产丰满人妻WWW | 5G在线观看免费年龄确认18 | 日本VA在线视频播放 | 国产成人免费高清激情视频 | 成片在线看一区二区草莓 | 在线视频 日韩视频二区 | 在线播放av欧美无码碰 | 黄色三级三级三级免费看 | 亚洲字幕在线观看 | 欧美jizz19性欧美 | 538在线视频一区二区视视频 | 亚洲福利区 | 欧美群交XXXCOM | 国产免费不卡 | 色欲天天天综合网免费 | 我与旗袍老师疯狂床震 | 日韩精品真人荷官无码 | 日本亚洲中文字幕无码区 | 亚洲热在线视频 | 思思久久99热只有频精品66 | 午夜色情影院色a国产 | 国产精品国产三级国AV在线观看 | AV无码久久无遮挡国产麻豆 | 麻豆第一区MV免费观看网站 |