亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

您現(xiàn)在的位置是:首頁 > 技術(shù)閱讀 >  STM32 I2C通信操作24C02寫數(shù)據(jù)、讀數(shù)據(jù)

STM32 I2C通信操作24C02寫數(shù)據(jù)、讀數(shù)據(jù)

時(shí)間:2024-02-09

點(diǎn)擊上方“嵌入式從0到1”,選擇“置頂/星標(biāo)公眾號(hào)

干貨福利,第一時(shí)間送達(dá)!


202007每月一練” 的板子上還有一個(gè)24C02芯片沒有寫教程,今天介紹一下24C02這個(gè)芯片的驅(qū)動(dòng)方法。

有的時(shí)候我們?cè)诔绦蛑袝?huì)改變一些參數(shù)的值,我們希望這些參數(shù)可以固化,掉電重啟之后仍舊能夠使用最新的值,這種需求,我們就可以使用E2PROM來實(shí)現(xiàn)。

24CXX屬于串行E2PROM, 是基于I2C總線的存儲(chǔ)器件,遵循二線制協(xié)議,I2C總線上可以外掛多個(gè)器件,每個(gè)器件對(duì)應(yīng)不同的地址,通過地址將不同器件進(jìn)行分開,保證不同芯片之間數(shù)據(jù)傳輸?shù)莫?dú)立性。
由于其具有接口方便,體積小,數(shù)據(jù)掉電不丟失等特點(diǎn),在儀器儀表及工業(yè)自動(dòng)化控制中得到大量的應(yīng)用。

24C02的應(yīng)用場景:

  • 存儲(chǔ)硬件的默認(rèn)參數(shù),這樣開機(jī)上電之后讀取這些參數(shù),就可以按照默認(rèn)參數(shù)運(yùn)行了,比如存儲(chǔ)PID自整定之后的參數(shù);
  • 保存計(jì)費(fèi)、計(jì)量的一些應(yīng)用的余額;
  • 類似血壓計(jì)、血糖儀之類保存一定次數(shù)的檢測結(jié)果,實(shí)現(xiàn)歷史回溯功能。

24CXX系列E2PROM為I2C總線的掉電存儲(chǔ)數(shù)據(jù)芯片。對(duì)于I2C總線的介紹可以參考下面網(wǎng)文:

4位數(shù)碼管顯示模塊驅(qū)動(dòng)

I2C總線主要注意以下幾點(diǎn):

  1. 數(shù)據(jù)有效性要求

在輸入數(shù)據(jù)時(shí),當(dāng)SCL是高電平時(shí),SDA上的信號(hào)必須保持不變;只有SCL上的時(shí)鐘信號(hào)為低電平時(shí),SDA上的信號(hào)才能改變。

  1. 數(shù)據(jù)的開始和結(jié)束條件

SDA、SCL默認(rèn)為高電平,表示總線處于空閑狀態(tài)。

數(shù)據(jù)輸入的開始條件是SCL為高電平時(shí),SDA由高變低;

結(jié)束條件是SCL為高電平時(shí),SDA由低電平變?yōu)楦唠娖剑碨DA出現(xiàn)一個(gè)上升沿的跳變,即為終止信號(hào)。

  1. I2C的應(yīng)答信號(hào)ACK

數(shù)據(jù)傳輸帶有應(yīng)答信號(hào)ACK,在傳輸數(shù)據(jù)的過程中,在時(shí)鐘線SCL的第九個(gè)脈沖時(shí),從機(jī)芯片內(nèi)部會(huì)產(chǎn)生一個(gè)應(yīng)答信號(hào)ACK將SDA管腳拉低。

引腳定義


引腳功能描述
A0-A2器件地址定義引腳,通過高低電平對(duì)應(yīng)的二進(jìn)制代表不同的地址
SDA串行數(shù)據(jù)
SCL串行時(shí)鐘輸入
WP寫保護(hù),接地:可讀可寫;
接Vcc只讀,即寫保護(hù)
GNDGround
VccPower Supply

