精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

在一個I2C例程上面修改代碼來實現24C02的讀寫

冬至配餃子 ? 來源:TopSemic嵌入式 ? 作者:TopSemic ? 2022-08-16 10:29 ? 次閱讀

1.24C02介紹

24C02 現在基本是開發板的標配,對于需要掉電存儲的應用來說確是不二選擇。現在單片機因為內部集成了Flash存儲器,一般也都支持數據的掉電保存,但相對于 24C02 這種 EEPROM 來說,使用單片機內部的 Flash 有一些需要注意的問題:

a.Flash 寫入數據之前需要先執行擦除操作,而且擦除以扇區為單位。

b.Flash讀寫次數比 EEPROM 少很多。

c.容易誤操作,把 Flash 內部的代碼擦除掉。

d.影響中斷的響應時間。

24C02 有 256 字節的數據,一般說來也夠用了。它的地址是可以通過引腳配置的,這樣一條 I2C 總線上就可以掛多個 24C02。如下:

pYYBAGL7AACAYNEWAABapDi8x0k434.png

我們把 A2,A1,A0 都接地,這樣地址為 A0。然后 SCL,SDA 腳接 MCU 的 PB8 和 PB9。需要注意 SCL,和 SDA 需要加上拉電阻

pYYBAGL7ABOAXgsKAABsue0eduU211.png

2.代碼

下面我們在一個 I2C 例程上面修改代碼來實現 24C02 的讀寫。大家可以看到使用庫函數的好處,基本上不用看 STM32F030 的手冊,很快就能實現我們想要實現的功能。我們用 Keil 打開下面這個工程:

STM32Cube_FW_F0_V1.11.0\Projects\STM32F030R8-Nucleo\Examples\I2C\I2C_TwoBoards_ComPolling\MDK-ARM\Project.uvprojx

Step 1, 把 I2C 地址改為跟我們硬件一致:

poYBAGL7ACWAeH2nAABYV1lkpic757.png

Step 2, 根據實際使用的 I2C 模塊和引腳進行配置:

pYYBAGL7ADaAKk4GAAEXOPV0b6w844.png

Step 3, 把地址模式改為 7BIT:

poYBAGL7AEeAVqI4AADGkqL7aVA486.png

Step 4, 操作EEPROM,我們不使用例子中的 HAL_I2C_Master_Transmit 和 HAL_I2C_Master_Receive,這兩個函數適用于兩個 I2C 器件之間進行數據傳輸。我們這里要用的是下面這兩個函數:

poYBAGL7AG2AB_bwAAE9YeH73_Q187.pngpYYBAGL7AHSAAv2GAABpt6Ygca4396.png

在此我們寫入數據用的 24C02 的 Page Write 命令,每次寫入 8個字節的數據,然后存儲器寫入地址加 8。要注意每次執行完寫入命令后,需要有一個延時,等待 EEPROM 內部處理完該指令后才能繼續寫入。這個延時要查手冊,不同的廠家可能有不同的數值。讀出時可以連續的讀出數據,無需等待。

poYBAGL7AIWAVg14AABJTAEjObc118.png

下面是寫入數據的波形,0xA0 是器件地址,0x28 是 24C02 內部存儲器地址,之后是 8個字節數據。

poYBAGL7AJWAMaIcAABVbpfBu7A630.png

讀出數據的波形:

poYBAGL7AKSASnwjAABVoDhhay0295.png

注意:

在使用硬件 I2C 操作時,有時候會遇到死鎖問題。在此情況下,可以把 SCL,SDA 引腳初始化為 GPIO,如此例中的 PB8, PB9 然后連續翻轉 SCL 引腳送出 9 個時鐘脈沖,既可以使 I2C 從死鎖的狀態復位。然后再重新初始化 I2C 模塊,進入正常 I2C 操作。



