[[ファームウェア関数一覧>ファームウェア関数一覧#u5cbf254]]
*I2C_Init [#i94bb5ea]
#contents
**ヘッダ宣言 [#m6480c70]

**関数プロトタイプ [#yd54e0a9]
 void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct)
**動作 [#je75e26b]
-I2Cx周辺回路を初期化します。
**引数 [#ba70e444]
-I2Cx&br;
I2C1又はI2C2を指定します。&br;
&br;
-I2C_InitStruct&br;
'''stm32f10x_i2c.h'''ファイルで定義されている'''2C_InitTypeDef'''構造体へのポインタです。&br;
&br;
 typedef struct
 {
 uint16_t I2C_Mode;
 uint16_t I2C_DutyCycle;
 uint16_t I2C_OwnAddress1;
 uint16_t I2C_Ack;
 uint16_t I2C_AcknowledgedAddress;
 uint32_t I2C_ClockSpeed;
 } I2C_InitTypeDef;
&br;
--I2C_Mode&br;
I2Cの動作モードを以下のマクロから選択します。&br;
&br;
#include(Macro/I2C_Mode,notitle)
&br;
--I2C_DutyCycle&br;
I2C Fastモードでのデューティ・サイクルを以下のマクロから選択します。&br;
I2CがFastモードの場合のみ、この設定は重要な意味を持ちます。&br;
&br;
#include(Macro/I2C_DutyCycle,notitle)
&br;
--I2C_OwnAddress1&br;
自分自身のI2Cアドレスを7bit、又は10bitで設定します。&br;
&br;
--I2C_Ack&br;
ACKの自動応答の有効・無効を以下のマクロから選択します。&br;
&br;
#include(Macro/I2C_Ack,notitle)
&br;
--I2C_AcknowledgedAddress&br;
ACK応答を返すアドレス幅を以下のマクロから選択して定義します。&br;
&br;
|#include(Macro/I2C_AcknowledgedAddress,notitle)
#include(Macro/I2C_AcknowledgedAddress,notitle)
&br;
--I2C_ClockSpeed&br;
I2Cバスのクロック速度を400KHz以下で設定します。&br;
&br;
**出力値 [#h69f88b5]
-無し
**戻り値 [#b53add20]
-無し
**呼び出し関数 [#bae756d8]
-無し
**サンプル [#n33cf11a]
 /* Initialize the I2C1 according to the I2C_InitStructure members */
 I2C_InitTypeDef I2C_InitStructure;
 I2C_InitStructure.I2C_Mode = I2C_Mode_SMBusHost;
 I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
 I2C_InitStructure.I2C_OwnAddress1 = 0x03A2;
 I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
 I2C_InitStructure.I2C_AcknowledgedAddress =
 I2C_AcknowledgedAddress_7bit;
 I2C_InitStructure.I2C_ClockSpeed = 200000;
 I2C_Init(I2C1, &I2C_InitStructure);
**参照 [#h07c596a]
-

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