[[ファームウェア関数一覧>ファームウェア関数一覧#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] -