20170504 Arduino 內部中段, 且用按鈕改變內部中斷頻率 - 40423226/notebook GitHub Wiki

#include <FlexiTimer2.h>

#if ARDUINO >= 100
const int led_pin = LED_BUILTIN;	// 1.0 built in LED pin var
#else
const int led_pin = 13;			// default to pin 13
#endif

int times[] = {200,300,400,500,600,700};
int i=0;

void flash()
{
static boolean output = HIGH;
  
  digitalWrite(led_pin, output);
  output = !output;
}

void setup()
{
  pinMode(led_pin, OUTPUT);

  
  attachInterrupt(0, blink, FALLING);
  //FALLING
}

void blink()
{
  FlexiTimer2::set(times[i], 1.0/1000, flash); // call every 500 1ms "ticks"
  // FlexiTimer2::set(500, flash); // MsTimer2 style is also supported
  FlexiTimer2::start();
  i++;
  if(i > 5) i = 0;
}

void loop()
{
}
⚠️ **GitHub.com Fallback** ⚠️