Pwm 配置使用说明
大约 6 分钟约 1945 字2025/8/11配置工具
Pwm 配置使用说明
简介
本手册详细介绍了如何使用灵犀配置KF32A158SQV芯片的Pwm模块。
环境准备
确保已安装以下软件:
- 灵犀(版本需支持KF32A158SQV芯片)
- 支持KF32A158SQV芯片的MCAL(Microcontroller Abstraction Layer)软件包
创建项目
- 打开灵犀。
- 点击主界面上的“新建项目”按钮,如图所示

选择MCU型号
- 在“MCU型号选择”窗口中,选择“MCAL”项目类型。
- 在“快速选择MCU”下拉菜单中,选择“KF32A158SQV”。
- 点击“创建”按钮,如图所示

添加PWM模块
- 在灵犀主界面,点击左侧的“》”按钮打开模块添加界面,如图所示

- 在灵犀主界面,点击“Apply Module”按钮。
- 在“Module Manager”窗口中,从“unUsed”列表中选择“Pwm”模块。
- 点击中间的“>”按钮,将“Pwm”模块移动到“used”列表中。
- 点击“Apply”按钮,完成模块添加,如图所示

配置PWM模块
配置PwmGeneral
- 在左侧树状结构中,展开“Pwm”并选择“PwmGeneral”。
- 配置以下参数:(示例配置仅供参考,根据实际使用修改)
- PwmDevErrorDetect:Detect开关,默认为关闭,如果用户需要使用Detect功能,需要将此参数设置为
true - PwmDutycycleUpdatedEndperiod:用于在当前周期结束时启用占空比参数更新的开关。暂不支持
- PwmIndex:指定此模块实例的InstanceId。
- PwmLowPowerStatesSupport:指定此模块是否支持低功耗状态。暂不支持
- PwmNotificationSupported:通知功能开关。
- PwmPeriodUpdatedEndperiod:用于在当前周期结束时启用周期参数更新的开关。
- PwmPowerStateAsynchTransitionMode:指定此模块是否支持异步状态转换。暂不支持
- PwmKernelEcucPartitionRef:指定此模块的Kernel ECUCPartition。暂不支持
- PwmGeneralUsed:配置是否使用通用PWM模块。
- PwmAdvanceUsed:配置是否使用高级PWM模块。(部分芯片无高级PWM单元,则无此选项)
- PwmEnhanceUsed:配置是否使用增强PWM模块。
- PwmPrecompileSupport:是否启用预编译支持。设置为
true表示启用,调用初始化函数,入参应为空指针;为false表示不启用,调用初始化函数,入参为配置参数地址。 - PwmPowerStateSupported:切换到可生成的电源状态模式。暂不支持
- PwmEcucPartitionRef:配置Pwm的ECUC部分。暂不支持
- PwmPowerStateConfig:配置Pwm的电源状态模式。暂不支持
- PwmDevErrorDetect:Detect开关,默认为关闭,如果用户需要使用Detect功能,需要将此参数设置为
配置PwmConfigurationOfOptApiServices
函数API开关选择
- PwmDeInitApi:反初始化函数
Pwm_DeInit开关。 - PwmGetOutputState:获取输出状态的函数
Pwm_GetOutputState开关。暂不支持 - PwmSetDutyCycle:设置占空比的函数
Pwm_SetDutyCycle开关。 - PwmSetOutputToIdle:设置输出为空闲状态的函数
Pwm_SetOutputToIdle开关。 - PwmSetPeriodAndDuty:设置周期和占空比的函数
Pwm_SetPeriodAndDuty开关。 - PwmVersionInfoApi:获取版本信息的函数
Pwm_GetVersionInfo开关。
配置PwmConfigSet
PWM通道和硬件单元配置,一个模块可以使用多个通道,但是这几个通道是共周期的。
- PwmChannel:通道信息配置,可以配置多个
- PwmChannelClass:PWM通道类别。需要使用
Pwm_SetPeriodAndDuty修改周期和占空比的通道需要配置为PWM_VARIABLE_PERIOD。 - PwmChannelId:PWM通道的通道ID,随着通道增加,自动加1,从0开始,在
Pwm_Cfg.h文件中生成对应的宏,供外部接口使用。 - PwmDutycycleDefault:占空比默认值,占空比默认值范围00x8000,对应占空比0100%。
- PwmIdleState:空闲状态。高或低。
- PwmNotification:通道通知函数。暂不支持
- PwmPeriodDefault:用于初始化的周期值。暂不支持
- PwmPolarity:每个PWM通道的起始极性。高或低。
- PwmMcuClockReferencePoint:PWM通道的时钟源。暂不支持
- PwmModuleReference:通道硬件选择,需要配置对应的硬件单元(普通\高级\增强,实际可选项取决于芯片)。
- PwmModuleConfigIndexReference:选择硬件单元的配置索引,只能选择已配置好的硬件单元。
- PwmHwChannelId:硬件单元通道选择。
- PwmChannelEcucPartitionRef:配置PWM通道的ECU分区。暂不支持
- PwmChannelClass:PWM通道类别。需要使用
- PwmGeneralModuleConfig:通用硬件单元配置,需要打开
PwmGeneralUsed才可以配置该单元。- PwmModuleId:硬件单元ID。选择对应的硬件模块,实际可选项取决于芯片。
- PwmTimePeriod:配置周期值,用于算PWM周期使用值PPX。
- PwmTimePrescaler:配置预分频值。
- PwmTxUpDownCountMode:配置PWM通道的计数模式。
PWM_DOWN_FLAG\PWM_UP_FLAG是边沿对齐;PWM_UP_DOWN_UP_FLAG\PWM_UP_DOWN_DOWN_FLAG\PWM_UP_DOWN_BOTH_FLAG是中心对齐。 - PWM周期计算:
边沿对齐公式:PWM周期=(PPX+1)×Tclk×Tx预分频比
中心对齐公式:PWM周期=PPX×Tclk×Tx预分频比×2
Tclk为工作时钟频率的倒数 - PwmWorkingClock:配置PWM工作时钟。
- PwmChannelNotification:配置PWM通道中断通知。如需配置,需要打开
PwmNotificationSupported。
- PwmAdvanceModuleConfig:高级硬件单元配置,需要打开
PwmAdvanceUsed才可以配置该单元。(部分芯片无此配置项)- PwmModuleId:硬件单元ID。选择对应的硬件模块,实际可选项取决于芯片。
- PwmTimePeriod:配置周期值,用于算PWM周期使用值PPX。
- PwmTimePrescaler:配置预分频值。
- PwmTimePostscaler:配置后分频值。
- PwmTxUpDownCountMode:配置PWM通道的计数模式。
PWM_DOWN_FLAG\PWM_UP_FLAG是边沿对齐;PWM_UP_DOWN_UP_FLAG\PWM_UP_DOWN_DOWN_FLAG\PWM_UP_DOWN_BOTH_FLAG是中心对齐。 - PWM周期计算:同
PwmGeneralModuleConfig - PwmWorkingClock:配置PWM工作时钟。
- PwmChannelNotification:配置PWM通道中断通知。如需配置,需要打开
PwmNotificationSupported。
- PwmEnhanceModuleConfig:增强硬件单元配置,需要打开
PwmEnhanceUsed才可以配置该单元。- PwmModuleId:硬件单元ID。选择对应的硬件模块,实际可选项取决于芯片。
- PwmTimePeriod:配置周期值,用于算PWM周期使用值PPX。
- PwmTimePrescaler:配置预分频值。
- PwmTxUpDownCountMode:配置PWM通道的计数模式。
PWM_DOWN_FLAG\PWM_UP_FLAG是边沿对齐;PWM_UP_DOWN_UP_FLAG\PWM_UP_DOWN_DOWN_FLAG\PWM_UP_DOWN_BOTH_FLAG是中心对齐。 - PWM周期计算:PWM周期计算:同
PwmGeneralModuleConfig - PwmWorkingClock:配置PWM工作时钟。
- PwmChannelNotification:配置PWM通道中断通知。如需配置,需要打开
PwmNotificationSupported。
设置项目路径及名称
- 点击“Setting”按钮。
- “Project Name”是配置的工程名称
- 在“Project Path”设置工程保存路径。
- “Configuration Code Folder Name”配置文件存放的文件加名称。
- 点击“Confirm”保存设置,如图所示

保存配置并预览代码
- 点击“Save”按钮,保存配置。
- 点击“Preview Code”按钮,查看生成的代码文件列表,如图所示

- 点击相应的文件名,可以预览文件内容,如图所示

生成代码
- 点击“Generate code”按钮,生成相关配置文件,如图所示

查看生成代码
- 生成代码后,可以在项目路径下找到生成的源文件。
- 使用代码编辑器打开这些文件,进行查看或进一步编辑,如图所示

