使用例

A/Dコンバータに、生成した基準電圧を供給する

 

[GUI設定例]

ボルテージ・リファレンス

VR

使用する

ボルテージ・リファレンスの動作設定

使用する

1/2AVDD電圧出力の動作設定

チャネル01D/A変換を一括許可

VREFOUT端子出力レベル選択

右詰め

 

12ビットA/Dコンバータ

ADC

使用する

A/Dコンバータ動作設定

使用する

A/D変換クロック設定

PCLK

A/D変換モード設定

高速変換

VREF+)設定

AVREFP/VREFOUT

VREF-)設定

AVSS

動作モード設定

シングルスキャンモード

 

 

 

変換開始トリガ設定

ソフトウェアトリガ

 

 

 

アナログ入力チャンネル設定

 

 

 

 

ANI00

使用する

 

 

 

ANI00 加算/平均機能

使用しない

データレジスタ設定

AD変換値加算回数

1回変換

データ配置

右詰め

自動クリア

自動クリアを禁止

ANI00入力サンプリング時間

3.667(μs) (実際の値:3.667)

A/D変換値カウント設定

加算モード

割り込み設定

AD変換終了割り込みを有効にします(INTAD

優先順位

レベル3(低優先順位)

データレジスタ設定

 

 

[API設定例]

r_cg_main.c

void main(void)

{

       R_MAIN_UserInit();

       /* Start user code. Do not edit comment generated here */

       /* Start VR module operation */

       R_VR_Start();

 

       /* Start AD converter */

       R_12ADC_Start();

 

       while (1U)

       {

              ;

       }

       /* End user code. Do not edit comment generated here */

}

 

r_cg_12adc_user.c

/* Start user code for include. Do not edit comment generated here */

#include "r_cg_vr.h"

/* End user code. Do not edit comment generated here */

 

/* Start user code for global. Do not edit comment generated here */

volatile uint16_t g_12adc_ch000_value;

/* End user code. Do not edit comment generated here */

 

static void __near r_12adc_interrupt(void)

{

       /* Start user code. Do not edit comment generated here */

       /* Stop VR module operation */

       R_VR_Stop();

 

       /* Stop AD converter */

       R_12ADC_Stop();

 

       /* Get AD converter result */

       R_12ADC_Get_ValueResult(ADCHANNEL0, (uint16_t *)&g_12adc_ch000_value);

       /* End user code. Do not edit comment generated here */

}