前回nrf51822(micro:bit)でライブラリを使わずLチカを実装した。チカチカせるのはWAITループでぐるぐる回していた。サンプルソースのレベルならこれでOKだけど、実用的なプログラミングではぐるぐる回りしていると、ボタン押下等のイベントが取れないので、タイマ割り込みでチカチカさせる必要がある。
というわけで、SysTickと呼ばれるTimerハードと割り込みプログラミングでLチカを実装してみる。
少し検索していると、SysTick自体のハードは無いそうだ。だからカウンタ(割り込み)で代用しているらしい(らいしというのは、自分がタイマ周りを完全に理解できていないため)。
さらに調べると、、カウンタにTICKイベント、TICK割り込みが存在して、TICKが立つのは、カウンタ変数[COUNTER]が加算されるタイミングらしい(仕様書より)。
■参考にしたライブラリソース
https://github.com/NordicSemiconductor/Nordic-Thingy52-FW/blob/master/external/sdk13/components/drivers_nrf/systick/nrf_drv_systick.c
(ローカルフォルダ)
~/tech/uc/nrf51822/nRF5_SDK_12.3.0_d7731ad/components/drivers_nrf/systick/
■割り込み駆動にしてみるが割り込まれない