[[ファームウェア関数一覧>ファームウェア関数一覧#u5cbf254]]
*I2C_ARPCmd [#u0536296]
#contents
**ヘッダ宣言 [#h22f93fd]
**関数プロトタイプ [#kbf19050]
void I2C_ARPCmd(I2C_TypeDef* I2Cx, FunctionalState NewState)
**動作 [#n7668dea]
I2Cx周辺回路のARPを有効・無効化します。
ARPはTCP/IPのAddress Resolution Protocol(アドレス解決プロトコル)と同様に新規に追加されたSMBus Deviceのアドレスがうまく他とぶつからないようにレイアウトするための仕組みです。
SMBus上でのARPを使ったDeviceへのアドレスの割り振りは、UDID(Unique Device Identifier)という128bitのデータ構造を利用します。各SMBus Deviceは必ずこのUDIDに必要なパラメータを保持する必要があります。
#ref(UUID.PNG)
ARPではSMBus Hostが各デバイスからこのUDIDを取得し、これに基づいてアドレスの振り方を決定するという仕組みになっています。
**引数 [#v908c2f2]
-I2Cx&br;
I2C1又はI2C2を指定します。&br;
&br;
-NewState&br;
&br;
#include(Macro/NewState,notitle)
&br;
**出力値 [#e759dbc4]
-無し
**戻り値 [#m4af8e72]
-無し
**呼び出し関数 [#uf5b4535]
-無し
**サンプル [#b11049a6]
/* Enable the I2C1 ARP feature */
I2C_ARPCmd(I2C1, ENABLE);
**参照 [#x30b2aab]
-