24C02模塊的原理圖

  1. 本文對(duì)應(yīng)實(shí)例,CON1跳線短接,24C02的地址為0,故24C02的寫地址為0xA0,讀地址為0xA1。

  2. 24C02,尾數(shù)02代表著內(nèi)部有256*8(2K bits)空間。

  3. 上拉電阻必需有,否則可能無法對(duì)24C02進(jìn)行正確讀寫。

24C02器件操作流程

單字節(jié)寫

單字節(jié)寫流程

在字節(jié)寫模式下,主器件發(fā)送起始命令和從器件地址信息、此時(shí)R/W位置0(寫地址)發(fā)給從器件,在從器件產(chǎn)生應(yīng)答信號(hào)后,主器件發(fā)送24C02的地址信息,然后等待從器件返回的另一個(gè)應(yīng)答信號(hào)后,再發(fā)送數(shù)據(jù)到24C02,然后再接收一次Ack應(yīng)答信號(hào)后,主芯片產(chǎn)生一個(gè)停止信號(hào),從器件收到停止信號(hào)后,開始內(nèi)部數(shù)據(jù)的擦寫,在內(nèi)部擦寫過程中,24C02不再應(yīng)答主器件的任何請(qǐng)求,從而完成整個(gè)單字節(jié)的寫流程。

注: 當(dāng)上一個(gè)數(shù)據(jù)寫完之后,即發(fā)送停止信號(hào)之后,需延時(shí)至少10ms以上,才能再發(fā)送下一次寫操作的起始信號(hào)。

讀操作

1. 單字節(jié)讀
讀操作允許主器件對(duì)24C02的任意字節(jié)進(jìn)行讀操作。主器件首先通過發(fā)送起始信號(hào)、從器件地址和寫操作(寫地址)的標(biāo)志位0。

在從器件應(yīng)答之后,主器件發(fā)送目標(biāo)地址,并等待返回應(yīng)答信號(hào)。

主器件重新發(fā)送起始信號(hào)和從器件地址,此時(shí)R/W位置1(讀操作,讀數(shù)據(jù)),從器件響應(yīng)應(yīng)答信號(hào),然后主器件獲取一個(gè)8位數(shù)據(jù)字節(jié),主器件不用發(fā)送應(yīng)答信號(hào)但需要產(chǎn)生一個(gè)停止信號(hào),即完成單字節(jié)讀過程。

2. 多字節(jié)連續(xù)讀

在從機(jī)給主機(jī)發(fā)送完一個(gè)8位字節(jié)數(shù)據(jù)后,主器件產(chǎn)生一個(gè)應(yīng)答信號(hào)來響應(yīng),告訴從機(jī)主器件請(qǐng)求更多的數(shù)據(jù),對(duì)應(yīng)每個(gè)主機(jī)產(chǎn)生的應(yīng)答信號(hào),從機(jī)將發(fā)送一個(gè)8位數(shù)據(jù)字節(jié)。當(dāng)主器件不發(fā)送應(yīng)答信號(hào)而發(fā)送停止位時(shí)結(jié)束操作。

如果我們使用如下代碼,讀取大于24C02容量的字節(jié)數(shù)的話,會(huì)有什么現(xiàn)象呢?
const u8 TEXT_Buffer[]={"0123456789ABCDEF"};#define SIZE sizeof(TEXT_Buffer)
// 寫入16個(gè)字節(jié)數(shù)據(jù)AT24CXX_Write(0,(u8*)TEXT_Buffer,SIZE);
memset(arrDataTemp, 0, sizeof(arrDataTemp));// 讀取280個(gè)字節(jié)的數(shù)據(jù)AT24CXX_Read(0,arrDataTemp,280); // 將讀取到的數(shù)據(jù)串口打印輸出USART_OUT(arrDataTemp,280);

上面代碼執(zhí)行,輸出結(jié)果如下所示:

從上面截圖,我們可以看出來,兩個(gè)紅色圈選部分的內(nèi)容是一樣的,即當(dāng)讀取的字節(jié)數(shù)超過N(對(duì)于24C02,N=255),讀取的數(shù)據(jù)指針將返回存儲(chǔ)空間的前面,從頭往后輸出剩余字節(jié)。

