17static void ADCvsense_exec(
UART_t *uart,
char *);
19DEFINE_PROGRAM_HANDLE(
"adc_vsense", ADCvsense_exec, NULL)
28static void ADCvsense_exec(
UART_t *uart,
char *flags) {
30 RCC_ENABLE_PERIPHERAL(APB2, ADC1);
31 RCC_RESET_PERIPHERAL(APB2, ADC);
bool(* startConversion)(struct _ADC *adc, ADC_ConversionType type)
Function pointer to start an ADC conversion (regular or injected).
ADC_Prescale ADCPRE
ADC prescaler for ADCCLK (ADC_CCR.ADCPRE).
ADC_EocSelect EOCS
End Of Conversion Selection (CR2.EOCS).
bool VBATE
VBAT channel enable (ADC_CCR.VBATE).
uint16_t(* readData)(struct _ADC *adc)
Function pointer to read the ADC regular conversion result.
ADC_Channel SQ[16]
Regular channel sequence definition (SQ1 to SQ16) (SQR1, SQR2, SQR3).
ADC_SampleTime SMP[19]
Sampling time for each channel (0-18) (SMPR1, SMPR2).
bool TSVREFE
Temperature sensor and VREFINT enable (ADC_CCR.TSVREFE).
ADC_t ADC_init(ADC_TypeDef *adc_regs, ADC_Config *config)
@ ADC_SMP_480
480 ADC clock cycles
@ ADC_ADCPRE_PCLK2_DIV8
ADCCLK = PCLK2 divided by 8.
@ ADC_CONVERSION_REGULAR
Start a regular group conversion.
@ ADC_IN17
Analog input channel 17.
ADC configuration structure.
Struct definition for ADC interface. Provides the API handle for consumers to interact with an ADC pe...
GPIO_Mode mode
Pin I/O direction | (default GPIO_MODE_OUTPUT)
GPIOpin_t GPIOpin_init(GPIO_TypeDef *, GPIO_Pin, GPIO_Config *)
Initialiser for a GPIO peripheral pin interface.
@ GPIO_MODE_ANALOG
Analog mode.
Struct definition for GPIO configuration.
Struct definition for a GPIO pin.
Struct definition for UART interface.