[[ファームウェア関数一覧>ファームウェア関数一覧#u5cbf254]]
*I2C_TransmitPEC [#z504c6dd]
#contents
**ヘッダ宣言 [#u890346a]

**関数プロトタイプ [#d4d5c5de]
 I2C_TransmitPEC(I2C_TypeDef* I2Cx, FunctionalState NewState)
**動作 [#m35d6d6d]
-I2Cx周辺回路のI2CバスでPEC送信を有効・無効化します。
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限定であるため、訂正機能は持ちえません。
**引数 [#fa2e90ce]
-I2Cx&br;
I2C1又はI2C2を指定します。&br;
&br;
-NewState&br;
&br;
#include(Macro/NewState,notitle)
&br;
**出力値 [#y609b178]
-無し
**戻り値 [#b90d623f]
-無し
**呼び出し関数 [#n9449afe]
-無し
**サンプル [#va6b3e16]
 /* Enable the I2C1 PEC transfer */
 I2C_TransmitPEC(I2C1, ENABLE);
**参照 [#xff5a579]
-

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS