この前、秋葉原の秋月電子で購入した ATTiny13 を使ってみました。
チップを手に持った感触は「ちっ小さい!」です。
この小さなチップを購入した理由は・・・
センサーを付けるのに、どうせ2~3ポートしか使わないのなら、小さなチップで良いんじゃない・・・単にそれだけ。
まずは、ブレッドボードに挿してみます。
さっそく、LEDを一つだけ接続して、プログラムの書き込みテストをやります。
実験1
まずは、LEDを光らす → 成功
実験2
LEDを消す → 成功
実験3
タイマーを使って10ms待ちのサブルーチンを作り、LEDを点滅させる。
あれ? 点滅がやけに遅い・・・また10倍掛かっているような感じ・・・
調べたら、クロックが9.6MHzになっていた。 (逆に早いじゃない!)
ちゃんとデータシートを調べて、タイマーの分周も1024を指定しているし・・・他にも分周する指定があるのかな? と思って、データシートでタイマー関係のレジスタを見ても・・・別に指定はなさそうです。
なんとなく8倍の時間が掛かっているようなので、何か設定がされてしまっているようです。
あきらめて、データシートを最初から、順に読んでいくと・・・
これだ!
レジスタの設定ではなく、ヒューズの設定で CKDIV8 が有効になっていました。
この CKDIV8 の設定を無効にしたら、ちゃんと10ms待ちのサブルーチンになりました。
なんか、AVRで新しいことをやるたびに、ハマルなぁ~