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限定であるため、訂正機能は持ちえません。 引数 †
出力値 †
戻り値 †
呼び出し関数 †
サンプル †/* Enable the I2C1 PEC transfer */ I2C_TransmitPEC(I2C1, ENABLE); 参照 † |