そういうわけで、DWM の付録基板 STM32(ARM) を使って BASIC みたいなものを作ろうというシリーズ。
いよいよ、タイマーやループの定義、IF/ELSE/ELSEIF/ENDIF の条件分岐ができるようになって、それなりのプログラムが動くようになってきた。
ボタンを押すと 2 つの LED が交互についたり、タイマーで 1 秒置きに LED を点滅させたりと、おもろなってきた。
あと、3軸加速度センサーも載っていることだし、アナログ入力くらいはさせようと思ったけど、DMA とかからんできて設定させようと思うと難しいかも。
とりあえず、ANALOG 0、1、2 に X、Y、Z の加速度を割り当てて、プログラムに反映させられるようにしてみた。
±2g で、2000 あたりが水平のときに値らしい。
ここで、こういうプログラムを書いてみると、
MAIN: LOOP IF ACCX < 2000 LED = 0 ELSE LED = 1 ENDIF ENDLOOP
左に傾けると LED が消えて、右に傾けると LED が点くといったことができるように。
あとは、PWM 出力できるようにしてモーター等も制御できるようにしてみたり、変数も定義できるようにして、実用性を上げたいところ。