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

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

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

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

配置ICU模块
配置IcuGeneral
- 在左侧树状结构中,展开“ICU”并选择“IcuGeneral”。
- 配置以下参数:(示例配置仅供参考,根据实际使用修改)
- IcuDevErrorDetect:打开或关闭开发错误检测和通知。
- IcuReportWakeupSource:配置ICU唤醒源。暂不支持
- IcuPrecompileSupport:是否启用预编译支持。设置为
true表示启用,调用初始化时,入参应为空指针;为false表示不启用,调用初始化时,入参为配置参数地址。 - IcuEcucPartitionRef:配置ICU分区。暂不支持
- IcuKernelEcucPartitionRef:配置Kernel分区。暂不支持
配置IcuOptionalApis
配置ICU可选API。
- IcuDeInitApi:是否启用
Icu_DeInitAPI支持(反初始化)。 - IcuDisableWakeupApi:是否启用
Icu_DisableWakeupAPI支持(关闭唤醒)。暂不支持 - IcuEdgeCountApi:是否启用
Icu_ResetEdgeCount、Icu_EnableEdgeCount、Icu_DisableEdgeCount、Icu_GetEdgeNumbersAPI支持(边缘计数相关)。 - IcuEdgeDetectApi:是否启用
Icu_EnableEdgeDetection、Icu_DisableEdgeDetectionAPI支持(通道边缘检测)。 - IcuEnableWakeupApi:是否启用
Icu_EnableWakeupAPI支持(开启唤醒)。暂不支持 - IcuGetDutyCycleValuesApi:是否启用
Icu_GetDutyCycleValuesAPI支持(获取占空比值)。 - IcuGetInputStateApi:是否启用
Icu_GetInputStateAPI支持(获取输入状态)。 - IcuGetTimeElapsedApi:是否启用
Icu_GetTimeElapsedAPI支持(获取时间间隔)。 - IcuGetVersionInfoApi:是否启用
Icu_GetVersionInfoAPI支持(获取版本信息)。 - IcuSetModeApi:是否启用
Icu_SetModeAPI支持(设置工作模式)。暂不支持 - IcuSignalMeasurementApi:是否启用
Icu_StartSignalMeasurement、Icu_StopSignalMeasurementAPI支持(测量信号)。 - IcuTimestampApi:是否启用
Icu_StartTimestamp、Icu_StopTimestamp、Icu_GetTimestampIndexAPI支持(获取时间戳)。暂不支持 - IcuWakeupFunctionalityApi:是否启用
Icu_CheckWakeupAPI支持(检查唤醒功能)。暂不支持
配置IcuConfigSet
ICU通道信息配置
- IcuMaxChannel:需要配置最大ICU通道数。
- IcuChannel:ICU通道信息
IcuChannelId:ICU通道的通道ID。在Icu_Cfg.h生成逻辑通道的ID宏信息,用于接口调用。(从0开始)
IcuDefaultStartEdge:检测方式选择。
分类 说明 ICU_FALLING_EDGE 下降沿捕捉 ICU_RISING_EDGE 上升沿捕捉 ICU_RISING4_EDGES 每4个上升沿触发捕捉 ICU_RISING16_EDGES 每16个上升沿触发捕捉 IcuMeasurementMode:测量方式选择。
分类 说明 ICU_MODE_EDGE_COUNTER 边沿计数 ICU_MODE_SIGNAL_EDGE_DETECT 边沿检测 ICU_MODE_SIGNAL_MEASUREMENT 信号测量 ICU_MODE_TIMESTAMP 时间戳 暂不支持 IcuWakeupCapability: 是否支持唤醒功能。暂不支持
IcuChannelAssignment:选择ICU通道的硬件信息。
IcuPhysicalChannelIndex:硬件通道索引。
IcuWakeupValue:唤醒值。暂不支持
IcuSignalEdgeDetection:边沿检测信息配置。
- IcuSignalNotification:回调函数配置。
IcuSignalMeasurement:信号测量配置
IcuSignalMeasurementProperty:信号测量属性。
分类 说明 ICU_LOW_TIME 测量信号低电平时间 ICU_HIGH_TIME 测量信号高电平时间 ICU_PERIOD_TIME 测量信号周期时间 ICU_DUTY_CYCLE 测量信号占空比
IcuTimestampMeasurement:时间戳测量属性。暂不支持
IcuWakeup:唤醒配置。暂不支持
IcuChannelEcucPartitionRef:ICU通道硬件配置的引用。
- IcuHwConfig:ICU通道硬件配置
- IcuHwModule:硬件单元选择。
- IcuClockSource:时钟源选择。
- IcuPrescaler:预分频选择。需要做减一处理,如16分频,需要配置15
- IcuMaxPeriodCounter:最大周期数设置。
设置项目路径及名称
- 点击“Setting”按钮。
- “Project Name”是配置的工程名称
- 在“Project Path”设置工程保存路径。
- “Configuration Code Folder Name”配置文件存放的文件加名称。
- 点击“Confirm”保存设置,如图所示

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

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

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

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

