- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!ESP32-micropython
from machine import Pin,Timer
from time import sleep
pin=Pin(19, mode=Pin.OUT)
def led(t): # t はタイマのインスタンスが入っている
pin.value(not pin.value())
t0 = Timer(0) # タイマは0〜3が指定可能
#20mSec 毎に led を呼び出す
t0.init(period=20, mode=Timer.PERIODIC, callback=led)
sleep(5)
t0.deinit()
! STM32f103 - arduino-ide
https://scrapbox.io/ArduinoSTM32/HardwareTimer
#define LED_PIN PC13 // OnボードLED timer2 1CH用出力ピン
uint8_t sw = LOW;
// 割り込み処理関数
void handle_timer() {
if (sw == LOW) {
sw = HIGH;
} else {
sw = LOW;
}
digitalWrite(LED_PIN, sw);
}
void setup() {
pinMode(LED_PIN, OUTPUT);
Timer2.pause(); // タイマー停止
Timer2.setPrescaleFactor(7200); // システムクロック 72MHzを10kHzに分周
Timer2.setOverflow(5000); // 最大値を0.5秒に設定
Timer2.attachInterrupt( // 割り込みハンドラの登録
TIMER_UPDATE_INTERRUPT, // 呼び出し条件は、カウンターオーバーフロー更新時
handle_timer // 呼び出す関数
);
Timer2.setCount(0); // カウンタを0に設定
Timer2.refresh(); // タイマ更新
Timer2.resume(); // タイマースタート
}
void loop() {
}