審核編輯:劉清

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

    關注

    9

    文章

    1010

    瀏覽量

    81413
  • Flash存儲器
    +關注

    關注

    3

    文章

    104

    瀏覽量

    25717
  • GPIO
    +關注

    關注

    16

    文章

    1196

    瀏覽量

    51922
  • STM32F030
    +關注

    關注

    1

    文章

    33

    瀏覽量

    6633
收藏 人收藏

    評論

    相關推薦

    求F0系列的24c02I2C讀寫程序

    跪求STM32 F0系列的24c02I2C讀寫程序,謝謝了。希望有朋友能幫幫我,在此謝過了。
    發表于 01-10 09:02

    分享嵌入式linux讀寫24c02i2c程序

    這里分享嵌入式linux讀寫24c02i2c程序ioctl函數的使用:原型:struct ioctl(struct file *fil
    發表于 11-04 07:53

    MindSDK下的I2C讀寫24c02測試學習資料分享

    1、MindSDK下的I2C讀寫24c02測試學習  * 硬件電路  開發板上I2C硬件電路  使用PC6和PC7端口的I2C1接口  原作
    發表于 09-02 15:47

    24c02/24c01/24c04讀寫程序

    24c02/24c01/24c04  I2C EEPROM字節讀寫驅動程序,芯片A0-A1-A
    發表于 10-07 12:39 ?19次下載

    24C02讀寫操作程序(C語言)

    24C02讀寫操作程序.c #define uchar unsigned char#define uint unsigned int#i nclude
    發表于 01-16 11:49 ?1.1w次閱讀

    PIC單片機的I2C 24LC02 C讀寫程序

    PIC單片機的I2C 24LC02 C讀寫程序 1   I2C總線特點   
    發表于 10-30 08:27 ?5386次閱讀

    HL配套C實驗例程24c02存儲器讀寫基本驅動

    HL配套C實驗例程24c02存儲器讀寫基本驅動2,配合開發板學習效果更好。
    發表于 04-11 17:04 ?10次下載

    24c02基礎程序

    24c02寫入調用程序 用于初次接觸24c02 學習24c02用的
    發表于 07-12 15:14 ?24次下載

    單片機模擬I2C總線及24C02讀寫實例(c代碼),24C02 read / write process

    ) 單片機模擬I2C總線及24C02(I2C EEPROM)讀寫實例(c
    的頭像 發表于 09-20 19:41 ?1921次閱讀

    24C02讀寫操作程序設計實例,24C02 read / write process

    );? //從24c02的地址address中讀取一個字節數據void x24c02_write(uchar address,uchar info);? //向24c02的addres
    的頭像 發表于 09-20 19:41 ?1509次閱讀

    24c02讀寫程序(已通過測試),24C02 read / write process

    24c02讀寫程序(已通過測試),24C02 read / write process 關鍵字:24c02讀寫
    的頭像 發表于 09-20 19:41 ?2579次閱讀

    24C02讀寫匯編程序,24C02 read / write process

    ? ;簡潔的24C02讀寫匯編程序?;-------------------------------------------- ??? I2C_SDA????????? EQU P1.6
    的頭像 發表于 09-20 19:42 ?1213次閱讀

    嵌入式linux應用讀寫i2c示例

    這里分享嵌入式linux讀寫24c02i2c程序ioctl函數的使用:原型:struct ioctl(struct file *fil
    發表于 11-01 16:57 ?12次下載
    嵌入式linux應用<b class='flag-5'>讀寫</b><b class='flag-5'>i2c</b>示例

    STM32f103系列i2c讀寫文件at24c02

    STM32f103系列i2c讀寫文件at24c02免費下載。
    發表于 03-04 09:43 ?24次下載

    24C02的秘密

    本文主要介紹了下目前市場上面24C02幾種打線方式的區別,有利于消費者芯片選型替代、電路設計、軟件編程的注意些細節,另外就是給出了用
    的頭像 發表于 11-28 11:40 ?5648次閱讀