シミュレータでそれなりに動くことがわかったので、
TINY2313に流し込んで、サクッと回路組んで動かして
みることに。
久々にAVRISPmkIIを取り出してきて、hexファイルを
書き込んでみる。エラー。お?
この間このTINY2313ボードを使ってたときはちゃんと
読み書きできてたはずなんだけどなぁ。なんでだ?
色々ともがく。まずはチップ不良を疑って、新品の
TINY2313に差し替えて書いてみる。書けた。やっぱ
チップの不良か?
fuseビットも書いてみる。んで、ベリファイ。
…エラー。お?なんで?
ここからしばしドハマリする。
AVRISPmkIIのファームが逝ったか?と思ってファーム
のアップデートを行ってみる。エラー。
AVRISPmkII自体が壊れたのか?と思って色々探ってみる。
マニュアルでファーム書き換えする方法がpdfに載って
たので試してみる。ちゃんとアップデートできた。よし。
改めてhexを書いてみる。エラー。おかしい…。
新しいTINY2313を挿して再度書いてみる。書けた。
fuseビット書き換え。出来た。ベリファイ。エラー。
ん?デジャブー?
もしや…fuseビット書いたら通信出来ないってことは、
クロックを外部にした途端にってこと?TINY2313ボード
に挿してあった16Mhzのセラロック???
セラロックを別のに差し替えてみる。脚がもう少し
カチッと刺さるタイプに。
おぉ。サクサク読み書きできるようになった。なったよ。
ふぅ。
ようやくもとの作業に戻る。
ブレッドボードに配線して、イヤホンとUSBシリアル
コンバータを接続。PC側ソフトには「シリアルデバッグ
ツール」を使用して、シリアルコマンドでレジスタの
設定値を送信してみる。
お!ちゃんと鳴った!!!
シミュレータで試したようなことを一通りやってみる。
・toneの周波数を変えてみる。変わる。
・ボリウムを変えてみる。変わる。
・3ch同時に鳴らしてみる。鳴る。
・エンベロープ掛けてみる。掛かる。
・ノイズを鳴らしてみる。鳴る。
・ノイズの周波数を変えてみる。変わる。
おぉ。バッチリだな。
とりあえず疎通としてはかなりイイカンジまで動いた
んだけど、さらに色々弄っていたら、1点だけ変。
エンベロープパターンのうち、永遠に繰り返し
するやつはちゃんと出るんだけど、1波形だけ
出て2波形目から最小か最大音量に張り付くタイプ
(繰り返ししないエンベロープ)のヤツがうまく
巻き戻らない。2波形目以降の値(lowかhighに
張り付きっぱなし)になっちゃう。何でだろう?
サックリとソースを眺めてみるも、ちゃんと
巻き戻しするように作ってあると思うんだけどなぁ。
まぁ、あとでちゃんと眺めなおしてみよう。
とりあえずここまで進んだので、プチ満足。
通信速度はもうちょっと速くしたいのと、この
バグっぽいのの原因調査だな。
それにしても、AVRISPmkIIが壊れてなくてよかった。
http://headlines.yahoo.co.jp/hl?a=20120510-00001606-yom-int
これは、去年の震災後の冷静な日本人の対応を見ての
結果なのかな。それにしても、中国がずいぶん上位に
居るなぁと思ったんだけど、「悪い」の数値も大きい
から、差し引きしたらまたちょっと違う結果になる
んじゃないかな。日本も「悪い」の数値はドイツや
カナダより大きいもんなぁ。
|