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 ADLL≦ADCRH≦ADUL  | |||
| 
       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 */
}