AHT20温度および湿度センサーのデータ収集(I2Cプロトコルに基づく)
I2Cプロトコルの概要
- ハードウェア(ファームウェア)I2Cはチップ上のI2C周辺機器に対応し、対応するI2C駆動回路があり、使用されるI2Cピンも専用です
- ソフトウェア(アナログ)I2Cは通常GPIOピンを使用し、ソフトウェアはピンのステータスを制御してI2C通信波形をシミュレートします
- ハードウェアI2CとソフトウェアI2Cの違い:
ハードウェアI2Cの効率はソフトウェアの効率よりもはるかに高く、ソフトウェアI2Cはピンによって制限されず、インターフェイスはより柔軟です。
ハードウェアI2Cは構成のために内部レジスタを直接呼び出します。ソフトウェアI2CはGPIOを使用します。動作モード
ハードウェアI2CはIOポートの機能(I2C機能)で構成され、ソフトウェアI2CはIOポートの機能で構成されません。
ハードウェアI2CのI2C書き込み機能はレディと呼ばれます。-作成された関数またはレジスタへの値の割り当て。ソフトウェアI2Cはビットの方法でデータを送信します。ビットはシミュレーションによって送信され、ループを使用する必要があります
。コードの量から判断すると、ハードウェアI2Cのコードの量は次のようになります。ソフトウェアI2Cよりも小さい。
ハードウェアI2Cの使用法はより複雑で、ソフトウェアI2Cのプロセスはより明確である。一部の
ハードウェアI2CはソフトウェアI2Cよりも高速である。速度は速く、ハードウェアI2CはDMAを使用できる。
ハードウェアI2C固定ピンにのみ配置できます。アナログI2Cは任意のピンに配置できます。
ソフトウェアI2Cは、プログラマがプログラムを使用してSCLおよびSDAラインを制御し、高レベルと低レベルを出力してI2Cプロトコルのタイミングをシミュレートします。ハードウェアI2Cよりも安定していますが、プログラムは面倒ですが、
ハードウェアI2CプログラマーがSCLとSDAの高レベルと低レベルの出力を直接制御する代わりに、I2C制御関数を呼び出すことは難しくありませんが、一部のシングルのハードウェアI2Cは-チップマイクロウェアはあまり良くありません。安定していて、多くのデバッグの問題があります
プログラムの書き込み
プロジェクトファイルのダウンロード
リンク:https://pan.baidu.com/s/1_9a809N5EZrmR9gaJ9Ijfw(エキスコード:SSTC)
オープンBH-F103.uvprojxファイルパスI2C_AHT20 \プロジェクト\ RVMDK(UV5)下で
何の問題もなく、それをコンパイル
する前に、書き込み
次の設定を設定して、16進ファイルを生成します。16進ファイルのみをstm32に書き込むことができます。
このページで[デバッグ]をクリックし、[ST-link]を選択して書き込みます。
次に、デバイスを
接続し、センサーの4つのピンを次のように接続します。DuPontケーブル注ピンを見てください。
対応するインターフェースVCC→3V3、GND→GND、SCL→PB6、SDA→PB7の接続に注意してください。
デュポンケーブルを使用して、ボードのロゴとSTリンクに従って接続します。
接続が完了したら、ケーブルを焼き付け、シリアルポートアシスタントを開いて結果を表示できます
。