日々の記録

ほどよく書いてきます。

マイコン

2012年11月22日 00時41分08秒 | 電子工作
マイコンに手を出して1年ほどになる。
始めにマイコンを買ってから6年ほどになる。5年ほど寝かせました。

初めはCコンパイラがなくて、意味も分からずアセンブラだったのだが、ATMELのAVR Studio6.0からVisual Studioベースの開発環境になり、WinAVRを後から入れなくてもCコンパイラが付いてくるようになった。

そのC言語もよく分からない&レジスタ設定がよく分からないで放置していたが、Arduinoというマイコンボードが簡単そうだったのでこれから手を付けてみた。
Arduinoは環境設定などが簡単に済んですぐにプログラムが作れるようになっていて便利。PWMの設定を・・・なんて考えずにAnalogWriteを使えばおしまい。

というわけでマイコンに少しずつ慣れ親しんできたら、おもしろくなってきてマイコンを買い足した。

32ビットマイコン:STM32ディスカバリ(なんと1000円以下!)、STBee mini、NXP LPC1114(トラ技のオマケ)
8ビットマイコン:Arduino UNO R3, ATTiny2313, ATMega168などATMELの製品。

32ビットマイコンは動作周波数が48MHzとか高速だし、演算も速そうなのだが、使いこなせないだろうと思う。ROMの容量はたくさんあるので結構複雑なプログラムが作れるだろう。

8ビットマイコンのほうは、ピンのIOレジスタがわかりやすいので便利。ArduinoはATMega328を搭載しているので基本はAVRマイコン。AVRのレジスタ設定のコードがそのまま使えたりと便利。


マイコンの動作はすべてプログラムで書かれるが、こいつがなかなか難しい。計算とかなら別に問題ないんだけど、スイッチの長押しとかダブルクリックとか、シングルクリックをどうやって検出するかといったところから考えるから結構難しい。

ボタンが押されたら割り込みをかけ、タイマを設定し再度割り込ませる。タイマで割り込みがあったときにボタンがまだ押されて要る状態なら長押し、、、とか?ダブルクリックのようにボタンから手を離すモーションを検出できない。
チャタリングの問題もあるので、タイミング考えずに適当に作ると意図しない動作になる。

とまあ、そんなのを考えつつプログラム作るのはなかなか楽しいですね。


PICは昔友達にもらったけど全然手をつけてないや。
コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする