ファームウェア関数一覧

I2C_TransmitPEC

ヘッダ宣言

関数プロトタイプ

I2C_TransmitPEC(I2C_TypeDef* I2Cx, FunctionalState NewState)

動作

I2Cx周辺回路のI2CバスでPEC送信を有効・無効化します。

PECはSMBusのNetwork層で提供される機能で、エラー検出を行います。従って、I2C機能をSMBusとして使用するときに有効です。

名前の通りエラー検出だけを行うもので、訂正機能までは入っていません。ベースとなるのはCRC8で、「必要に応じて」付加する事が出来きます。PECのサイズは8bitなので1Byteのデータに1Byteのエラー検出コードが付く形になります。従って転送効率は最悪半分になってしまいます。(1.8KB/sec)

PECは、必ずしも8bitあたり1つという訳ではなく、例えば16bitのデータ転送の場合も、付加されるPECは1つ(8bit)のみでてす。元来CRCは適切な長さを選べばエラー検出と訂正が可能になりますが、元データが不定長でCRCが8bit限定であるため、訂正機能は持ちえません。

引数

  • I2Cx
    I2C1又はI2C2を指定します。

  • NewState


    NewState説明
    ENABLE有効にします
    DISABLE無効にします



出力値

  • 無し

戻り値

  • 無し

呼び出し関数

  • 無し

サンプル

/* Enable the I2C1 PEC transfer */
I2C_TransmitPEC(I2C1, ENABLE);

参照


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-10-14 (金) 10:21:48