M471M/R1/S BSP V3.01.000
The Board Support Package for M4521
eadc.c
Go to the documentation of this file.
1/**************************************************************************/
8#include "NuMicro.h"
9
33void EADC_Open(EADC_T *eadc, uint32_t u32InputMode)
34{
35 eadc->CTL &= (~EADC_CTL_DIFFEN_Msk);
36
37 eadc->CTL |= (u32InputMode | EADC_CTL_ADCEN_Msk);
38}
39
46void EADC_Close(EADC_T *eadc)
47{
48 eadc->CTL &= ~EADC_CTL_ADCEN_Msk;
49}
50
84 uint32_t u32ModuleNum, \
85 uint32_t u32TriggerSrc, \
86 uint32_t u32Channel)
87{
89 eadc->SCTL[u32ModuleNum] |= (u32TriggerSrc | u32Channel);
90}
91
92
108 uint32_t u32ModuleNum, \
109 uint32_t u32TriggerDelayTime, \
110 uint32_t u32DelayClockDivider)
111{
112 eadc->SCTL[u32ModuleNum] &= ~(EADC_SCTL_TRGDLYDIV_Msk | EADC_SCTL_TRGDLYCNT_Msk);
113 eadc->SCTL[u32ModuleNum] |= ((u32TriggerDelayTime << EADC_SCTL_TRGDLYCNT_Pos) | u32DelayClockDivider);
114}
115
125void EADC_SetInternalSampleTime(EADC_T *eadc, uint32_t u32SampleTime)
126{
127 eadc->CTL &= ~EADC_CTL_SMPTSEL_Msk;
128
129 eadc->CTL |= (u32SampleTime - 1) << EADC_CTL_SMPTSEL_Pos;
130
131}
132
142void EADC_SetExtendSampleTime(EADC_T *eadc, uint32_t u32ModuleNum, uint32_t u32ExtendSampleTime)
143{
144 eadc->SCTL[u32ModuleNum] &= ~EADC_SCTL_EXTSMPT_Msk;
145
146 eadc->SCTL[u32ModuleNum] |= (u32ExtendSampleTime << EADC_SCTL_EXTSMPT_Pos);
147
148}
149 /* end of group EADC_EXPORTED_FUNCTIONS */
151 /* end of group EADC_Driver */
153 /* end of group Standard_Driver */
155
156
NuMicro peripheral access layer header file.
void EADC_SetInternalSampleTime(EADC_T *eadc, uint32_t u32SampleTime)
Set ADC internal sample time.
Definition: eadc.c:125
void EADC_Close(EADC_T *eadc)
Disable EADC_module.
Definition: eadc.c:46
void EADC_SetExtendSampleTime(EADC_T *eadc, uint32_t u32ModuleNum, uint32_t u32ExtendSampleTime)
Set ADC extend sample time.
Definition: eadc.c:142
void EADC_SetTriggerDelayTime(EADC_T *eadc, uint32_t u32ModuleNum, uint32_t u32TriggerDelayTime, uint32_t u32DelayClockDivider)
Set trigger delay time.
Definition: eadc.c:107
void EADC_ConfigSampleModule(EADC_T *eadc, uint32_t u32ModuleNum, uint32_t u32TriggerSource, uint32_t u32Channel)
Configure the sample control logic module.
Definition: eadc.c:83
void EADC_Open(EADC_T *eadc, uint32_t u32InputMode)
This function make EADC_module be ready to convert.
Definition: eadc.c:33
__IO uint32_t CTL
Definition: M471M_R1_S.h:723
__IO uint32_t SCTL[19]
Definition: M471M_R1_S.h:728
#define EADC_CTL_SMPTSEL_Pos
Definition: M471M_R1_S.h:785
#define EADC_SCTL_TRGSEL_Msk
Definition: M471M_R1_S.h:813
#define EADC_SCTL_TRGDLYCNT_Pos
Definition: M471M_R1_S.h:809
#define EADC_SCTL_CHSEL_Msk
Definition: M471M_R1_S.h:798
#define EADC_SCTL_EXTSMPT_Pos
Definition: M471M_R1_S.h:821
#define EADC_SCTL_TRGDLYDIV_Msk
Definition: M471M_R1_S.h:807
#define EADC_CTL_ADCEN_Msk
Definition: M471M_R1_S.h:759
#define EADC_SCTL_EXTFEN_Msk
Definition: M471M_R1_S.h:804
#define EADC_SCTL_TRGDLYCNT_Msk
Definition: M471M_R1_S.h:810
#define EADC_SCTL_EXTREN_Msk
Definition: M471M_R1_S.h:801