使用例
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 */
}