-3

こんにちは、マイクロコントローラーをプログラムしたいと思っていますが、その方法と必要なものがよくわかりません。必要な情報をどこで探すべきか、まったくわかりません。私は約11か月間Pythonでコーディングしており、言語の使い方をよく知っています. 私は過去に C++ を使用したことがあり、その言語についてもかなりの量を知っています。

マイクロコントローラーをプログラミングする場合、マイクロコントローラーは任意のコーディング言語でプログラムできますか?それとも、マイクロコントローラーでは特定の言語のみを使用できますか?

無限の質問がありますが、すべてを尋ねるつもりはありません。誰かが私を正しい方向に向けることができれば、とても感謝しています. ありがとう。

4

2 に答える 2

4

問題は「プログラムされた」という言葉にあります。マイクロプロセッサ (CPU のことですよね?) は通常、ハードウェアプラットフォームに固有のマシン コードを実行します。マシンコードは、メモリから読み取られ、特別な方法で解釈される単なるバイトです。これは、プロセッサがプログラムされる可能性のある最低レベルです (そして、いつの日かそのようにプログラムされました)。

この方法でプロセッサをプログラミングするのは非常に不便であるため、いわゆる「アセンブリ言語」が発明されました。基本的に、機械語コードの記号表現とその解釈規則のセットを定義するだけです。次に、トランスレータと呼ばれる特別なプログラムが、アセンブリ言語で記述されたプログラムの定義を含む一連のテキスト ファイルを取得し、マシン コードを含み、ターゲット プロセッサによって実行される可能性のあるものを生成します。(この「何か」の定義は難しいので、脱線しないようにしましょう。)

現在、別の上位レベルがあります —特定のハードウェア プラットフォームの詳細を抽象化し、特定のプロセッサを処理するのではなく、アルゴリズムCとデータ フォーマットに集中できるようにする言語(程度は低いですが) などの言語です。明らかに、これは特定の H/W プラットフォームの知識をコンパイラ(高級言語で書かれたプログラムのテキストを取得し、ターゲット プロセッサで実行可能なものを生成するプログラム) に移します。C++

現在、H/W プラットフォームの特殊性からほぼ完全に抽象化された言語を含む別の上位レベルがあります。スタック オーバーフローを読んでいるときにブラウザで実行される JavaScript が良い例です。その中のプログラムは、ブラウザを実行しているデバイスのプロセッサによって引き続き実行されますが、これらの JS スクリプトとプロセッサの間には多くの複雑なコード層があります。

ここまでで、あなたの質問に対する決定的な答えがないことがわかるはずです。寝室の PC の CPU の低レベル コードに手を出したい場合は、"x86 アセンブラー"、"intel アセンブラー" などでググってください。これは良い出発点です。他のプロセッサをプログラムする場合、使用する検索クエリは同様です。代わりに、 AVRのような特殊なプロセッサをプログラムしたい場合は、通常は特殊なツールが付属しているため、その製品マニュアルから始めてください。

于 2013-07-16T10:36:04.083 に答える
1

あなたが言ったように、「LEDフラッシュを作るなど、何か基本的なことをしたい」と言ったように、基本的な実用的なものを手に入れることに興味があるなら.

基本的なマイクロ コントローラを選択します。たとえば、8051 ファミリから 89c51 を使用します (NXP/Atmel は可用性に依存します)。最初にユーザーマニュアルを読んでください。それについての簡単なアイデア (全体的なアーキテクチャ) が得られます。プログラミングに関しては、マニュアルでのみ LED フラッシュの基本的なコードを見つけることができます (おそらく)。NXP マイクロコントローラーを使用している場合、Flashmagicソフトウェアはインターネットで無料でダウンロードできます。IDE (keil など)では、コーディングが完了したら、" .hex " ファイル作成することを忘れないでください。Flashmagic を開き、その中に .hex ファイルをロード、マイクロ コントローラーに書いた特定のコードを書き込んでください。

幸運を!!

于 2013-07-16T11:06:44.800 に答える