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的DAC函数可以实现真正的模拟输出。
ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。
本文学习如何使用ESP32开发板来进行多线程的开发。
ESP8266有三种工作模式,分别为:AP,STA,AP混合STA
ESP32有四个SPI外设,分别为SPI0、SPI1、HSPI和VSPI。