Everything

Usage example

Start A/D conversion by ‘External interrupt edge detection 0’ of ELC event. Store A/D conversion result to RAM, then stop ELC.

 

[GUI setting example]

Event link controller

Used

ELC

Used

A/D conversion starts

Used

Event generation source

‘External interrupt edge detection 0

 

Interrupt

Used

INTP

Used

INTP0

Valid edge

Falling

Priority

Low

 

A/D convertor

Used

ADC

Used

A/D convertor operation setting

Used

Comparator operation setting

Operation

Resolution setting

10 bits

VREF(+) setting

VDD

VREF(-) setting

VSS

Trigger setting mode

Hardware trigger no wait mode

Hardware trigger no wait mode

ELC

Operation mode setting

One-shot select mode

ANI0 - ANI23 analog input selection

ANI0

A/D channel selection

ANI0

Conversion time mode

Normal 1

Conversion time

38 (1216/fCLK)(μs)

Conversion result upper/lower bound value setting

Generates an interrupt request (INTAD) when ADLLADCRHADUL

Upper bound (ADUL) value

255

Lower bound (ADLL) value

0

Use A/D interrupt (INTAD)

Used

Priority

Low

 

 

[API setting example]

r_main.c

void main(void)

{

       R_MAIN_UserInit();

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

       /* Start the AD converter */

       R_ADC_Start();

 

       while (1U)

       {

              ;

       }

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

}

 

r_cg_adc_user.c

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

#include "r_cg_elc.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_adc_value;

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

 

static void __near r_adc_interrupt(void)

{

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

       /* Stop the AD converter */

       R_ADC_Stop();

 

       /* Return the conversion result in the buffer */

       R_ADC_Get_Result((uint16_t *)&g_adc_value);

 

       /* Stop the ELC event resources */

       R_ELC_Stop(0x00000001U);

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

}