1EEPROM 簡介
EEPROM全稱為EEPROM(Electrically Erasable Programmable Read Only Memory)是電可擦除可編程只讀存儲器。雖然名稱為只讀存儲器,但是擦除和寫入都是直接使用電路控制,不需要再使用外部設(shè)備來擦寫,即設(shè)備在運行過程中即可隨時擦除和寫入??梢园醋止?jié)為單位修改數(shù)據(jù),無需整個芯片擦除,且掉電后數(shù)據(jù)不丟失,一般用來存儲一些配置信息,以便系統(tǒng)重新上電的時候加載。
2EPROM 操作說明
2.1 通訊方式
主要通訊方式有 I2C 和 SPI 協(xié)議,本文將介紹如何通過 I2C 來驅(qū)動EEPROM。
2.2 設(shè)備地址
如果僅接入一個AT24C02,可以將設(shè)備的A0、A1、A2引腳全部接入低電平,那么此時該設(shè)備的地址為0xA0。
? ?
2.3 I2C配置流程
開時鐘,外設(shè)清零,參數(shù)配置,初始化,引腳配置,使能
? ?
2.4 寫入數(shù)據(jù)
寫入一個字節(jié):
MCU先向AT24C02寫入一個地址,然后再寫入數(shù)據(jù)。
寫入一頁:
MCU先向AT24C02寫入一個地址,然后再依次寫入數(shù)據(jù),注意AT24C02一頁有8個字節(jié),每頁開始地址均是8的整數(shù)倍,一次頁寫入操作地址不能超過當(dāng)前頁的尾地址。
連續(xù)寫入:
AT24C02本身沒有提供連續(xù)寫入的操作,因此必須先將數(shù)據(jù)按頁地址分為若干頁,然后再依次調(diào)用頁寫入操作進(jìn)行寫入。
? ?
2.5 讀出數(shù)據(jù)
讀取當(dāng)前字節(jié):
MCU直接發(fā)起讀操作,設(shè)備返回當(dāng)前字節(jié),當(dāng)前字節(jié)自動加1,該操作較少使用。
讀取指定地址一個字節(jié):
MCU先向AT24C02寫入一個地址,然后再發(fā)起一個讀操作,AT24C02返回該地址存儲的字節(jié)。
連續(xù)讀?。?/strong>
MCU發(fā)起讀當(dāng)前字節(jié),或者讀指定地址字節(jié),設(shè)備返回數(shù)據(jù),MCU發(fā)送ACK,設(shè)備繼續(xù)返回后續(xù)地址數(shù)據(jù),直到MCU發(fā)送NACK,設(shè)備不再返回數(shù)據(jù)。
? ?
2.6 樣例測試
初始化兩個數(shù)組,配置I2C,調(diào)用寫入和讀取的函數(shù)操作EEPROM,通過串口打印觀察結(jié)果。
運行實例
審核編輯:湯梓紅
-
芯片
+關(guān)注
關(guān)注
452文章
50206瀏覽量
420838 -
存儲器
+關(guān)注
關(guān)注
38文章
7430瀏覽量
163514 -
通訊
+關(guān)注
關(guān)注
9文章
890瀏覽量
34810 -
EEPROM
+關(guān)注
關(guān)注
9文章
1008瀏覽量
81332 -
I2C
+關(guān)注
關(guān)注
28文章
1477瀏覽量
123052
原文標(biāo)題:靈動微課堂 (第256講)|MM32G0140 I2C驅(qū)動EEPROM
文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動MM32MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論