工具:VScode + PlatformIO IDE
注:B站视频学习笔记。
1、继电器
1)硬件电路
2)程序
#include <Arduino.h>
#define RELAY_PIN 15
//初始化定时器
hw_timer_t *timer = NULL;
void timer_interrupt(){
//将引脚传入的电平信号进行翻转
digitalWrite(RELAY_PIN,!digitalRead(RELAY_PIN));//读取引脚信号;翻转。
}
void setup() {
// put your setup code here, to run once:
//设置为输出模式
pinMode(RELAY_PIN,OUTPUT);
//初始化定时器
timer = timerBegin(0,80,true);//定时器编号0-3任选;分频系数;向上计数/向下计数。
//主持中断处理函数
timerAttachInterrupt(timer,timer_interrupt,true);//定时器;定时器中断函数;中断类型:true(边沿触发)。
//设置定时器模式
timerAlarmWrite(timer,500000,true);//定时器;0.5秒闪烁一次(500*1000微秒);true(反复触发)。
//启动定时器
timerAlarmEnable(timer);
}
void loop() {
// put your main code here, to run repeatedly:
}
3)结果
2、