学習メモ|printf 関数の実装|さまざまなオペレーティング システムでの改行|数値ベース: 2 進数、10 進数、16 進数の変換|STC32G MCU ビデオ開発チュートリアル (Chongge)|エピソード 5: C 言語の基礎

1. C言語によるprintf関数の実装

printf はフォーマットされた出力関数を指し、その主な機能は、指定されたフォーマットで情報を標準出力デバイスに出力することです。Printf は C 言語の標準ライブラリ関数であり、ヘッダー ファイル <stdio.h> で定義されています。printf 関数の一般的な呼び出し形式は、printf("<formatted string>", <parameter table>) です [1]。文字、数字、スペース、および一部の数値記号に加えて、出力文字列では特別な意味を表現するためにいくつかのエスケープ文字を使用することもできます。
printf は STC32 で再実装されました。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

ヒント: ASCII コード表

ここに画像の説明を挿入

ヒント: ヘッダー ファイルが見つからない場合はどうすればよいですか?

Chongge ビデオに添付された各レッスンのテスト プログラムは、いくつかのヘッダー ファイルを使用します。これらはすべて、各レッスンのリソース パッケージの COMM フォルダーにあります。プロジェクトを開いた後、options-C251 を lib パスに追加します。
ここに画像の説明を挿入

再コンパイル後、コードは合格します。
注: このセクションのプログラム コードの追加を開始する前に、正しくコンパイルする必要があります。

主な機能追加プログラム:

		if( DeviceState != DEVSTATE_CONFIGURED ) 	//
			continue;
		if( bUsbOutReady )
		{
			usb_OUT_done(); //接收应答(固定格式)
			//用户需执行的printf代码段
		}

一般的な使用法:

			printf("%03.3f\r\n",1.12);
			printf("%u \r\n",1<<3);

前のレッスンで作成したデモ: 0.Sample -CDC を開き、名前を C-Printf 実装に変更し、プロジェクトを開いてコンパイルします。問題や警告はありません。
登録された COMM が参照するヘッダー ファイルは Chongge Video サポート アクセサリを使用する必要があり、最新バージョンのヘッダー ファイルと相違がある場合、コンパイルは失敗します。
CDC シリアル ポートの生成には時間がかかるため、STC-ISP を開き、リピート遅延として 2 ~ 3 秒を選択します。
各ダウンロードの前にカスタム コマンドを送信するようにチェックを入れると、ターゲット ファイルが開発ボードにダウンロードするように変更されたときに自動的にロードしてダウンロード コマンドを送信できます。
ここに画像の説明を挿入
USB-CDC/シリアル ポート アシスタントを選択します。
ここに画像の説明を挿入
シリアル ポートがデータを返したことがわかります (テキスト モード)。後で printf を使用して温度やその他のデータを出力できます。

ヒント: さまざまなオペレーティング システムでの改行

Windows システムでキャリッジ リターンを入力する場合、入力される文字は \r\n、UNIX システムではキャリッジ リターン文字は \n、Mac システムではキャリッジ リターン文字は \r です。
文字を表すのは16進数で、文字「0」を例にすると、16進数で30、10進数に直すと48となります。
ここに画像の説明を挿入
ここに画像の説明を挿入

⒉ 数値体系: 2 進数、10 進数、16 進数。

一般的な通信:

ここに画像の説明を挿入
ここに画像の説明を挿入

16進数のfは2進法で4桁を表し、 2進数から
ここに画像の説明を挿入
10進数への変換の計算方法:10進ここに画像の説明を挿入
ここに画像の説明を挿入
数を16進数に変換すると、10進数を16で割ると、「f」(10の位)に相当する整数15が得られます。
ここに画像の説明を挿入
残りの 11 は b に対応し、251 はすべて fb に対応します。これは計算機の結果と一致しています。
ここに画像の説明を挿入

2 進数を 16 進数に変換するには、4 桁のグループ (2^4=16) が 16 進数に対応し、ビットごとの対応は次のようになります。

ここに画像の説明を挿入

アプリケーション: 統合ポート操作

P2 照明コードを次のように設定します: P2 = 0xED; //11101101

3. C言語でよく使われる演算子

1. 算術演算子

加算 (+) 減算 (—) 乗算 (*) 除算 (/)
モジュロ (剰余) 演算子 (%): 浮動小数点型は使用できません。剰余の正または負は、正または負の
自動インクリメントによって決まります。被除数 (++i, –i ;i++,i–)

2. ビット演算子

右シフト (>>) 左シフト (<<)ビット単位の
AND (&)
ビット単位の OR (|)
ビット単位の XOR (^)
否定 (~)

テストコード

			printf("%u \r\n",1<<1);

			printf("%u \r\n",1<<2);

			printf("%u \r\n",1<<3);

			printf("%u \r\n",0x11 & 0x10); //

			printf("%u \r\n",0x11 | 0x10); //

			printf("%u \r\n",~0x11); //

コード操作の結果:
ここに画像の説明を挿入

左シフト演算:
ここに画像の説明を挿入
コード演算解析:
ここに画像の説明を挿入

4. 基本的なデータの種類

ここに画像の説明を挿入

要約する

1. printf のフォーマットされた出力を学習します (後で繰り返し使用します)
2. 基数を理解します
3. 加算、減算、乗算
、除算などの演算子を学習します 4. データ型と数値範囲を理解します

授業後の演習: printf の使い方を自分で練習します。

おすすめ

転載: blog.csdn.net/Medlar_CN/article/details/132229859