AHT20温度および湿度センサーのデータ収集(I2Cプロトコルに基づく)

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リンクに従って接続します。
ここに画像の説明を挿入します
接続が完了したら、ケーブルを焼き付け、シリアルポートアシスタントを開いて結果を表示できます

おすすめ

転載: blog.csdn.net/java_creater/article/details/111567231