C-SizeDCC 改訂版4
レベル変化割り込み
前回の写真に赤いマスコンレバーが写ってます。ロータリーエンコーダの取り込みですが、INT1のD3をPWMに振ったので汎用ポートのレベル割り込みを使う事にしました。ATMEGA4809の割り込み設定はPORTレジスタをあれこれ弄らなくてはいけない様でどうしようと思いましたが、ダメ元でattachInterruptを使ってみたらあっさり動きました。
#define ENC_A 4
#define ENC_B 5
getSpeedLib::getSpeedLib()
{
...
attachInterrupt (digitalPinToInterrupt(ENC_A), ENC_READ, CHANGE );
attachInterrupt (digitalPinToInterrupt(ENC_B), ENC_READ, CHANGE );
...
}
Arduino IDEのシリアルモニタ
--------------------------
twaydcc C-Size DCC r0.2
--------------------------
on
ENC_READ:1,0,1,4
ENC_READ:1,1,2,4
ENC_READ:1,2,3,4
off
ENC_READ:0,3,0,5 // 1ノッチ
AnalogSpeed:1,254,255 // 加速開始
AnalogSpeed:2,253,255
AnalogSpeed:3,252,255
AnalogSpeed:4,251,255
on
ENC_READ:3,0,3,5
ENC_READ:3,3,2,5
ENC_READ:3,2,1,5
off
ENC_READ:0,1,0,4 // ノッチオフ
« C-SizeDCC 改訂版3 | トップページ | C-Size DCC »
「コントローラ」カテゴリの記事
- wio terminalその4(2022.05.02)
- wio terminalその3(2022.04.22)
- wio terminalその2(2022.04.14)
- ALTOISサイズ缶(2022.04.03)
- Wio Terminal(2022.01.29)
コメント