Go to the documentation of this file.
173 #define HAL_ADC_ERROR_NONE ((uint32_t)0x00000000)
174 #define HAL_ADC_ERROR_TIMEOUT ((uint32_t)0x00000001)
175 #define HAL_ADC_ERROR_DMA ((uint32_t)0x00000004)
176 #define HAL_ADC_ERROR_INVALID_PARAM ((uint32_t)0x00000008)
182 #define ADC_CLK_16M LL_ADC_CLK_16M
183 #define ADC_CLK_8M LL_ADC_CLK_8M
184 #define ADC_CLK_4M LL_ADC_CLK_4M
185 #define ADC_CLK_1M LL_ADC_CLK_1M
186 #define ADC_CLK_16K LL_ADC_CLK_16K
187 #define ADC_CLK_8K LL_ADC_CLK_8K
188 #define ADC_CLK_4K LL_ADC_CLK_4K
189 #define ADC_CLK_NONE LL_ADC_CLK_NONE
195 #define ADC_REF_VALUE_0P8 LL_ADC_REF_VALUE_0P8
196 #define ADC_REF_VALUE_1P2 LL_ADC_REF_VALUE_1P2
197 #define ADC_REF_VALUE_1P6 LL_ADC_REF_VALUE_1P6
198 #define ADC_REF_VALUE_2P0 LL_ADC_REF_VALUE_2P0
205 #define ADC_INPUT_SINGLE LL_ADC_INPUT_SINGLE
206 #define ADC_INPUT_DIFFERENTIAL LL_ADC_INPUT_DIFFERENTIAL
212 #define ADC_INPUT_SRC_IO0 LL_ADC_INPUT_SRC_IO0
213 #define ADC_INPUT_SRC_IO1 LL_ADC_INPUT_SRC_IO1
214 #define ADC_INPUT_SRC_IO2 LL_ADC_INPUT_SRC_IO2
215 #define ADC_INPUT_SRC_IO3 LL_ADC_INPUT_SRC_IO3
216 #define ADC_INPUT_SRC_IO4 LL_ADC_INPUT_SRC_IO4
217 #define ADC_INPUT_SRC_IO5 LL_ADC_INPUT_SRC_IO5
218 #define ADC_INPUT_SRC_IO6 LL_ADC_INPUT_SRC_IO6
219 #define ADC_INPUT_SRC_IO7 LL_ADC_INPUT_SRC_IO7
220 #define ADC_INPUT_SRC_TMP LL_ADC_INPUT_SRC_TMP
221 #define ADC_INPUT_SRC_BAT LL_ADC_INPUT_SRC_BAT
222 #define ADC_INPUT_SRC_REF LL_ADC_INPUT_SRC_REF
229 #define ADC_REF_SRC_BUF_INT LL_ADC_REF_SRC_BUF_INT
230 #define ADC_REF_SRC_IO0 LL_ADC_REF_SRC_IO0
231 #define ADC_REF_SRC_IO1 LL_ADC_REF_SRC_IO1
232 #define ADC_REF_SRC_IO2 LL_ADC_REF_SRC_IO2
233 #define ADC_REF_SRC_IO3 LL_ADC_REF_SRC_IO3
239 #define ADC_DEFAULT_CONFIG LL_ADC_DEFAULT_CONFIG
251 #define __HAL_ADC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->state = HAL_ADC_STATE_RESET)
257 #define __HAL_ADC_ENABLE(__HANDLE__) ll_adc_enable()
263 #define __HAL_ADC_DISABLE(__HANDLE__) ll_adc_disable()
269 #define __HAL_ADC_GET_FLAG_NOTEMPTY(__HANDLE__) ll_adc_is_fifo_notempty()
275 #define __HAL_ADC_TRY_SWTOKEN_LOCK(__HANDLE__) ll_adc_try_lock_sw_token()
281 #define __HAL_ADC_FLUSH_FIFO(__HANDLE__) do { \
282 while(ll_adc_is_fifo_notempty()) \
284 ll_adc_flush_fifo(); \
300 #define IS_ADC_INPUT(__INPUT__) (((__INPUT__) == ADC_INPUT_SRC_IO0) || \
301 ((__INPUT__) == ADC_INPUT_SRC_IO1) || \
302 ((__INPUT__) == ADC_INPUT_SRC_IO2) || \
303 ((__INPUT__) == ADC_INPUT_SRC_IO3) || \
304 ((__INPUT__) == ADC_INPUT_SRC_IO4) || \
305 ((__INPUT__) == ADC_INPUT_SRC_IO5) || \
306 ((__INPUT__) == ADC_INPUT_SRC_IO6) || \
307 ((__INPUT__) == ADC_INPUT_SRC_IO7) || \
308 ((__INPUT__) == ADC_INPUT_SRC_TMP) || \
309 ((__INPUT__) == ADC_INPUT_SRC_BAT) || \
310 ((__INPUT__) == ADC_INPUT_SRC_REF))
317 #define IS_ADC_INPUT_MODE(__MODE__) (((__MODE__) == ADC_INPUT_SINGLE) || \
318 ((__MODE__) == ADC_INPUT_DIFFERENTIAL)
325 #define IS_ADC_REF(__INPUT__) (((__INPUT__) == ADC_REF_SRC_BUF_INT) || \
326 ((__INPUT__) == ADC_REF_SRC_INT) || \
327 ((__INPUT__) == ADC_REF_SRC_IO0) || \
328 ((__INPUT__) == ADC_REF_SRC_IO1) || \
329 ((__INPUT__) == ADC_REF_SRC_IO2) || \
330 ((__INPUT__) == ADC_REF_SRC_IO3))
337 #define IS_ADC_REF_VALUE(__VALUE__) (((__VALUE__) >= ADC_REF_VALUE_0P5) && \
338 ((__VALUE__) <= ADC_REF_VALUE_2P0))
345 #if defined(GR53xx) || defined(GR5405)
346 #define IS_ADC_CLOCK(__CLOCK__) (((__CLOCK__) == ADC_CLK_16M) || \
347 ((__CLOCK__) == ADC_CLK_8M) || \
348 ((__CLOCK__) == ADC_CLK_4M) || \
349 ((__CLOCK__) == ADC_CLK_1M)|| \
350 ((__CLOCK__) == ADC_CLK_16K)|| \
351 ((__CLOCK__) == ADC_CLK_8K)|| \
352 ((__CLOCK__) == ADC_CLK_4K)|| \
353 ((__CLOCK__) == ADC_CLK_NONE))
355 #define IS_ADC_CLOCK(__CLOCK__) (((__CLOCK__) == ADC_CLK_16M) || \
356 ((__CLOCK__) == ADC_CLK_8M) || \
357 ((__CLOCK__) == ADC_CLK_4M) || \
358 ((__CLOCK__) == ADC_CLK_2M) || \
359 ((__CLOCK__) == ADC_CLK_1M) || \
360 ((__CLOCK__) == ADC_CLK_1P6M))
hal_status_t hal_adc_poll_for_conversion(adc_handle_t *p_adc, uint16_t *p_data, uint32_t length)
Polling for conversion.
void hal_pm_adc_resume(adc_handle_t *p_adc)
Resume the specified ADC.
void(* adc_conv_cplt_callback)(adc_handle_t *p_adc)
uint32_t hal_adc_get_error(adc_handle_t *p_adc)
Return the ADC error code.
void(* adc_msp_init)(adc_handle_t *p_adc)
This file contains all the functions prototypes for the HAL module driver.
hal_status_t hal_adc_stop_dma(adc_handle_t *p_adc)
Abort ongoing conversion (blocking mode).
void hal_adc_vbat_conv(adc_handle_t *p_adc, uint16_t *p_inbuf, double *p_outbuf, uint32_t buflen)
Convert the ADC conversion results to battery value.
hal_status_t hal_adc_init(adc_handle_t *p_adc)
Initialize the ADC according to the specified parameters in the adc_init_t and initialize the associa...
hal_pm_status_t hal_pm_adc_suspend(adc_handle_t *p_adc)
Suspend the specified ADC.
hal_status_t hal_adc_set_dma_threshold(adc_handle_t *p_adc, uint32_t threshold)
Set the FIFO threshold for DMA trigger.
struct _adc_handle adc_handle_t
ADC handle Structure definition.
LL ADC init Structure definition.
hal_adc_state_t
HAL ADC State Enumerations definition.
void hal_adc_msp_init(adc_handle_t *p_adc)
Initialize the ADC MSP.
__IO hal_adc_state_t state
void hal_adc_conv_cplt_callback(adc_handle_t *p_adc)
Conversion completed callback.
void hal_adc_voltage_extern(adc_handle_t *p_adc, double vref, uint16_t *p_inbuf, double *p_outbuf, uint32_t buflen)
Convert the ADC conversion results to a voltage value(external reference).
void hal_adc_resume_reg(adc_handle_t *p_adc)
Restore some registers related to ADC configuration after sleep. This function must be used in conjun...
ADC handle Structure definition.
hal_status_t
HAL Status structures definition.
This file contains HAL common definitions, enumeration, macros and structures definitions.
uint32_t hal_adc_get_dma_threshold(adc_handle_t *p_adc)
Get the FIFO threshold for DMA trigger.
void hal_adc_msp_deinit(adc_handle_t *p_adc)
De-initialize the ADC MSP.
ll_adc_init_t adc_init_t
ADC init structure definition.
hal_status_t hal_adc_start_dma(adc_handle_t *p_adc, uint16_t *p_data, uint32_t length)
DMA for conversion.
struct _hal_adc_callback hal_adc_callback_t
HAL ADC Callback function definition.
void hal_adc_temperature_conv(adc_handle_t *p_adc, uint16_t *p_inbuf, double *p_outbuf, uint32_t buflen)
Convert the ADC conversion results to temperature value.
Header file containing functions prototypes of ADC LL library.
void hal_adc_suspend_reg(adc_handle_t *p_adc)
Suspend some registers related to ADC configuration before sleep.
Header file containing functions prototypes of DMA HAL library.
void hal_adc_voltage_intern(adc_handle_t *p_adc, uint16_t *p_inbuf, double *p_outbuf, uint32_t buflen)
Convert the ADC conversion results to a voltage value(internal reference).
hal_status_t hal_adc_deinit(adc_handle_t *p_adc)
De-initialize the ADC peripheral.
DMA handle Structure definition.
HAL ADC Callback function definition.
hal_adc_state_t hal_adc_get_state(adc_handle_t *p_adc)
Return the ADC handle state.
void(* adc_msp_deinit)(adc_handle_t *p_adc)