在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在一個(gè)I2C例程上面修改代碼來(lái)實(shí)現(xiàn)24C02的讀寫(xiě)

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

1.24C02介紹

24C02 現(xiàn)在基本是開(kāi)發(fā)板的標(biāo)配,對(duì)于需要掉電存儲(chǔ)的應(yīng)用來(lái)說(shuō)確是不二選擇。現(xiàn)在單片機(jī)因?yàn)閮?nèi)部集成了Flash存儲(chǔ)器,一般也都支持?jǐn)?shù)據(jù)的掉電保存,但相對(duì)于 24C02 這種 EEPROM 來(lái)說(shuō),使用單片機(jī)內(nèi)部的 Flash 有一些需要注意的問(wèn)題:

a.Flash 寫(xiě)入數(shù)據(jù)之前需要先執(zhí)行擦除操作,而且擦除以扇區(qū)為單位。

b.Flash讀寫(xiě)次數(shù)比 EEPROM 少很多。

c.容易誤操作,把 Flash 內(nèi)部的代碼擦除掉。

d.影響中斷的響應(yīng)時(shí)間。

24C02 有 256 字節(jié)的數(shù)據(jù),一般說(shuō)來(lái)也夠用了。它的地址是可以通過(guò)引腳配置的,這樣一條 I2C 總線上就可以掛多個(gè) 24C02。如下:

pYYBAGL7AACAYNEWAABapDi8x0k434.png

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

pYYBAGL7ABOAXgsKAABsue0eduU211.png

2.代碼

下面我們?cè)谝粋€(gè) I2C 例程上面修改代碼來(lái)實(shí)現(xiàn) 24C02 的讀寫(xiě)。大家可以看到使用庫(kù)函數(shù)的好處,基本上不用看 STM32F030 的手冊(cè),很快就能實(shí)現(xiàn)我們想要實(shí)現(xiàn)的功能。我們用 Keil 打開(kāi)下面這個(gè)工程:

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, 根據(jù)實(shí)際使用的 I2C 模塊和引腳進(jìn)行配置:

pYYBAGL7ADaAKk4GAAEXOPV0b6w844.png

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

poYBAGL7AEeAVqI4AADGkqL7aVA486.png

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

poYBAGL7AG2AB_bwAAE9YeH73_Q187.pngpYYBAGL7AHSAAv2GAABpt6Ygca4396.png

在此我們寫(xiě)入數(shù)據(jù)用的 24C02 的 Page Write 命令,每次寫(xiě)入 8個(gè)字節(jié)的數(shù)據(jù),然后存儲(chǔ)器寫(xiě)入地址加 8。要注意每次執(zhí)行完寫(xiě)入命令后,需要有一個(gè)延時(shí),等待 EEPROM 內(nèi)部處理完該指令后才能繼續(xù)寫(xiě)入。這個(gè)延時(shí)要查手冊(cè),不同的廠家可能有不同的數(shù)值。讀出時(shí)可以連續(xù)的讀出數(shù)據(jù),無(wú)需等待。

poYBAGL7AIWAVg14AABJTAEjObc118.png

下面是寫(xiě)入數(shù)據(jù)的波形,0xA0 是器件地址,0x28 是 24C02 內(nèi)部存儲(chǔ)器地址,之后是 8個(gè)字節(jié)數(shù)據(jù)。

poYBAGL7AJWAMaIcAABVbpfBu7A630.png

讀出數(shù)據(jù)的波形:

poYBAGL7AKSASnwjAABVoDhhay0295.png

注意:

