明日は我が身の備忘録(あすびぼ)

自分向け備忘録です。頻繁に更新は難しいでしょうね

Raspberry Pi Pico タイマ割り込みでLチカ(VSC + C言語)

 

f:id:kirikoshokunin:20210416234931p:plain:w350
 
前回新しいプロジェクトを作成する方法がわかったので、今回はタイマ割り込みでLチカをしてみる。タイマ割り込みは色々な制御を行うので真っ先に抑えておきたい。またUSB経由でシリアルポートに文字を送ることも行う。新しいプロジェクトの場合printfの設定を行う必要がある。

CMakeLists.txtを変更

上述した通りsdioのprintfの出力先を設定する。 プロジェクト名が”my_project”の場合USB経由のprintf有効にする場合は下のように追加で記述する。

pico_enable_stdio_usb(my_project 1)

USB経由を有効にしたらUART経由は無効にする。それは下のように記述する。

pico_enable_stdio_uart(my_project 0)

CMakeLists.txtの全体は下のようになった。

ソースコード

今回はタイマ割り込み設定を2通り行った。

  • add_alarm_in_ms()
  • add_repeating_timer_ms()

 add_alarm_in_ms() は一回だけタイマ割り込み関数を呼び出す設定を行う関数。

 add_repeating_timer_ms()は繰り返しタイマ割り込み関数を呼び出す設定を行う関数。

 今回はオンボードLEDを一回だけの割り込みでONして、外付けLED(GPIO15)を繰り返し関数でON/OFFを行う。

ソースコード全体は下のようになった。

動作

ブレッドボードのタクトスイッチはリセットスイッチで3V3_ENに接続されていてONするとGNDに電圧を落とす。これを付けると書込みのときラクで、これがないとUSBを毎回挿抜しないといけない。


www.youtube.com