HAL_ADC_Init()

HAL_ADC_Init() 是 STM32 HAL 库中的一个函数,用于初始化 ADC 外设。通过此函数,你可以配置 ADC 的基本参数,如分辨率、数据对齐方式、扫描模式等。它是使用 ADC 外设之前必需的初始化步骤。

HAL_ADC_DeInit()

HAL_ADC_DeInit() 用于反初始化 ADC 外设,将其恢复到默认的初始状态。这通常用于在不再需要 ADC 时禁用其工作,或者在配置 ADC 的其他工作模式之前调用,以清除之前的配置。

HAL_ADC_MspInit()

HAL_ADC_MspInit() 是一个与底层硬件相关的函数,用于初始化 ADC 外设所需的硬件资源。这通常包括启用外设时钟、配置 GPIO 引脚(如果需要)、配置中断、DMA 设置等。此函数通常在 HAL_ADC_Init() 调用时自动执行。

HAL_ADC_MspDeInit()

HAL_ADC_MspDeInit() 是与底层硬件相关的反初始化函数,用于恢复 ADC 外设的硬件资源,通常是在 HAL_ADC_DeInit() 调用时自动执行。此函数会禁用 ADC 外设所需的硬件资源,如时钟、GPIO 配置、中断等。

HAL_ADC_Start()

HAL_ADC_Start() 是 STM32 HAL 库中的一个函数,用于启动 ADC 外设的转换过程。它启动一个单次的 ADC 转换,或者在连续模式下,启动 ADC 并开始定期转换。

HAL_ADC_Stop()

HAL_ADC_Stop() 用于停止 ADC 转换。调用此函数后,ADC 将停止转换过程,不再进行数据采样。

HAL_ADC_PollForConversion()

1
HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout);

HAL_ADC_PollForConversion() 是 STM32 HAL 库中的一个函数,用于在轮询模式等待 ADC 转换完成。该函数会在指定的超时时间内不断检查 ADC 转换是否完成,如果完成则返回成功,否则会在超时后返回失败。

HAL_ADC_PollForEvent()

1
HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeout);

HAL_ADC_PollForEvent() 是 STM32 HAL 库中的一个函数,用于在轮询模式等待 ADC 事件的发生。这可以让你检测 ADC 是否发生了特定的事件,比如转换完成、错误、模拟看门狗报警等。与 HAL_ADC_PollForConversion() 相似,HAL_ADC_PollForEvent() 允许你在指定的超时时间内轮询等待事件发生。

  • ADC_AWD_EVENT模拟看门狗事件(Analog Watchdog Event)
  • ADC_OVR_EVENTADC 溢出事件(ADC Overrun Event)

HAL_ADC_Start_IT()

HAL_ADC_Start_IT() 函数启动 ADC 转换启用 ADC 中断。调用此函数后,ADC 开始转换,并在转换完成后会触发中断,进入中断服务程序(ISR)进行处理。适用于那些需要通过中断来处理 ADC 转换结果的应用。

HAL_ADC_Stop_IT()

HAL_ADC_Stop_IT() 函数停止 ADC 转换禁用 ADC 中断。调用此函数后,ADC 将停止转换,并且 ADC 中断被禁用。适用于那些不再需要 ADC 转换时,或者需要手动停止转换并清除中断时。

HAL_ADC_IRQHandler()

HAL_ADC_IRQHandler() 是 STM32 HAL 库中的一个函数,用于处理 ADC 的中断请求。当 ADC 发生中断时,这个函数会被自动调用,它会检查 ADC 的状态并执行相应的中断服务程序(ISR)。

HAL_ADC_Start_DMA()

HAL_ADC_Start_DMA() 函数用于启动 ADC 并通过 DMA 将 ADC 转换的结果直接传输到内存。DMA 可以直接将 ADC 转换的结果写入到预定义的内存数组中,避免了 CPU 的参与。

HAL_ADC_Stop_DMA()

HAL_ADC_Stop_DMA() 函数用于停止正在进行的 ADC DMA 操作。调用此函数后,DMA 会停止传输数据,ADC 也会停止转换。

HAL_ADC_GetValue()

HAL_ADC_GetValue() 是 STM32 HAL 库中的一个函数,用于获取 ADC 转换的结果。该函数可以在 ADC 转换完成后调用,返回当前 ADC 数据寄存器中的转换结果。

HAL_ADC_ConvCpltCallback()

HAL_ADC_ConvCpltCallback() 是一个回调函数,当 ADC 转换完成并且所有数据都已转换时调用。这通常用于处理 ADC 转换结果,特别是在使用 DMA 模式时,当所有的转换数据已经被传输到内存后触发此回调。

HAL_ADC_ConvHalfCpltCallback()

HAL_ADC_ConvHalfCpltCallback() 是一个回调函数,当 ADC 转换完成的一半数据被传输到内存时触发。这通常与 DMA 模式结合使用,特别是在进行批量转换时。这个回调可以在数据的一半完成时执行某些操作,比如处理已经转换的前半部分数据。

HAL_ADC_LevelOutOfWindowCallback()

HAL_ADC_LevelOutOfWindowCallback() 是一个回调函数,当 ADC 转换结果超出了模拟看门狗的设置窗口时调用。模拟看门狗(Analog Watchdog,简称 AWD)功能可以用来监测 ADC 输入信号是否超出了预设的上限或下限。当 ADC 转换结果落在这个“窗口”之外时,触发此回调。

HAL_ADC_ErrorCallback()

HAL_ADC_ErrorCallback() 是一个回调函数,当 ADC 出现错误时调用。常见的错误包括 ADC 过载、硬件故障等。此回调函数可以帮助你在 ADC 发生错误时进行适当的错误处理,如重启 ADC、输出错误信息或执行错误恢复操作。

HAL_ADC_ConfigChannel()

HAL_ADC_ConfigChannel() 用于配置 ADC 的通道。每个 ADC 通道代表一个输入源,例如模拟信号、温度传感器或外部引脚输入。通过此函数,你可以配置 ADC 将采样的信号从哪一个通道获取,并指定该通道的其他参数。

HAL_ADC_AnalogWDGConfig()

HAL_ADC_AnalogWDGConfig() 用于配置 ADC 的模拟看门狗(Analog Watchdog,AWD)功能。模拟看门狗功能用于检测 ADC 输入信号是否超出设定的预定范围。通过此功能,可以监测输入信号是否超出了允许的最大值或最小值,并在超出时触发报警事件。

HAL_ADC_GetState()

HAL_ADC_GetState() 用于获取当前 ADC 外设的状态。这些状态可以帮助你了解 ADC 的工作进程,并确定是否可以开始下一次转换或是否存在其他问题。

HAL_ADC_GetError()

HAL_ADC_GetError() 用于获取当前 ADC 外设的错误状态。当 ADC 操作失败时,调用此函数可以帮助你诊断问题。