日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Arduino学习笔记⑦ EEPROM断电保存数据

發布時間:2024/4/15 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Arduino学习笔记⑦ EEPROM断电保存数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.前言

????EEPROM,叫做電可擦可編程可讀寄存器(是不是覺得好官方,不知道是什么鬼?反正我也一臉懵逼),只需要知道這是一種斷電后數據不會丟失的存儲設備,可以用來應對需要做記錄做保存的場合。簡而言之,若想斷電后Arduino仍然記住數據,就可以使用EEPROM。至于板子是否支持EEPROM,可以自主去查看板子的簡潔。常見Arduino的EEPROM如下:

????Arduino EEPROM類庫中,EEPROM的地址被設定從0開始,每個地址可以存儲1B數據。所以當數據大于1B時,需要逐個字節讀寫。

  • Arduino UNO、Arduino Leonardo 的EEPROM有1KB=1024B的存儲空間,對應地址則為0~1023;
  • Arduino Mega2560的EEPROM有4KB=4096B的存儲空間,對應地址則為0~4095;

????Arduino有EEPROM類庫,只需要調用EEPROM.h頭文件,然后使用write()和read()函數就可以對EEPROM進行讀寫操作;

常用函數

1.1 write()

作用:對指定地址寫入數據;
語法: EEPROM.write(address,value);
參數

  • address,EEPROM地址,起始地址為0;
  • value 寫入的數據,byte型,意味著如果傳入數據大于這個范圍會被截斷;

返回值:無;

1.2 read()

作用:從指定地址讀出數據。一次讀取1B數據。如果指定地址沒有數據,則讀出值為255;
語法: EEPROM.read(address);
參數

  • address,EEPROM地址,起始地址為0;

返回值:byte型,返回指定地址存儲的數據;

注意:

  • EEPROM有10萬次的擦寫壽命,一次EEPROM.write會占用3ms,如果程序不斷擦寫EEPROM,則不用多久就損壞EEPROM,隨意注意不要頻繁擦寫,在真正需要的時候再考慮使用,加入什么延時之類的。

3.實驗

實驗內容
在setup中往地址0~3中依次寫入2~5,然后在loop中讀取地址0~3然后把數據打印到串口顯示器;
實驗代碼

/** * @Desc 測試EEPROM * @author 單片機菜鳥 * @Date 2016/12/25 * * 注意:Arduino Mega 2560的EEPROM空間是4KB * 也就是4*1024 B = 4096B * 也就是地址是0~4095 */#include<EEPROM.h>//表示EEPROM的當前地址,也就是即將要寫入的地址 int addr = 0;void setup() {// 初始化串口Serial.begin(9600);//等待串口準備好while(!Serial);int value = 2;//在地址0~3依次寫入2~5for(int i = addr;i<4;i++){EEPROM.write(i,value++);//延時100ms 等待寫入delay(100);} }void loop() {// put your main code here, to run repeatedly:Serial.println("read data start");int value;for(int i = addr;i<4;i++){value = EEPROM.read(i);Serial.print("addr:");Serial.print(i);Serial.print("\n");Serial.print("value:");Serial.print(value);Serial.print("\n");}Serial.println("read data end");while(1); }

實驗結果

4.總結

整體上這課還是非常簡單的,唯一需要注意就是不要擦寫頻繁。講完這課后,我就可以在藍牙多彩燈加入這個功能了,記錄存儲當前燈顏色然后下次打開就可以使用。

轉載于:https://www.cnblogs.com/danpianjicainiao/p/11048655.html

總結

以上是生活随笔為你收集整理的Arduino学习笔记⑦ EEPROM断电保存数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。