XMEGA-A4(5)
2010 年 4 月 18 日
USARTを動かすには、まずクロック周りをきちんと抑えないと
設定値の割り出しすら出来ない。
最近のCPUを使うにあたり、かならずといっていいほど躓くのが
クロック周りの設定。
各I/Oモジュールに供給できるクロック源が複数ある上に
そのモジュールと源振の間にPLLだのDLLだのプリスケーラーだのと
イロイロ通ってくるので、その辺の設定をよく読み解かないと
一体何Hzが選択されてるのかもわからない、というのが良くある。
しかも、分かりにくい。
気の利いたメーカーなら、その辺の設定値を算出するようなエクセルファイルがあったり
サンプルコードを用意してる。
XMEGAに至っては通常のI/Oポートではなく、
「どこかのビットをセットして何クロック以内に書き込め」とか
そんな制約が付いてる。
この場合、C言語で書いたんじゃ多分ダメだろう。
で、今回は。
ここまでに充分に時間があったにもかかわらず
実はドキュメントの詳細は殆ど読んでないという現実を鑑みて(爆
とりあえず、ATMELのサイトから
解説pdfとサンプルプログラム(AVR1003.zip)を取得。
コードを読む限り、問題はなさそうだったので
そのままリンクして、サンプルと同じように呼び出し。
とりあえず、クロック周りは解決。
内蔵32MHzで動いてるようだ。
でわ。
やっと本題。
・・・・つづく(ぉぃっ