質問

特に8051でマイクロコントローラーのc言語のサンプルコードに「printf」命令が表示されます。マイクロコントローラーには固定出力ディスプレイがないため、「printf」命令の使用は何ですか?

役に立ちましたか?

解決

可能性が高いため、RS232ポートを介して、または回路内エミュレータからの仮想出力としてデバッグコンソールを接続できます。

他のヒント

printfは、「出力ディスプレイ」ではなくstdoutに出力するように定義され、stdoutは任意のストリームデバイスである場合があります。通常、ディスプレイのないシステムでは、シリアルインターフェイス(UART)に出力されるため、ターミナルまたはターミナルエミュレータ(たとえばハイパーターミナルまたはテラルム)をディスプレイデバイスとして使用できます。

いくつかの開発環境は、STDIO、STDIN、およびSTDERRで、さらにはデバッガーインターフェイス(JTAG、ICE、SWDなど)を介して開発ホストによってファイルシステムが提供される「半ホスティング」を実装しています。

通常、コンパイラのライブラリはフックまたはスタブを提供して、代替ストリームI/Oデバイスのドライバーを実装できるようにするため、たとえば、Printfがデバイスにある場合はLCDディスプレイに出力されるように実装できます。これは「リターゲティング」と呼ばれます。

マイクロコントローラーをPCのシリアルポートにインターフェイスし、データを監視できます

printf

ハイパーターミナルの使用。また、診断目的で使用できます

いくつかの開発ツールを使用すると、使用できます printf の実装が与えられた PutChar また putch. 。このようなツールでは、この関数がいくつかのデバイスに文字を送信するため、PrintFはそのデバイスにメッセージを表示します。

正しいデバイスの初期化、PutChar、Putchなどを実装するだけで(コンパイラ/LIBドキュメントをチェックしてください)、Voilá!あなたのprintfはあなたが期待しているように振る舞います。

PS:一部のコンパイラ/ライブラリ 実装しないでください すべてのprintfフォーマット仕様。繰り返しますが、ドキュメントを確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top