S32K144入门笔记(十六):ADC的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 实例的触发错误标志位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值