很多时候需要精准定时的执行任务,
可以使用硬件中断定时库 MsTimer2
http://playground.arduino.cc/Main/MsTimer2#include <mstimer2.h>
const int INTERVAL = 500; // 0.5 秒 = 500ms
void onTimer( ) {
static int val = 0;
val = 1- val; // toggle 0, 1
digitalWrite(13, val); // pin 13 LED
}
void setup( ) {
pinMode(13, OUTPUT);
MsTimer2::set(INTERVAL, onTimer); // INTERVAL ms
MsTimer2::start( );
}
void loop( ) {
delay(6000);
MsTimer2::stop( );
delay(3000);
MsTimer2::start( );
}
MQTT协议是一个应用层协议,他要求使用的传输层协议能提供有序的,可靠的双向字节流传输服务。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。
Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。
在Arduino中,通过串行端口接收数字通常涉及使用Serial.read()、Serial.readString()、Serial.parseInt()等方法。
要生成随机数,可以使用Arduino随机数函数random()。
本文收集整理在Arduino环境下字符串的相关用法,供参考。
ESP32在Arduino中的GPIO模式。
ESP32EA-MOC 开发板介绍和Arduino环境配置。