当前位置: 首页 > news >正文

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 实例的触发错误标志位。

相关文章:

  • 洛谷 P3986 斐波那契数列
  • 【SoC基础】单片机常用总线
  • 银行数字化转型
  • Superagent 异步请求:如何处理复杂的 HTTP 场景
  • 【ARM】Linux内核驱动之ADC驱动开发,MAX11617驱动示例
  • 【技术】浏览器自动化框架的演变洞察
  • 安卓开发调用本地接口以及设置base_url思路
  • Flink Cdc TiDB详解
  • C++基础: Rule of five/zero/three
  • 机器学习中的分布统计量:从理论到应用
  • 【大模型】Token计算方式与DeepSeek输出速率测试
  • 单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析
  • 机器学习中矩阵求导公式
  • ubuntu 根据src 包从新打包
  • 209. 长度最小的子数组
  • 【git】git管理规范--分支命名规范、CommitMessage规范
  • dockercompose如何重启单个服务和所有服务
  • 计算机网络笔记(四)——1.4计算机网络在我国的发展
  • FreeRTOSBug解析:一个任务printf打印一半突然跳转另一个任务,导致另一个任务无法打印
  • 深入探索Spring Boot 配置文件:类型、加载顺序与最佳实践
  • 国新办10时将举行新闻发布会,介绍4月份国民经济运行情况
  • 陈刚:推动良好政治生态和美好自然生态共生共优相得益彰
  • 林诗栋/蒯曼混双取胜,国乒赢得多哈世乒赛开门红
  • 尹锡悦宣布退出国民力量党
  • 阿里上财年营收增6%,蒋凡:会积极投资,把更多淘宝用户转变成即时零售用户
  • 刘国中将出席第78届世界卫生大会并顺访瑞士、访问白俄罗斯