RX Family
ADC Module Using Firmware Integration Technology
R01AN1666EJ0220 Rev. 2.20
Page 17 of 74
Dec 01, 2016
typedef
struct
st_adc_data
{
uint16_t chan
[
ADC_REG_ARRAY_MAX
]
; // chnls/indexes used depends upon MCU
uint16_t temp;
uint16_t volt;
uint16_t dbltrig; // Not used on RX63x
}
adc_data_t;
2.10.5
RX130 Interface Types (r_s12ad_rx130_if.h)
/***** ADC_OPEN() ARGUMENT DEFINITIONS *****/
typedef
enum
e_adc_mode
{
ADC_MODE_SS_TEMPERATURE
,
// single scan temperature sensor
ADC_MODE_SS_INT_REF_VOLT
,
// single scan internal ref voltage sensor
ADC_MODE_SS_ONE_CH
,
// single scan one channel
ADC_MODE_SS_MULTI_CH
,
// 1 trigger source, scan multiple channels
ADC_MODE_CONT_ONE_CH
,
// continuous scan one channel
ADC_MODE_CONT_MULTI_CH
,
// continuous scan multiple channels
ADC_MODE_SS_ONE_CH_DBLTRIG
,
// on even triggers save to ADDBLDR &
interrupt
ADC_MODE_SS_MULTI_CH_GROUPED
,
// 2 trigger sources, scan multiple channels
ADC_MODE_SS_MULTI_CH_GROUPED_DBLTRIG_A
,
ADC_MODE_MAX
}
adc_mode_t
;
typedef
enum
e_adc_align
{
ADC_ALIGN_RIGHT
= 0x0000,
ADC_ALIGN_LEFT
= 0x8000
}
adc_align_t
;
typedef
enum
e_adc_add
// Addition and averaging of sampled data.
{
ADC_ADD_OFF
= 0,
// addition is turned off for chans/sensors
ADC_ADD_TWO_SAMPLES
= 1,
// Two samples are added,Register
ADADC.ADC[1,0]
ADC_ADD_THREE_SAMPLES
= 2,
// Three samples are added
ADC_ADD_FOUR_SAMPLES
= 3,
// Four samples are added
ADC_ADD_SIXTEEN_SAMPLES
= 5,
// Sixteen samples are added
ADC_ADD_AVG_2_SAMPLES
= 0x81,
// average 2 samples
ADC_ADD_AVG_4_SAMPLES
= 0x83,
// average 4 samples
}
adc_add_t
;
typedef
enum
e_adc_clear
{
ADC_CLEAR_AFTER_READ_OFF
= 0x0000,
ADC_CLEAR_AFTER_READ_ON
= 0x0020
}
adc_clear_t
;
typedef
enum
e_adc_trig
// trigger sources (set to TRSA bit or TRSB bit)
{
ADC_TRIG_ASYNC_ADTRG
= 0,
// external asynchronous trigger; not for Group
// modes nor double trigger modes
ADC_TRIG_SYNC_TRG0AN
= 1,
// MTU0 TRGA
ADC_TRIG_SYNC_TRG0BN
= 2,
// MTU0 TRGB
ADC_TRIG_SYNC_TRGAN_OR_UDF4N
= 3,
// MTUx TRGA or MTU4 underflow
//(complementary PWM mode)