在使用硬件 I2C 操作時(shí),有時(shí)候會(huì)遇到死鎖問(wèn)題。在此情況下,可以把 SCL,SDA 引腳初始化為 GPIO,如此例中的 PB8, PB9 然后連續(xù)翻轉(zhuǎn) SCL 引腳送出 9 個(gè)時(shí)鐘脈沖,既可以使 I2C 從死鎖的狀態(tài)復(fù)位。然后再重新初始化 I2C 模塊,進(jìn)入正常 I2C 操作。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • EEPROM
    +關(guān)注

    關(guān)注

    9

    文章

    1027

    瀏覽量

    81770
  • Flash存儲(chǔ)器
    +關(guān)注

    關(guān)注

    3

    文章

    105

    瀏覽量

    25804
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1215

    瀏覽量

    52224
  • STM32F030
    +關(guān)注

    關(guān)注

    1

    文章

    33

    瀏覽量

    6696
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    求F0系列的24c02I2C讀寫(xiě)程序

    跪求個(gè)STM32 F0系列的24c02I2C讀寫(xiě)程序,謝謝了。希望有朋友能幫幫我,在此謝過(guò)了。
    發(fā)表于 01-10 09:02

    分享個(gè)嵌入式linux讀寫(xiě)24c02i2c程序

    這里分享個(gè)嵌入式linux讀寫(xiě)24c02i2c程序ioctl函數(shù)的使用:原型:struct ioctl(struct file *fil
    發(fā)表于 11-04 07:53

    MindSDK下的I2C讀寫(xiě)24c02測(cè)試學(xué)習(xí)資料分享

    1、MindSDK下的I2C讀寫(xiě)24c02測(cè)試學(xué)習(xí)  * 硬件電路  開(kāi)發(fā)板上I2C硬件電路  使用PC6和PC7端口的I2C1接口  原作
    發(fā)表于 09-02 15:47

    24c02/24c01/24c04讀寫(xiě)程序

    24c02/24c01/24c04  I2C EEPROM字節(jié)讀寫(xiě)驅(qū)動(dòng)程序,芯片A0-A1-A
    發(fā)表于 10-07 12:39 ?19次下載

    24C02讀寫(xiě)操作程序(C語(yǔ)言)

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

    PIC單片機(jī)的I2C 24LC02 C讀寫(xiě)程序

    PIC單片機(jī)的I2C 24LC02 C讀寫(xiě)程序 1   I2C總線特點(diǎn)   
    發(fā)表于 10-30 08:27 ?5400次閱讀

    HL配套C實(shí)驗(yàn)例程24c02存儲(chǔ)器讀寫(xiě)基本驅(qū)動(dòng)

    HL配套C實(shí)驗(yàn)例程24c02存儲(chǔ)器讀寫(xiě)基本驅(qū)動(dòng)2,配合開(kāi)發(fā)板學(xué)習(xí)效果更好。
    發(fā)表于 04-11 17:04 ?10次下載

    24c02基礎(chǔ)程序

    24c02寫(xiě)入調(diào)用程序 用于初次接觸24c02 學(xué)習(xí)24c02用的
    發(fā)表于 07-12 15:14 ?24次下載

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

    ) 單片機(jī)模擬I2C總線及24C02(I2C EEPROM)讀寫(xiě)實(shí)例(c
    的頭像 發(fā)表于 09-20 19:41 ?1966次閱讀

    24C02讀寫(xiě)操作程序設(shè)計(jì)實(shí)例,24C02 read / write process

    );? //從24c02的地址address中讀取一個(gè)字節(jié)數(shù)據(jù)void x24c02_write(uchar address,uchar info);? //向24c02的addres
    的頭像 發(fā)表于 09-20 19:41 ?1563次閱讀

    24c02讀寫(xiě)程序(已通過(guò)測(cè)試),24C02 read / write process

    24c02讀寫(xiě)程序(已通過(guò)測(cè)試),24C02 read / write process 關(guān)鍵字:24c02讀寫(xiě)
    的頭像 發(fā)表于 09-20 19:41 ?2664次閱讀

    24C02讀寫(xiě)匯編程序,24C02 read / write process

    ? ;簡(jiǎn)潔的24C02讀寫(xiě)匯編程序?;-------------------------------------------- ??? I2C_SDA????????? EQU P1.6
    的頭像 發(fā)表于 09-20 19:42 ?1250次閱讀

    嵌入式linux應(yīng)用讀寫(xiě)i2c示例

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

    STM32f103系列i2c讀寫(xiě)文件at24c02

    STM32f103系列i2c讀寫(xiě)文件at24c02免費(fèi)下載。
    發(fā)表于 03-04 09:43 ?26次下載

    24C02的秘密

    本文主要介紹了下目前市場(chǎng)上面24C02幾種打線方式的區(qū)別,有利于消費(fèi)者芯片選型替代、電路設(shè)計(jì)、軟件編程的注意些細(xì)節(jié),另外就是給出了用
    的頭像 發(fā)表于 11-28 11:40 ?6052次閱讀
    主站蜘蛛池模板: 韩国朴银狐诱感在线观看| 久久99精品久久久久久野外| 国产成人亚洲毛片| 国产在线精品一区免费香蕉 | 久草tv| 狠狠色依依成人婷婷九月| 国产欧美乱码在线看| 自拍偷拍综合网| 天天操天天摸天天干| 国产午夜精品片一区二区三区| 88av在线看| 日本免费一区二区视频| 午夜影院免费版| 夜夜操天天干| 成人精品视频一区二区三区| 99久久99久久免费精品蜜桃| 天天草夜夜爽| free性日韩| 男女性接交无遮挡免费看视频| 一区二区三区中文| 国产免费亚洲| 四虎国产精品永久在线播放| 欧美xxxxx精品| 国产拍拍| 天天做日日爱| 午夜寂寞在线一级观看免费| 欧美乱强性伦xxxxx| 狂野欧美性猛交xxxx免费| 高清不卡一区二区三区| 色色色色网| 黄视频福利| 天堂最新版中文网| 免费在线观看的视频| 色综合美国色农夫网| 狠狠色噜噜狠狠狠狠米奇777| 色老头·com| 狠狠色视频| 色精品视频| 性欧美bbbbbb动漫| 四虎在线免费播放| 色天使视频|