作業再開
作業再開
アナログ部分だけで止まっていたMIDI2CV3。ようやくドライバ・マイコン ATmega64 のコードをいじり始めた。
ドライバはMIDI信号を受信してノート信号を解釈してリレーをドライブする機能を持つ。
実は初モノづくしで敷居を感じている。ATmega64を使うのが初めてだし、シリアル通信のコードも自分で書いたものでなくてProcyon AVRlibを使うから。Procyon AVRlibを使おうと思ったのはATmega64がコード領域に余裕があることと、ATmega64はUARTを2系統もっているのだが、そのあたり綺麗に書いていたのがProcyon AVRlibだったので。
ざっくりとノートオン・オフを見るだけのテストプログラムができたのでビルドしてMIDIの入力をしてみる。
要らぬリレーがカチリと言う。
あ、今回UARTの送信は使わないのだった。とりあえずAVRlibに手を入れて直す。AVRlibは触らないとしたらどうするのがスマートだろうか。
反応が無い。
あ、ボーレートがデフォルトの9600baudのままだった。直す。
反応が無い。
MIDIの信号はきちんと出てるのかな? MIDIモニタで確認。出てるらしい。
反応が無い。
UARTの受信割り込みはかかっているのかな? ICEを繋ぐ。適当なところにブレークポイント入れて見る。うむ、掛かっている。しかしそのときのUARTデータバッファの内容がおかしい。0xFFってなんだよ。
きちんと信号がATmega64のポートに届いているのだろうか? オシロを繋ご…と思ったら時間切れになった。続きは週末…と思ったら今週末は出かけるのであった。次はいつだろうか。
ATtiny2313やATmega88で動いているコードをATmega64用に改造した自分のUARTライブラリを使えばよかったかなぁ。いやいや、世のライブラリの使いこなしにも慣れなくては。
1回当たり1時間足らずの細切れ検討だとなかなか進まないなぁ。
しかしまぁ、UARTのところをクリアしてしまえばグッと進むのではないか。