CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

ADC驱动API描述

ADC驱动的API主要包括:

表 107 ADC驱动的APIs
API类别 API名称 描述
初始化 hal_adc_init() 初始化ADC外设,配置参考电压等参数。
hal_adc_deinit() 反初始化ADC外设。
hal_adc_msp_init() 初始化ADC外设所使用的MSIO引脚、NVIC中断、DMA通道。
hal_adc_msp_deinit() 反初始化ADC外设所使用的MSIO引脚、NVIC中断、DMA通道。
IO操作 hal_adc_poll_for_conversion() 轮询方式采样数据。
hal_adc_start_dma() DMA方式采样数据(非轮询)。
hal_adc_stop_dma() DMA方式采样终止。
中断处理及回调函数 hal_adc_conv_cplt_callback() 非轮询采样完成回调,由开发者定义。
状态及错误 hal_adc_get_state() 获取驱动运行状态。
hal_adc_get_error() 获取错误码。
控制 hal_adc_set_dma_threshold() 设置DMA阈值。
hal_adc_get_dma_threshold() 获取DMA阈值。
睡眠相关 hal_adc_suspend_reg() 睡眠时挂起与ADC配置相关的寄存器。
hal_adc_resume_reg() 唤醒时恢复与ADC配置相关的寄存器。

下面章节将对各API进行详细描述。

hal_adc_init

表 108 hal_adc_init接口
函数原型

hal_status_t hal_adc_init(adc_handle_t *p_adc)

功能说明

根据adc_init_t里的参数初始化ADC外设和初始化关联句柄。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

HAL状态。

备注

hal_adc_deinit

表 109 hal_adc_deinit接口
函数原型

hal_status_t hal_adc_deinit(adc_handle_t *p_adc)

功能说明

反初始化ADC外设。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

HAL状态。

备注

hal_adc_msp_init

表 110 hal_adc_msp_init接口
函数原型

void hal_adc_msp_init(adc_handle_t *p_adc)

功能说明

初始化ADC所使用的MOSI引脚、NVIC中断、DMA通道等配置。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需重写该API完成MSIO引脚选择、NVIC中断、DMA通道的初始化。

hal_adc_msp_deinit

表 111 hal_adc_msp_deinit接口
函数原型

void hal_adc_msp_deinit(adc_handle_t *p_adc)

功能说明

反初始化ADC所使用的MOSI引脚、NVIC中断、DMA通道等配置。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需重写该API完成MSIO引脚选择、NVIC中断、DMA通道的反初始化。

hal_adc_poll_for_conversion

表 112 hal_adc_poll_for_conversion接口
函数原型

hal_status_t hal_adc_poll_for_conversion(adc_handle_t *p_adc, uint16_t *p_data, uint32_t length)

功能说明

转换ADC数据,以轮询方式读取转换后的数据。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

p_data:指向存储ADC转换结果的数据缓冲区的指针。

length:数据缓冲区长度。

返回值

HAL状态。

备注

返回HAL_ERROR时可调用hal_adc_get_error获取具体的错误码。

hal_adc_start_dma

表 113 hal_adc_start_dma接口
函数原型

hal_status_t hal_adc_start_dma(adc_handle_t *p_adc, uint16_t *p_data, uint32_t length)

功能说明

转换ADC数据,以DMA方式读取转换后的数据。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

p_data:指向存储ADC转换结果的数据缓冲区的指针。

length:数据缓冲区长度。

返回值

HAL状态。

备注

返回HAL_ERROR时可调用hal_adc_get_error()获取具体的错误码。

hal_adc_stop_dma

表 114 hal_adc_stop_dma接口
函数原型 hal_status_t hal_adc_stop_dma(adc_handle_t *p_adc)
功能说明 中止正在进行的转换,以DMA的方式读取转化后的ADC数据
输入参数 p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。
返回值 HAL状态。
备注

此过程只能用于中止在DMA模式中启动的转换。

此过程执行以下步骤:

  1. 禁用ADC时钟,停止转换
  2. 调用hal_dma_abort禁止DMA传输
  3. 设置Handle状态为READY

hal_adc_conv_cplt_callback

表 115 hal_adc_conv_cplt_callback接口
函数原型

void hal_adc_conv_cplt_callback(adc_handle_t *p_adc)

功能说明

转换完成回调函数。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需重写该API完成采样完成后的操作。

hal_adc_get_state

表 116 hal_adc_get_state接口
函数原型

hal_status_t hal_adc_get_state(adc_handle_t *p_adc)

功能说明

返回ADC句柄状态。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

备注

ADC状态,该参数的取值可能是下列值中的任意一个:

  • HAL_ADC_STATE_RESET(未初始化)
  • HAL_ADC_STATE_READY(已初始化且空闲)
  • HAL_ADC_STATE_BUSY(忙)
  • HAL_ADC_STATE_ERROR(错误)

hal_adc_get_error

表 117 hal_adc_get_error接口
函数原型

uint32_t hal_adc_get_error(adc_handle_t *p_adc)

功能说明

返回ADC句柄错误码。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

ADC错误码,该参数的取值可以是下列值中的任意一个:

  • HAL_ADC_ERROR_NONE(无错误)
  • HAL_ADC_ERROR_DMA(DMA传输错误)
  • HAL_ADC_ERROR_INVALID_PARAM(无效参数)
  • HAL_ADC_ERROR_TIMEOUT(超时)
备注

hal_adc_set_dma_threshold

表 118 hal_adc_set_dma_threshold接口
函数原型

hal_status_t hal_adc_set_dma_threshold(adc_handle_t *p_adc, uint32_t threshold)

功能说明

设置触发DMA传输的FIFO阈值。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

threshold:FIFO触发阈值(取值范围0 ~ 64)。

返回值

HAL状态。

备注

hal_adc_get_dma_threshold

表 119 hal_adc_get_dma_threshold接口
函数原型

uint32_t hal_adc_get_dma_threshold(adc_handle_t *p_adc)

功能说明

获取触发DMA传输的FIFO阈值。

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

备注

FIFO阈值(取值范围0 ~ 64)。

hal_adc_suspend_reg

表 120 hal_adc_suspend_reg接口
函数原型

hal_status_t hal_adc_suspend_reg(adc_handle_t *p_adc)

功能说明

睡眠时挂起与ADC配置相关的寄存器

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

HAL状态

备注

hal_adc_resume_reg

表 121 hal_adc_resume_reg接口
函数原型

hal_status_t hal_adc_resume_reg(adc_handle_t *p_adc);

功能说明

唤醒时恢复与ADC配置相关的寄存器

输入参数

p_adc:指向adc_handle_t结构体变量的指针,该结构体变量包含指定的ADC的配置信息。

返回值

HAL状态

备注

扫描关注

打开微信,使用“扫一扫”即可关注。