ESP32 芯片包含两个硬件定时器组。每组有两个通用硬件定时器。它们都是基于 16 位预分频器和 64 位自动重载功能的向上/向下计数器的 64 位通用定时器。
hw_timer_t * timerBegin(uint8_t num, uint16_t divider, bool countUp)
参数:
返回值:
返回一个计时器结构体指针 hw_timer_t *,后续操作均需带上这个指针。
hw_timer_t* tim1= NULL;
tim1 = timerBegin(0,80,true); //80MHZ, ESP32主频80MHz
void timerEnd(hw_timer_t *timer)
参数:
void timerAttachInterrupt(hw_timer_t timer, void (fn)(void), bool edge){}
参数:
timerAttachInterrupt(tim1,tim1Interrupt,true);
void timerDetachInterrupt(hw_timer_t *timer)
void timerAlarmWrite(hw_timer_t *timer, uint64_t alarm_value, bool autoreload){}
参数:
timerAlarmWrite(tim1, 100000, true);
void timerAlarmEnable(hw_timer_t *timer){}
void timerAlarmDisable(hw_timer_t *timer)
bool timerAlarmEnabled(hw_timer_t *timer)
Serial.println(timerAlarmEnabled(tim1));
#include <Arduino.h>
hw_timer_t *tim1 = NULL;
int tim1_IRQ_count = 0;
void tim1Interrupt()
{
Serial.println("haha");
tim1_IRQ_count++;
Serial.println(timerAlarmEnabled(tim1));
}
void setup()
{
Serial.begin(115200);
tim1 = timerBegin(0, 80, true);
timerAttachInterrupt(tim1, tim1Interrupt, true);
timerAlarmWrite(tim1, 100000, true);
timerAlarmEnable(tim1);
}
void loop()
{
if (tim1_IRQ_count > 10)
{
Serial.println("count trigger");
tim1_IRQ_count = 0;
}
}
74HC595是一个8位串行输入、并行输出的位移缓存器。并行输出为三态输出。
本讲主要介绍VSCode Arduino开发环境的搭建,及与Arduino IDE开发环境的比较。
本文主要讲解WebServer库如何来处理表单请求。
WebServer是非常常用的一个功能,在设备上使用该功能可以直接通过浏览器访问和操作设备。
Arduino-ESP32与ESP-IDF的版本对应表。
Arduino-ESP32提供了多种文件系统解决方案,本文将深入解析SPIFFS、LittleFS和SD卡三种主流存储方案,帮助你做出最佳选择。
ESP32-P4-WIFI6-DEV-KIT是一款微雪(Waveshare)设计的基于 ESP32-P4 的多媒体开发板,并集成 ESP32-C6,支持 Wi-Fi 6 和 BLE 5 无线连接。它提供丰富的人机交互接口,包括 MIPI-CSI (集成图像信号处理器 ISP)、MIPI-DSI、SPI、I2S、I2C、LED PWM、MCPWM、RMT、ADC、UART 和 TWAI 等。
ESP-Hosted 解决方案提供了将 ESP 板用作 Wi-Fi 和 Bluetooth/BLE 连接的通信处理器的方法。
ESP-Hosted 提供了一种将ESP芯片和模组用作通信协处理器的解决方案,该解决方案为主机微处理器或微控制器提供无线连接,使主机能够与其他设备通信。简单来说为网卡方案。
Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789