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服务客户端开启至今的天数)
程序启动当天是17. 获取时分秒
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);
}
二进制(binary),发现者莱布尼茨,是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 。
ESP32的DAC函数可以实现真正的模拟输出。
ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。
本文学习如何使用ESP32开发板来进行多线程的开发。
ESP8266有三种工作模式,分别为:AP,STA,AP混合STA