出現(xiàn)這樣的原因主要是我們?cè)谧x取函數(shù)中,發(fā)送地址的時(shí)候,將讀取地址對(duì)存儲(chǔ)空間大小取余了,所以又從頭開始輸出剩余字節(jié)了。

IIC_Send_Byte(ReadAddr%256);

紫色的55,就是程序初始化的時(shí)候,檢查24C02芯片是否存在時(shí),AT24CXX_Check()函數(shù)中寫入的數(shù)據(jù):

while(AT24CXX_Check())  //檢測24C02是否存在{    printf("24C02 Check Failed!\r\n");      delay_ms(500);     printf("Please Check! \r\n");      delay_ms(500); }

資料獲取

代碼工程中有兩個(gè)文件,其中myiic為I2C總線相關(guān)操作函數(shù)所在文件,24cxx為24C02操作函數(shù)所在文件。

微信公眾號(hào)后臺(tái)回復(fù)“24C02”,可以下載本文對(duì)應(yīng)的工程源碼。

注:
代碼工程使用的Keil版本為:V5.20
我用的PCB設(shè)計(jì)軟件版本為:Altium Designer 14.2

如果沒有特殊說明,軟件環(huán)境都為以上兩個(gè)版本。

有問題可以加我微信: 

chengxuyuanxiaoha(程序員小哈的全拼),

我可以拉你進(jìn)技術(shù)交流群,有問題隨時(shí)交流。


傳統(tǒng)美德不能丟, 

偷偷摸摸請(qǐng)點(diǎn)贊, 

明目張膽請(qǐng)在看


亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品第三页| 国产日本欧美一区二区三区在线| 欧美日韩在线三区| 亚洲一区二区动漫| 国产欧美一区二区精品仙草咪| 久久久国际精品| 亚洲丰满在线| 国产精品一二三视频| 久久偷窥视频| 艳妇臀荡乳欲伦亚洲一区| 国产欧亚日韩视频| 欧美日韩亚洲系列| 久久五月激情| 欧美在线中文字幕| 亚洲午夜激情网页| 亚洲日本电影| 在线成人av网站| 国产日韩精品入口| 国产精品一卡二卡| 国产精品www994| 欧美日韩亚洲视频| 欧美日本国产| 欧美日韩久久| 欧美日韩免费网站| 欧美精品v日韩精品v韩国精品v | 亚洲乱码精品一二三四区日韩在线 | 狠狠干综合网| 国产一区二区三区精品久久久| 国产精品每日更新| 国产精品乱人伦一区二区| 欧美日韩天堂| 国产精品久久久久高潮| 欧美午夜视频网站| 国产丝袜一区二区| 精品二区久久| 亚洲看片一区| 亚洲综合日韩| 久久综合色播五月| 欧美日韩和欧美的一区二区| 欧美日韩视频第一区| 国产精品进线69影院| 国产亚洲精品久久久| 在线观看成人av电影| 亚洲欧洲视频| 亚洲一区二区在| 久久久精品五月天| 欧美精品亚洲| 黄色小说综合网站| 亚洲无线视频| 美日韩精品免费| 国产精品电影在线观看| 激情六月婷婷久久| 在线视频一区观看| 久久综合中文字幕| 国产精品一级久久久| 一区二区三区自拍| 最新国产精品拍自在线播放| 亚洲婷婷国产精品电影人久久| 久久久久久久久久久久久9999| 欧美日韩精品一区二区三区| 今天的高清视频免费播放成人| 国产精品99久久久久久www| 媚黑女一区二区| 国产欧美一区二区精品性色| 99综合在线| 蜜臀91精品一区二区三区| 国产精品视频| 亚洲品质自拍| 欧美韩日一区| 韩国av一区二区三区| 亚洲欧美中文日韩在线| 欧美日韩国产综合一区二区| 好吊一区二区三区| 久久精品麻豆| 99这里有精品| 欧美三级视频在线| 亚洲成人原创| 亚洲欧美在线高清| 欧美日一区二区在线观看 | 亚洲欧美一区在线| 欧美另类人妖| 亚洲影音一区| 黄色综合网站| 欧美大片免费观看在线观看网站推荐| 136国产福利精品导航网址| 免费黄网站欧美| 一区二区欧美日韩视频| 欧美日韩视频在线观看一区二区三区| 亚洲免费成人| 国产主播在线一区| 欧美三级网页| 久久男人av资源网站| 91久久精品国产91性色tv| 韩国三级在线一区| 欧美日韩国产小视频| 欧美一级在线视频| 亚洲精品免费在线| 韩国av一区| 国产欧美精品久久| 欧美日韩亚洲一区二区三区在线| 久久黄色网页| 亚洲一级片在线观看| 欧美在线观看网站| 亚洲国产精品99久久久久久久久| 欧美激情视频一区二区三区免费| 一本色道久久综合狠狠躁篇的优点| 国产精品jvid在线观看蜜臀| 久久久久国产精品www| 91久久午夜| 国产欧美韩日| 欧美色网在线| 欧美激情a∨在线视频播放| 亚洲永久在线| 洋洋av久久久久久久一区| 国产在线日韩| 国产一区二区毛片| 国产精品任我爽爆在线播放| 欧美精品粉嫩高潮一区二区 | 欧美电影打屁股sp| 快播亚洲色图| 久久精品国产第一区二区三区最新章节 | 亚洲动漫精品| 极品裸体白嫩激情啪啪国产精品| 欧美精品一卡二卡| 欧美日韩免费区域视频在线观看| 久久精品国产免费看久久精品| 亚洲综合第一| 99国产麻豆精品| 亚洲一区二区三区在线播放| 亚洲一区二区免费在线| 一区二区精品在线| 性做久久久久久久久| 久久午夜色播影院免费高清| 蘑菇福利视频一区播放| 欧美日韩精品免费在线观看视频| 国产精品久久久久免费a∨大胸 | 国产欧美日韩三级| 在线观看欧美成人| 亚洲午夜免费视频| 久久久国产精品一区| 欧美另类高清视频在线| 欧美偷拍一区二区| 国产综合色产| 亚洲一区二区网站| 欧美高清视频一区二区三区在线观看| 欧美性猛片xxxx免费看久爱| 国外视频精品毛片| 亚洲在线视频免费观看| 免费观看不卡av| 国产一区二区三区高清在线观看| 一区二区三区免费网站| 免费一级欧美片在线播放| 国产一区二三区| 在线视频日本亚洲性| 噜噜噜91成人网| 影音先锋一区| 久久亚洲春色中文字幕| 国产一区在线观看视频| 午夜精品视频在线| 亚洲高清资源综合久久精品| 久久精品亚洲国产奇米99| 国产日韩专区| 久久久99精品免费观看不卡| 国产日韩欧美三级| 欧美中文在线字幕| 中文在线资源观看视频网站免费不卡| 欧美黄色成人网| 日韩视频精品在线| 欧美午夜精品久久久久久浪潮 | 久久免费视频网站| 樱桃成人精品视频在线播放| 久热精品视频在线观看| 136国产福利精品导航| 老色鬼久久亚洲一区二区| 亚洲福利视频免费观看| 欧美成人午夜激情| 亚洲午夜激情免费视频| 国产亚洲在线| 欧美激情1区| 欧美在线观看视频在线| 亚洲国产精品嫩草影院| 欧美三级网址| 久久综合狠狠综合久久综合88 | 亚洲制服av| 亚洲国产精品国自产拍av秋霞| 欧美日韩精品二区| 久久精品国产成人| 亚洲欧洲精品天堂一级| 国产精品免费小视频| 免费国产一区二区| 欧美一区二区在线| 99亚洲一区二区| 在线成人性视频| 国产欧美va欧美不卡在线| 欧美精品免费在线| 久久视频国产精品免费视频在线| 中文一区二区| 亚洲激情在线激情| 国产精品色在线| 欧美一区二区在线免费播放|