ファームウェア関数一覧

ADC_Init

ヘッダ宣言

関数プロトタイプ

void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct)

動作

  • ADC周辺回路の初期化を行います。

引数

  • ADCx
    初期化する対象のADCをADC1,ADC2又はADC3から選択します。

    ADCx説明
    ADC1ADC1
    ADC2ADC2
    ADC3ADC3

  • ADC_InitStruct
    stm32f10x_adc.hで定義されているADC_InitStruct型の構造体です。
    typedef struct
    {
     uint32_t ADC_Mode;
     FunctionalState ADC_ScanConvMode;
     FunctionalState ADC_ContinuousConvMode;
     uint32_t ADC_ExternalTrigConv;
     uint32_t ADC_DataAlign;
     uint8_t ADC_NbrOfChannel;
    } ADC_InitType


  • ADC_Mode
    独立モードかデュアルモードか、デュアルモードの場合はどのモードかを指定します。

    ADC_Mode説明
    ADC_Mode_Independent独立モード
    ADC_Mode_RegInjecSimult並行レギュラ変換モード+並行追加変換モード
    ADC_Mode_RegSimult_AlterTrig並行レギュラ変換モード+交互トリガ・モード
    ADC_Mode_InjecSimult_FastInterl並行追加変換モード+高速インターリブ・モード
    ADC_Mode_InjecSimult_SlowInterl並行追加変換モード+低速インターリブ・モード
    ADC_Mode_InjecSimult並行追加変換モード
    ADC_Mode_RegSimult並行レギュラ変換モード
    ADC_Mode_FastInterl高速インターリブ・モード
    ADC_Mode_SlowInterl低速インターリブ・モード
    ADC_Mode_AlterTrig交互トリガ・モード

  • ADC_ScanConvMode
    スキャンモード、分割スキャンモードで変換するかを指定します。

    ADC_ScanConvMode説明
    ENABLEスキャン・モード*1
    DISABLE分割スキャン・モード*2

  • ADC_ContinuousConvMode
    連続変換モードか、シングルモードかを指定します。

    ADC_ContinuousConvMode説明
    ENABLE連続変換モード*3
    DISABLEシングル・モード*4
    • シングル・モード時の通常の変換開始トリガはADC_SoftwareStartConvCmd関数を実行した時。
    • タイマ・イベントをきっかけとして行いたい場合は、ADC_ExternalTrigConvできっかけとなるイベントを指定。

  • ADC_ExternalTrigConv
    どの時点で変換を開始するかを以下のマクロで指定します。

    #include(): Limit exceeded: Macro/ADC_ExternalTrigConv

  • ADC_DataAlign
    変換後のデータを右詰にするか左詰にするかを指定します。

    #include(): Limit exceeded: Macro/ADC_DataAlign

  • ADC_NbrOfChannel
    ADCで変換する(レギュラ変換グループに登録した)合計のチャンネル数を1-16の範囲で指定します。

戻り値

  • 無し

出力値

  • 無し

呼び出し関数

  • 無し

サンプル

/* Initialize the ADC1 according to the ADC_InitStructure members */
ADC_InitTypeDef ADC_InitStructure;
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = ENABLE;
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv =
ADC_ExternalTrigConv_T1_CC3;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 16;
ADC_Init(ADC1, &ADC_InitStructure);

参照

  • STM32マイコン徹底入門 P.222

*1 複数のチャンネルを指定した時に一度に全てのチャンネルを連続して変換できるモード
*2 レギュラ変換グループに登録されたチャンネルを一定数ずつ区切って変換していくモード
*3 ソフトウェアからの指示が無くてもADCは常に最高速度で変換を行います
*4 その都度一回だけ変換します

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