欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > S32K144入门笔记(十六):ADC的API函数解读

S32K144入门笔记(十六):ADC的API函数解读

2025/3/19 14:10:08 来源:https://blog.csdn.net/weixin_40485788/article/details/146329101  浏览:    关键词:S32K144入门笔记(十六):ADC的API函数解读

文章目录

  • 1. SDK中的函数
  • 2. API函数的释义


1. SDK中的函数

在使用SDK的非抽象驱动函数时,函数的定义与声明在文件adc_driver.c和adc_driver.h中,一共有25个函数,由于占据篇幅较大,此处不再贴出。
这里说明一下,SDK中关于ADC的配置还有一种PAL库函数,它类似于STM32的HAL库函数,但是实话实说,NXP做的没有STM32完善,并不是所有的外设都可以使用PAL来驱动,这就造成在配置时,有的外设需要使用DRIVER,有的使用PAL。显得有点混乱,这点有点差强人意,笔者在本分栏中全部使用DRIVER,在后续考虑加入PAL部分。


2. API函数的释义

void ADC_DRV_InitConverterStruct(adc_converter_config_t * const config)

此函数将 adc_converter_config_t 结构的成员初始化为默认值(参考手册重置)。在使用此结构通过 ADC_DRV_ConfigConverter() 配置转换器之前,应在此结构上调用此函数,否则所有成员都必须由用户写入(初始化)。此函数确保所有成员都以安全值写入,因此用户可以仅修改所需的成员。

void ADC_DRV_ConfigConverter(const uint32_t instance,const adc_converter_config_t * const config)

通过形参配置ADC转换器,形参均由配置工具生成。

void ADC_DRV_GetConverterConfig(const uint32_t instance,adc_converter_config_t * const config);

获取ADC转换器的设置参数,这里的形参结构体指针用来返回设置参数。

void ADC_DRV_InitHwCompareStruct(adc_compare_config_t * const config)

初始化硬件比较配置结构体为默认值。在配置硬件比较功能(ADC_DRV_ConfigHwCompare)之前应调用此函数,否则所有成员都必须由调用者写入。此函数确保所有成员都以安全值写入,因此用户可以修改所需的成员。

void ADC_DRV_ConfigHwCompare(const uint32_t instance,const adc_compare_config_t * const config)

通过形参配置ADC硬件比较功能,形参均由配置工具生成。

void ADC_DRV_GetHwCompareConfig(const uint32_t instance,adc_compare_config_t * const config)

获取ADC比较功能的设置参数,这里的形参结构体指针用来返回设置参数。

void ADC_DRV_InitHwAverageStruct(adc_average_config_t * const config)

此函数将硬件平均配置结构初始化为默认值(参考手册重置)。在配置硬件平均功能(ADC_DRV_ConfigHwAverage)之前应调用此函数,否则所有成员都必须由调用者写入。此函数确保所有成员都以安全值写入,因此用户可以修改所需的成员。

void ADC_DRV_ConfigHwAverage(const uint32_t instance,const adc_average_config_t * const config)

通过形参配置ADC硬件平均功能,形参均由配置工具生成。

void ADC_DRV_GetHwAverageConfig(const uint32_t instance,adc_average_config_t * const config)

获取ADC硬件平均功能的设置参数,这里的形参结构体指针用来返回设置参数。

void ADC_DRV_InitChanStruct(adc_chan_config_t * const config)

此函数将控制通道配置结构初始化为默认值(参考手册重置)。在使用该结构配置通道(ADC_DRV_ConfigChan)之前,应在此结构上调用此函数,否则调用者必须写入所有成员。此函数确保所有成员都以安全值写入,因此用户只能修改所需的成员。

void ADC_DRV_ConfigChan(const uint32_t instance,const uint8_t chanIndex,const adc_chan_config_t * const config)

用给定的配置结构体指针形参配置所选的控制通道。当软件触发模式启用时,配置控制通道索引 0,会隐式地在所选的 ADC 输入通道上触发新的转换。因此,ADC_DRV_ConfigChan 可用于软件触发转换。在任何控制通道正在控制转换(软件或硬件触发)时对其进行配置,将隐式地中止正在进行的转换。

void ADC_DRV_GetChanConfig(const uint32_t instance,const uint8_t chanIndex,adc_chan_config_t * const config)

获取所选通道索引的当前控制通道配置,这里的形参结构体指针用来返回设置参数。

void ADC_DRV_SetSwPretrigger(const uint32_t instance,const adc_sw_pretrigger_t swPretrigger)

此功能设置软件预触发 ,仅影响前4个控制通道。

void ADC_DRV_Reset(const uint32_t instance)

此函数将所有内部 ADC 寄存器重置为复位值。

void ADC_DRV_WaitConvDone(const uint32_t instance)

此函数通过持续轮询转换完成标志来等待转换完成。

bool ADC_DRV_GetConvCompleteFlag(const uint32_t instance,const uint8_t chanIndex)

此函数返回控制通道的“转换完成”标志的状态。当转换完成或由硬件比较功能生成的条件被评估为真时,此标志会被置位。

void ADC_DRV_GetChanResult(const uint32_t instance,const uint8_t chanIndex,uint16_t * const result)

此函数返回来自一个控制通道的转换结果。

void ADC_DRV_AutoCalibration(const uint32_t instance)

此功能执行自动校准。在使用 ADC 转换器之前运行此函数。

void ADC_DRV_InitUserCalibrationStruct(adc_calibration_t * const config)

此函数将用户校准配置结构初始化为默认值(参考手册重置)。在使用该结构来配置用户校准功能(ADC_DRV_ConfigUserCalibration)之前,应在此结构上调用此函数,否则所有成员都必须由调用者写入。此函数确保所有成员都以安全值写入,因此用户只能修改所需的成员。此函数将根据 ADC 频率检查并重置时钟分频。如果频率大于校准所需的时钟,将显示错误。

void ADC_DRV_ConfigUserCalibration(const uint32_t instance,const adc_calibration_t * const config)

此函数为用户校准寄存器设置配置。

void ADC_DRV_GetUserCalibration(const uint32_t instance,adc_calibration_t * const config)

此函数返回当前用户校准寄存器的值。

IRQn_Type ADC_DRV_GetInterruptNumber(const uint32_t instance)

此函数返回指定 ADC 实例的中断编号。

void ADC_DRV_ClearLatchedTriggers(const uint32_t instance,const adc_latch_clear_t clearMode)

此函数会清除 ADC 实例的所有触发锁存标志。
此函数必须在 ADC 的硬件触发源已停用后调用。

void ADC_DRV_ClearTriggerErrors(const uint32_t instance)

此函数清除 ADC 实例的所有触发错误标志。

uint32_t ADC_DRV_GetTriggerErrorFlags(const uint32_t instance)

此函数返回 ADC 实例的触发错误标志位。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com