A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちわ。
MPLABですか。私は初耳ですが、PICのプログラムをするもののようですね。
一般的にですが、WindowsやLinuxなどPCのOS上でのプログラミングを行う場合、OS同梱のライブラリがハードウェアの利用を高度に抽象化してくれているため、デバイスドライバを書くような場合を除けばハードウェアを意識する必要はほとんどありません。ライブラリの任意の関数を呼べば(printfとか)、その目的を達成に必要とされるデバイスの詳細な制御は、基本的にライブラリが面倒を見てくれます。
しかし、PICのようなハードウェアそのものを制御するプログラムを書く場合には、ハードウェアの挙動を意識してプログラミングをする必要があります。ライブラリがないということはないと思いますが、抽象化の度合いは相対的に低いはずです。また、最終的には一番ハードに近いアセンブリ言語でデバッグをしたりするはずなので、本当に一番低いところの制御まで理解している必要があるはずです。
後者の方がとっつきにくいと思いますが、そこで学んだことは前者のプログラミングをする時にかならず役に立つので、頑張ってください。
No.2
- 回答日時:
こんばんわ。
たぶん求める答えは直接本には書いていないと思うので、極力簡単に説明してみます。
キーボードの"A"のキーを押すと、キーボードに入っているチップ(電子回路)が、どのキーが押されたかを番号で認識します(すべてのキーに通し番号がついていると思ってください)。
認識した番号を、キーボードからパソコン本体に送ります。たとえばUSB接続のキーボードであれば、内蔵のUSBの処理を行うチップがUSBの信号として先の番号を送ります。パソコン本体側にもUSBの処理を行うチップが搭載されており、受け取ったUSBの信号を解釈して、先の番号を取り出します。
取り出した番号は、パソコン本体に送られます。この番号を誰が受け取るかはパソコンの状態により異なります。電源投入直後であればBIOS(最近ならUEFI)というパソコン本体内蔵のチップに組み込まれている簡単なOSが、WindowsなどのOSが起動した後であればOSが同じように信号を受け取ります。細かく言うならば、実際に受け取るのはそれらのOSの入力を司る部分ということになります。
信号を受け取ったBIOSやOS(の入力を司る部分)は、取り出した番号を見てキーボードで"A"が押されたことを知ります。そうしたら、今度はOSの中の画面出力を制御している部分に"A"という文字を描画するように指令を送ります。
"A"を描画しろという指令を受けた画面描画を司る部分は、それをモニタに描画するためのデータに変換してからモニタに信号を送り、最終的にモニタに"A"が描画されます。画面のどこに何を描画するかは原則としてOSが決めていて(他に表示すべきデータもあるので)、モニタに送られるのはあくまで最終的が描画イメージだけだと思ってください。
"プログラム"という意味での登場人物は、
1. キーボードに内蔵されている、押されたキーを検出するチップ
2. キーボードに内蔵されている、パソコン本体と通信を行う機能を司るチップ
3. パソコンに内蔵されている、キーボードとの通信を行う機能を司るチップ
4. パソコン本体で動作しているOS (埋め込みのBIOSもしくはWindowsなどのいわゆる"OS")
5. パソコンに内蔵されている、モニタとの通信を行う機能を司るチップ
6. モニタに内蔵されている、パソコンとの通信を行う機能を司るチップ
というところでしょうか。かなり単純化していますので厳密に言えば異なりますが。
4.以外のチップにはそれぞれ対応する機能を実装するためのプログラムが製造工程で焼きこまれています。チップに焼かれたプログラムは後から変更することは原則としてできませんが、逆に高速に処理ができ、かつ製造単価が安いのが特徴です。
4.のパソコンの中にあるOSは、WindowsやLinuxなど後から利用者が意のままに変更できますが、柔軟性に富む = 処理が複雑になるため、相対的に非常に高機能なチップを大量に利用します。質問者さんがイメージしている"プログラム"に一番近いのは、おそらくここで動いているものでしょう。
早速のご回答ありがとうございます。
私が以前質問したことなんですけど、MPLAB の printf を使うことが出来なくて、質問したことがあるのです。MPLAB では、通信の機能を使って、やるようなんですけど私がようやらんのです。他の c言語(LSIC ?) 等では一発で出力しますよね。 (LSICは正しいかどうか自信がありません)
No.1
- 回答日時:
学校で教えて貰うか
入門書を紐解いてください
この場はそう言う質問には向いてません
この場で説明出来る範囲で言えば
キーボードが機械的な動きを電気的な信号に置き換える
置き換えられた電気信号をOSという基本ソフトが検知して必要な処理を行う
その結果、モニタという機械に光学的なシンボルが表示される
プログラムといえなくもないが・・・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) プリントスクリーンについて 6 2022/11/23 11:17
- マウス・キーボード scroll Lockキーを解除したけれど。 1 2022/09/16 09:23
- マウス・キーボード パソコンのゲームで押しずらいキーがあったのでchange keyというキーの割り当てを変える ソフト 1 2023/03/17 09:43
- マウス・キーボード パソコンが壊れた訳ではないが少しおかしい。 2 2022/09/15 18:52
- その他(プログラミング・Web制作) Scratchについてです 作ったプログラムをコンピュータに保存してそのまま何もいじらずにそのプログ 1 2022/05/19 18:51
- Word(ワード) IMEパッドがショートカットキーで開かないのですが。。。 5 2023/06/11 09:23
- iPad ipadパワポ スライドショーのページジャンプについて 1 2022/10/18 06:37
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- 中学校 技術の宿題で、次のうちコンピュータが組み込まれているのはどれでしょうという問題が出ました。 照明機器 11 2022/06/09 20:26
- 囲碁・将棋 ぴよ将棋。データはどうやって保存してあるの? 1 2023/04/17 14:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iMac(G4)のCDイジェクトについて
-
キーボードに・・・(アダルト...
-
キーボード設定アシスタントが...
-
Bluetoothキーボードでカッコが...
-
Boot Campでのキーボード配置
-
Android USBキーボード 日本語 ...
-
黒い枠が出て困っています
-
MacでWinのキーボード。イジェ...
-
Red Hat Linuxのキー配列。アン...
-
Macのテンキー・456の入力がで...
-
Macのアンダーバーについて。
-
キーボードの「Y」の字だけ打...
-
アイコンなどに黒枠が
-
デリートキーと?キーが効かない
-
Macで画面がズームアップしてし...
-
マウスを動かすとデスクトップ...
-
F4で開かれているすべてのウイ...
-
キーボードが押しっぱなしにな...
-
メモリなしでPCは起動する?
-
パソコンの動作を制限するソフト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プリントスクリーンをボタン一...
-
Macのアンダーバーについて。
-
Bluetoothキーボードでカッコが...
-
キーボードの「Y」の字だけ打...
-
最小化したウインドを再表示す...
-
マウスを動かすとデスクトップ...
-
Red Hat Linuxのキー配列。アン...
-
黒い枠が出て困っています
-
勝手にスペースが連続して入っ...
-
再起動すると「Entering Setup...
-
キーボード設定アシスタントが...
-
i mac で音量調節キーが効かな...
-
至急回答お待ちしております。 ...
-
自作pc アメリカンメガトレンド...
-
パソコンでいう「テンキー」と...
-
Macで画面がズームアップしてし...
-
Capslockの大文字、小文字の関...
-
mac miniのモニタとしてノート...
-
キーボード操作にロックをかけ...
-
Android USBキーボード 日本語 ...
おすすめ情報