IOの初期化は、基本的にピンの割付表にしたがって行うだけなので、簡単に行えます。
プログラムの作成条件
コードのエッセンスですのでいろいろと制約はありますが、内蔵のタイマを効果的に利用すると、こんな簡単なコードで、音を出すことが出来ます。
タクトスイッチで音を変えたり消したりするコードです。このような処理では、チャタリングに配慮する必要がないので、簡単な処理を示します。
7セグメントLEDに数値のパターンを与える処理と、それをダイナミック点灯させる処理です。
AVR-PICO-3Sの入出力機能は、これで全てつかえるようになりました。
これらをまとめて、7セグメントLED上で、簡単な0.1秒カウンタを走らせてみましょう。
このプログラムは、mainのforループで、_delay_ms(1)を利用して、1ms無駄に捨てては、本命の処理をささっとして。。。という処理を繰り返して、プロセッサのほとんどの時間を捨てているのでちょっともったいないですが。。。全ての性能を使い切るとどれほどの処理が出来るのかどきどきしますね。
これだけの処理で、まだ660バイトのフラッシュと、15バイトのSRAMしか使っていません。まだまだメモリはたくさん使えますので、ゲームでも何でもドンドン書けそうですね。
まずは、これだけのコードがあれば、AVRチップのことをあまり知らなくても、C言語でいろいろなことを試すことが出来ます。また、AVRチップの勉強をすれば、生のハードウェアをどんどんたたいて、さらにいろいろな可能性を試すことが出来ますね。
この赤く小さな基板の上に、皆さんのアイディアを形にしていってください。
タイマ割り込みを利用したモニター機能などは、また別の機会に。。。。