娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

玩轉(zhuǎn) ESP32 + Arduino (十一) EEPROM NTP對(duì)時(shí) 藍(lán)牙透?jìng)?/h1> 發(fā)布者:快樂旋律最新更新時(shí)間:2025-04-07 來源: jianshu關(guān)鍵字:ESP32  Arduino  EEPROM  藍(lán)牙透?jìng)?/a> 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

一 .EEPROM

在EPS32中已經(jīng)將EEPROM棄用。對(duì)于ESP32上的新應(yīng)用程序,建議使用NVS為首選項(xiàng)。提供EEPROM是為了向后兼容現(xiàn)有的Arduino應(yīng)用程序。

Arduino core for the ESP32中的EEPROM是在flash中開辟的存儲(chǔ)區(qū)域;


1. 調(diào)用EEPROM

調(diào)用#include 來使用EEPROM;


2. 初始化EEPROM

/*

 * 初始化EEPROM

 * 參數(shù): size:容量大小, 默認(rèn)4096, size為需要讀寫的數(shù)據(jù)字節(jié)最大地址+1,取值1~4096;

 *  返回值: 設(shè)置成功否?

 */bool EEPROMClass::begin(size_t size)

EEPROM.begin(4096);

3. 往EEPROM中寫一個(gè)字節(jié)的值

/*

 * 初始化EEPROM

 * 參數(shù): 

 *  address:地址

 *  val: 值

 *  返回值: 無

 */void EEPROMClass::write(int address, uint8_t val)

EEPROM.write(1,'a');

4. 真正的提交到EEPROM中保存

EEPROM.write();并不能保證斷電不丟失,需要提交.


EEPROM.commit();

5. EEPROM中讀取數(shù)據(jù)

/*

 * 讀EEPROM

 * 參數(shù): 

 *  address:地址

 *  返回值: 讀取的字節(jié)

 */uint8_t EEPROMClass::read(int address){}

通過串口往EEPROM中寫入, 按x可以讀取EEPROM中的數(shù), 給ESP32斷一次電,再上電讀取


#include #include bool flag = false;void setup(){

  Serial.begin(115200);

  EEPROM.begin(4096);}void loop(){

  if (Serial.available())

  {

    char temp = Serial.read();

    if (temp != 'x')

    {

      EEPROM.write(1, temp);

      EEPROM.commit();

      Serial.print('寫入EEPROM:');

      Serial.println(EEPROM.read(1));

    }

    else

    {

      Serial.print('EEPROM里的數(shù)據(jù)是:');

      Serial.println(EEPROM.read(1));

    }

  }}

二. NTP對(duì)時(shí)

1. NTP對(duì)時(shí)原理

連接網(wǎng)絡(luò), 從網(wǎng)絡(luò)中請(qǐng)求NTP對(duì)時(shí)數(shù)據(jù), 這里我們選取了阿里云的NTP服務(wù)器 ntp1.aliyun.com

此外,我們?cè)跂|八區(qū), 所以應(yīng)該偏移時(shí)間 8小時(shí)


2. 初始化一個(gè)NTP服務(wù)客戶端

NTPClient(UDP& udp, const char* poolServerName, int timeOffset, int updateInterval);/*

參數(shù):

1. udp  : 創(chuàng)建的UDP連接

2. poolServerName : 服務(wù)器地址, 字符串類型 默認(rèn): time.nist.gov

3. timeOffset: 偏移時(shí)間, 默認(rèn)0, 單位秒, 北京時(shí)間需要偏移 3600*8

4. milliseconds : 更新時(shí)間間隔, 單位毫秒

*/

這里注意, 需要傳入一個(gè)UPD連接, 詳見后面的例子


3. 更新時(shí)間

timeClient.update();

4. 獲取格式化的時(shí)間

timeClient.getFormattedTime();

5.獲取時(shí)間戳(格林威治時(shí)間讀秒)

timeClient.getEpochTime();

6.獲取天(從NTP服務(wù)客戶端開啟至今的天數(shù))

程序啟動(dòng)當(dāng)天是1


timeClient.getDay();

7. 獲取時(shí)分秒

  Serial.println(timeClient.getHours());

  Serial.println(timeClient.getMinutes());

  Serial.println(timeClient.getSeconds());

8.單獨(dú)設(shè)置時(shí)間偏移

  timeClient.setTimeOffset(3600*8);

9. 單獨(dú)設(shè)置更新頻率

  timeClient.setUpdateInterval(1000);

10. 例子

#include #include 'WiFi.h'#include 'NTPClient.h'const char *ssid     = 'anleng';const char *password = 'al77776666';WiFiUDP ntpUDP; // 創(chuàng)建一個(gè)WIFI UDP連接NTPClient timeClient(ntpUDP, 'ntp1.aliyun.com', 60*60*8, 30*60*1000);void setup(){

  Serial.begin(115200);


  WiFi.begin(ssid, password);


  while ( WiFi.status() != WL_CONNECTED ) {

    delay ( 500 );

    Serial.print ( '.' );

  }

  timeClient.begin();}void loop() {

  timeClient.update();


  Serial.println(timeClient.getFormattedTime());


  delay(1000);}

三. 藍(lán)牙透?jìng)?p>#include #include 'BluetoothSerial.h'BluetoothSerial bt1;void setup(){

  Serial.begin(115200);

  delay(5000);

  bt1.begin('ESP32BLUE');

  Serial.println('藍(lán)牙串口透?jìng)饕呀?jīng)打開');}void loop(){

  if (Serial.available())

  {

    bt1.write(Serial.read());

  }

  if (bt1.available())

  {

    Serial.write(bt1.read());

  }

  delay(20);  }


關(guān)鍵字:ESP32  Arduino  EEPROM  藍(lán)牙透?jìng)?/a> 引用地址:玩轉(zhuǎn) ESP32 + Arduino (十一) EEPROM NTP對(duì)時(shí) 藍(lán)牙透?jìng)?/a>

上一篇:玩轉(zhuǎn) ESP32 + Arduino (十二) 通過MQTT協(xié)議上傳數(shù)據(jù)至OneNet云平臺(tái)
下一篇:玩轉(zhuǎn) ESP32 + Arduino (十) WIFI(AP模式) (STA模式) (smartConfig)

小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 陆良县| 洛宁县| 洪湖市| 永嘉县| 达州市| 周至县| 府谷县| 遂溪县| 昆山市| 安西县| 襄城县| 津南区| 甘泉县| 明光市| 特克斯县| 孟津县| 石林| 石台县| 大竹县| 丘北县| 临汾市| 竹山县| 封丘县| 富源县| 弥勒县| 越西县| 井陉县| 浦江县| 钦州市| 舒兰市| 屏南县| 惠来县| 麟游县| 康定县| 湘潭县| 廉江市| 松滋市| 杭州市| 奉新县| 翁源县| 鄄城县|