• ベストアンサー

制御プログラム

私はマイコンの勉強をしているのですが(今できるのはPICだけです)私の今のマイコンのイメージでいくと、タイマーやPWMやシリアル通信などの内蔵モジュールを使っていろいろ制御をする感じなのですが、求人などに良くあるファームウエアやドライバとは実際どのような感じで出来ているのでしょうか。 内臓モジュールを使って作っているのでしょうか、またリアルタイムOSなどの通信などのライブラリとかがあってそれをを使っているのでしょうか、全部自分で作っているのでしょうか、いろいろなパターンがあるとは思いますが、だいたいどんな感じなのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

大雑把にいうと ファームウエアは装置に組み込まれるプログラムです。 ドライバはPC上のプログラムで、装置とアプリケーションの仲立ちをするものです。 インクジェットプリンタで説明すると アプリケーションから印刷指定された画像や文字を プリンタが認識できる制御コードに置き換え、 プリンタに1バイトずつ送信する。 これがドライバの仕事です。 PCから1行分または1ページ分のデータを受け取ったら 各色のドット情報に展開して 紙送りをしつつヘッドのモータを動かし、 タイミングを取りながら必要なインクを吹き付けていく。 これがファームウエアの仕事です。

nugenuge
質問者

お礼

ありがとうございます。 ひとつのプリンターで例えてくれたことが、とっても分かりやすかったです。おかげでなんとなく見えてきました。 あと、これからH8かSHどちらかをやろうと思っているのですが、どちらにしようか迷っていますどちらかお薦めがあれば(例えばリアルタイムOSでこういうのがあるからこっちがいいとか)難しい制御をするならやっぱりSH?どうせならSHって感じかな・・・?どうなんでしょう。

その他の回答 (1)

  • 12m24
  • ベストアンサー率23% (193/817)
回答No.1

 マイコンを利用するとき、極力ハードでできることはハードにやらせます。  たとえばRS232通信モジュールを搭載しているモデル(PIC16F87シリーズなど)は、シリアル通信は内臓モジュールを有効にしてから、ドライバICに送り出します。  こうすることで無駄にタイマを利用することがなくなり、ハードウェアを有効に利用、精度も向上するようになっています。

nugenuge
質問者

補足

お答えありがとうございます。私はそういった仕事がしたいと思っているのですが、求人をいろいろ見ているとファームウエアやドライバと一言で書かれていて物によっても内容はぜんぜん違うと思うのですが、お答えの内容だとファームウエアになるのでしょうか、その辺が良く分からなくイマイチいろいろと動けずにいます。できればその辺(ファームの仕事は、ドライバの仕事はみたいな感じで)を教えていただけませんでしょうか。(まちまちで難しいとは思うのですが。)私は機械の制御がしたいと思っているのですが、なかなか調子いいものが無くわからない状態にいます。 おねがいします。

関連するQ&A