实训项目:多个定时器间隔定时

程序代码
#include <Arduino.h>
#define Pin1 4
#define Pin2 5
#define Pin3 48
void Init_Pins()
{
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
}
//======================================
/*中断服务函数*/
void Serve_Timer1()
{
digitalWrite(Pin1, !digitalRead(Pin1));
}
void Serve_Timer2()
{
digitalWrite(Pin2, !digitalRead(Pin2));
}
void Serve_Timer3()
{
digitalWrite(Pin3, !digitalRead(Pin3));
}
//=======================================
hw_timer_t *tim0 = NULL;
hw_timer_t *tim1 = NULL;
hw_timer_t *tim2 = NULL;
void Init_Timer()
{
tim0 = timerBegin(0, 80, true);
timerAttachInterrupt(tim0, Serve_Timer1, true);
timerAlarmWrite(tim0, 1000000, true);
timerAlarmEnable(tim0);
tim1 = timerBegin(1, 80, true);
timerAttachInterrupt(tim1, Serve_Timer2, true);
timerAlarmWrite(tim1, 2000000, true);
timerAlarmEnable(tim1);
tim2 = timerBegin(2, 80, true);
timerAttachInterrupt(tim2, Serve_Timer3, true);
timerAlarmWrite(tim2, 5000000, false);
timerAlarmEnable(tim2);
}
void setup()
{
Init_Pins();
Init_Timer();
}
void loop()
{
}