ファームウェア関数一覧

I2C_Init

ヘッダ宣言

関数プロトタイプ

void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct)

動作

  • I2Cx周辺回路を初期化します。

引数

  • I2Cx
    I2C1又はI2C2を指定します。

  • I2C_InitStruct
    stm32f10x_i2c.hファイルで定義されている2C_InitTypeDef構造体へのポインタです。

    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;

    • I2C_Mode
      I2Cの動作モードを以下のマクロから選択します。

      I2C_Mode説明
      I2C_Mode_I2CI2Cモードに設定します
      I2C_Mode_SMBusDeviceSMBusデバイス・モードに設定します
      I2C_Mode_SMBusHostSMBusホスト・モードに設定します

    • I2C_DutyCycle
      I2C Fastモードでのデューティ・サイクルを以下のマクロから選択します。
      I2CがFastモードの場合のみ、この設定は重要な意味を持ちます。

      I2C_DutyCycle説明
      I2C_DutyCycle_2I2C Fastモード時のデューティ比を1:1にします
      I2C_DutyCycle_16_9I2C Fastモード時のデューティ比を16:9にします

    • I2C_OwnAddress1
      自分自身のI2Cアドレスを7bit、又は10bitで設定します。

    • I2C_Ack
      ACKの自動応答の有効・無効を以下のマクロから選択します。

      I2C_Ack説明
      I2C_Ack_EnableACK応答を有効にします
      I2C_Ack_DisableACK応答を無効にします

    • I2C_AcknowledgedAddress
      ACK応答を返すアドレス幅を以下のマクロから選択して定義します。

      II2C_AcknowledgedAddress説明
      I2C_AcknowledgeAddress_7bit7-bit アドレスを定義します
      I2C_AcknowledgeAddress_10bit10-bit アドレスを定義します

    • I2C_ClockSpeed
      I2Cバスのクロック速度を400KHz以下で設定します。

出力値

  • 無し

戻り値

  • 無し

呼び出し関数

  • 無し

サンプル

/* 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);

参照


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-10-14 (金) 09:40:04