4. 真正的提交到EEPROM中保存
EEPROM.write();并不能保证断电不丢失,需要提交.
5. EEPROM中读取数据
/*#include <Arduino.h> #include <EEPROM.h> 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里的数据是:"); Serial.println(EEPROM.read(1)); } } }
4. 获取格式化的时间
timeClient.getFormattedTime();
5.获取时间戳(格林威治时间读秒)
timeClient.getEpochTime();
6.获取天(从NTP服务客户端开启至今的天数)
程序启动当天是1
7. 获取时分秒
Serial.println(timeClient.getHours());
8.单独设置时间偏移
timeClient.setTimeOffset(3600*8);
9. 单独设置更新频率
timeClient.setUpdateInterval(1000);
10. 例子
#include <Arduino.h> #include "WiFi.h" #include "NTPClient.h" const char *ssid = "anleng"; const char *password = "al77776666"; WiFiUDP ntpUDP; // 创建一个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); }
#include <Arduino.h> #include "BluetoothSerial.h" BluetoothSerial bt1; void setup() { Serial.begin(115200); delay(5000); bt1.begin("ESP32BLUE"); Serial.println("蓝牙串口透传已经打开"); } void loop() { if (Serial.available()) { bt1.write(Serial.read()); } if (bt1.available()) { Serial.write(bt1.read()); } delay(20); }
本文介绍ESP32中的中断机制,以及如何通过GPIO中断实现按钮控制。重点讲解了如何设置中断服务例程、处理中断抖动问题,并提供了消除中断抖动的示例代码。
本文主要介绍在未联网(AP热点)情况下实现WEB交互界面的CSS和javascript库。
本文介绍如何使用Arduino-ESP32库中的API函数获取ESP32的芯片、RAM信息等,并提供了一个示例程序代码。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
ESP32 芯片有34个物理GPIO管脚。每个GPIO管脚都可用作一个通用IO,或连接一个内部的外设信号。IO_MUX ¹、RTC IO MUX 和GPIO交换矩阵用于将信号从外设传输至GPIO管脚。