int Flag;
int LED; //LED点灯/消灯モード
int exLED_PIN = 0;
struct repeating_timer timer; //インスタンス生成
//repeating_timer_t timer; //インスタンス生成
bool callback_timer(struct repeating_timer *t){ //コールバック関数 //戻り値 intはNG
Flag = 1;
return 1; //1: 必須 //return 0; : 点灯のまま → NG
}
void setup() {
pinMode(LED_BUILTIN, OUTPUT); //内臓LED接続ポート 出力モード設定
gpio_init(exLED_PIN);
gpio_set_dir(exLED_PIN, GPIO_OUT); //ピン出力モード設定
add_repeating_timer_ms(1000, callback_timer, NULL, &timer);//コールバック関数 及びインターバル時間の設定
//add_repeating_timer_us(1000000, callback_timer, NULL, &timer); //μsec単位
}
void loop() {
if(Flag == 1)
{
Flag = 0;
if(LED == 0) //消灯モードの場合
{
LED = 1;
digitalWrite(LED_BUILTIN, HIGH); //内臓LED: 点灯
digitalWrite(exLED_PIN, 1); //外付けLED: 点灯
} else //点灯モードの場合
{
LED = 0;
digitalWrite(LED_BUILTIN, LOW); //内臓LED: 消灯
digitalWrite(exLED_PIN, 0); //外付けLED 消灯
}
}
}