S32K144入门笔记(十七):PDB的API函数解读

文章目录

  • [1. SDK中的函数](#1. SDK中的函数)
  • [2. API函数的释义](#2. API函数的释义)

1. SDK中的函数

在SDK中并没有转为PDB设置专门的PAL驱动,在基本的DRIVER库中一共有21个API函数,本文将解读这些函数的功能。

2. API函数的释义

c 复制代码
void PDB_DRV_Init(const uint32_t instance,
                  const pdb_timer_config_t * userConfigPtr)

此函数会初始化 PDB 计数器、输入触发器以及一般的预触发设置。它会重置 PDB 寄存器并启用 PDB 时钟。因此,在进行任何其他操作之前,应调用此函数。初始化后,PDB 可以作为触发式计时器,从而启用 PDB 模块中的其他功能。

c 复制代码
void PDB_DRV_Deinit(const uint32_t instance)

这个函数对 PDB 模块进行去初始化操作。调用此函数会关闭 PDB 模块并降低功耗。

c 复制代码
void PDB_DRV_GetDefaultConfig(pdb_timer_config_t * const config)

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

c 复制代码
void PDB_DRV_Enable(const uint32_t instance)

启用 PDB 模块,使计数器处于开启状态。

c 复制代码
void PDB_DRV_Disable(const uint32_t instance)

禁止 PDB 模块,使计数器处于停止状态。

c 复制代码
void PDB_DRV_SoftTriggerCmd(const uint32_t instance)

这个函数通过软件触发来触发 PDB。 当 PDB 被设置为使用软件触发作为输入时,调用此函数会触发 PDB。

c 复制代码
uint32_t PDB_DRV_GetTimerValue(const uint32_t instance)

获取当前计数值。

c 复制代码
bool PDB_DRV_GetTimerIntFlag(const uint32_t instance)

获取 PDB 中断标志。如果 PDB 中断发生,该标志被置位。

c 复制代码
void PDB_DRV_ClearTimerIntFlag(const uint32_t instance)

清除中断标志位。

c 复制代码
void PDB_DRV_LoadValuesCmd(const uint32_t instance)

此函数执行加载值的命令。

c 复制代码
void PDB_DRV_SetTimerModulusValue(const uint32_t instance,
                                  const uint16_t value)

设置定时器模块的计数值。

c 复制代码
void PDB_DRV_SetValueForTimerInterrupt(const uint32_t instance,
                                       const uint16_t value)

这个函数为定时器中断设置计数值

c 复制代码
void PDB_DRV_ConfigAdcPreTrigger(const uint32_t instance,
                                 const uint32_t chn,
                                 const pdb_adc_pretrigger_config_t * configPtr)

该函数在 PDB 模块中配置 ADC 预触发。任何已启用且触发输出已启用(preTriggerOutputEnable 和 preTriggerEnable 均为真)的预触发,都必须通过调用 ::PDB_DRV_SetAdcPreTriggerDelayValue 函数将相应的延迟值设置为非零值。

c 复制代码
uint32_t PDB_DRV_GetAdcPreTriggerFlags(const uint32_t instance,
                                       const uint32_t chn,
                                       const uint32_t preChnMask)

此函数在 PDB 模块中获取 ADC 预触发标志。

c 复制代码
void PDB_DRV_ClearAdcPreTriggerFlags(const uint32_t instance,
                                     const uint32_t chn,
                                     const uint32_t preChnMask)

清除 PDB 模块中的 ADC 预触发标志。

c 复制代码
uint32_t PDB_DRV_GetAdcPreTriggerSeqErrFlags(const uint32_t instance,
                                             const uint32_t chn,
                                             const uint32_t preChnMask)

获取PDB模块中的ADC预触发序列错误标志。

c 复制代码
void PDB_DRV_ClearAdcPreTriggerSeqErrFlags(const uint32_t instance,
                                           const uint32_t chn,
                                           const uint32_t preChnMask)

清除PDB模块中的ADC预触发序列错误标志。

c 复制代码
void PDB_DRV_SetAdcPreTriggerDelayValue(const uint32_t instance,
                                        const uint32_t chn,
                                        const uint32_t preChn,
                                        const uint32_t value)

设置PDB模块中ADC预触发的延迟值。

c 复制代码
void PDB_DRV_SetCmpPulseOutEnable(const uint32_t instance,
                                  const uint32_t pulseChnMask,
                                  bool enable)

在 PDB 模块中打开/关闭 CMP 脉冲。

c 复制代码
void PDB_DRV_SetCmpPulseOutDelayForHigh(const uint32_t instance,
                                        const uint32_t pulseChn,
                                        const uint32_t value)

设置 PDB 模块中高电平的 CMP 脉冲输出延迟值。

c 复制代码
void PDB_DRV_SetCmpPulseOutDelayForLow(const uint32_t instance,
                                       const uint32_t pulseChn,
                                       const uint32_t value)

此函数为 PDB 模块中的低电平设置 CMP 脉冲输出延迟值。

相关推荐
ACP广源盛1392462567322 分钟前
GSV6155@ACP#6155产品规格详解及产品应用分享
嵌入式硬件·计算机外设·音视频
大唐荣华31 分钟前
灵巧手 - 绳驱(钢丝/绳索驱动)、连杆(Linkage)和直驱(Direct Drive)的技术对比
嵌入式硬件·机械·灵巧手
阿拉斯攀登41 分钟前
51单片机:点灯程序的底层拆解
单片机·嵌入式硬件·51单片机
网易独家音乐人Mike Zhou43 分钟前
【嵌入式模块芯片开发】LP87524电源PMIC芯片配置流程,给雷达供电的延时上电时序及API函数
c语言·stm32·单片机·51单片机·嵌入式·电源·毫米波雷达
思成不止于此1 小时前
【MySQL 零基础入门】MySQL 函数精讲(二):日期函数与流程控制函数篇
android·数据库·笔记·sql·学习·mysql
小小Fred1 小时前
Cortex-M3的xPSR寄存器介绍
单片机·嵌入式硬件
中屹指纹浏览器1 小时前
2025技术干货:国内静态 IP 搭配指纹浏览器的加密绑定与跨区域优化方案
经验分享·笔记
就是蠢啊1 小时前
51单片机——DS1302 时钟芯片(二)
单片机·嵌入式硬件·51单片机
无人装备硬件开发爱好者1 小时前
深度解析:STM32 MDK 工程 HEX 文件转 BIN 文件 —— 原理、方法、优缺点与实战指南(上)
stm32·嵌入式硬件·hex2bin
Ccjf酷儿2 小时前
操作系统 李治军 4 设备驱动与文件系统
笔记