マイコンを開発するための開発環境の構築をする
ターゲットボードはLPC2388
IDEはEclipseを使う。
windows7 32bit,64bitだとコンパイルが通らない
多分utilsの中のプログラムがwin7に対応してない。
windows7でもコンパイルが通るようになった。
案の定utilsの中のsh.exeが原因だった。
ただしwindows7でやるとするとJTAGのドライバが署名なしが多いため
インスコができない。つうかいろいろ面倒なのでwindowsXPを用意したほうが吉。
2.マイコンで時間制御
マイコンで時間をカウントしてHigh出力/Low出力できるようになれば無職のおまえらでも
仕事がくるようになるので簡単に説明しとくわ。
まずマイコンでどうやって時間をカウントするのかっていうと
クロックっていう周期的な信号をカウントして時間を数えてる。
馬鹿なお前らでも時間をカウントするときは無意識のうちに頭の中で周期信号を数えてるわけ。
例えば1秒間に1000回繰り返す信号を1kHzの周期っていうんだけど、0.5秒を数えたかったら信号が
500回繰り返したところで手を挙げると0.5秒になるだろ。
んでマイコンとかで基準になるのはCPUの動作クロックなのよ。んでマイコンってCPUだけじゃ何も意味ないから
ペリフェラル(周辺機器)っていうのがあるわけ。このペリフェラルっていう言葉はたくさんある周辺機器をひとまとめにしてペリフェラルっていってるわけ。
具体的にはUARTとかタイマーとかGPIOとかそういうの。
CPUってのはオタクなおまえらだったら一度は触ったことあるだろうからイメージしやすいとおもうが、
ペリフェラルっていうとさすがのおまえらでもイメージつかねえだろ。
そういうときはタイマーっていうブロックがあるもんだと頭の中で想像しろ。
話は戻ってマイコンではタイマーっていうブロックが時間を数える仕事に特化した回路ブロックなのよ。
つうかタイマーっていうブロックは時間を数えるしか仕事できねえからまるでおまえらみたいだな(笑)
それでこのタイマーっていうのもマイコンの中で働いてるから動作クロックが必要なのよ。
それがペリフェラルクロックね。通常はペリフェラルクロックレジスタっていう設定するところがあって
CPUのクロックと同じにするか、その半分にするかその1/4にするか1/8にするかっていう分周できるわけ。
つまりCPUのクロックが4MHzのとき、ペリフェラルクロックレジスタで1/4にするって設定したら
タイマーは1MHzを時間の基準として動作する。
それでタイマブロックでカウントして時間をはかる。上記の例でいうと1MHzがタイマブロックの動作周波数だったら50万回繰り返し信号が来たところで手をあげると0.5秒がカウントされる。
でもさ馬鹿なおまえらでも気づいたかもしれないけどタイマブロックが高速で動作した場合、カウンタがオーバーフローするんじゃねえの?って思った?そのとおり。タイマブロックが例えば1GHzで動作した場合、1秒間で10億回信号が来るだろそれ以上はカウントできないわけ。カウンタが10億回までしかカウントできなかったら1GHzのとき1sまでしかカウントできないだろ。それじゃあこまるってんでプリスケーラっていうのがあってタイマブロックの動作周波数を分周するわけ。つまり1GHzの半分である500MHzでタイマをカウントしようっていうことそしたら2sまでカウントできるだろ。上の例はおまえらでもわかるように適当な数値でいってるだけだからそこんとこよろしく。
追記
タイマーブロックはおまえらほど無能じゃなかったw
タイマの機能は以下の三つね。
1)時間を計測(上の例で示したとおり)
2)回数を調べるカウンタモード(あるボタンが何回押されたか)
3)ある信号Aがきたのちにある信号Bが来るまでの時間を計測
最終更新:2011年06月12日 12:00