使用例

0x00から開始した変換出力を一定周期毎に0x10ずつ上げて行き、0xFFになると変換停止

 

[GUI設定例]

D/Aコンバータ

使用する

DAC

使用する

DAC0

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

使用する

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

通常モード

アナログ出力 (ANO0)

使用する

変換値

0x00

 

タイマ

使用する

TAU0

使用する

Channel0

チャネル 0

インターバル・タイマ

インターバル時間(16ビット)

100ms (実際の値:100)

カウント開始時にINTTM00割り込みを発生する

使用しない

タイマ・チャネル0のカウント完了で割り込み発生(INTTM00)

使用する

優先順位 (INTTM00)

 

 

[API設定例]

r_main.c

void main(void)

{

       R_MAIN_UserInit();

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

       /* Start TAU0 channel 0 counter */

       R_TAU0_Channel0_Start();

 

       /* Enable the DA converter channel 0 */

       R_DAC0_Start();

 

       while (1U)

       {

              ;

       }

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

}

 

r_cg_timer_user.c

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

#include "r_cg_dac.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_dac0_value = _00_DA0_CONVERSION_VALUE;

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

 

static void __near r_tau0_channel0_interrupt(void)

{

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

       g_dac0_value += 0x0010U;

       if (g_dac0_value <= 0x00FFU)

       {

              /* Set the DA converter channel 0 value */

              R_DAC0_Set_ConversionValue((uint8_t)g_dac0_value);

       }

       else

       {

              /* Stop the DA converter channel 0 */

              R_DAC0_Stop();

 

              /* Stop TAU0 channel 0 counter */

              R_TAU0_Channel0_Stop();

       }

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

}