简介:在客户业务中,有位客户根据业务需求需要在 S32K144 FTM 模块中产生并输出几个中断。
具体要求如下:
1.实现溢出中断;
2.实现输入捕获中断;
3.实现通过输出比较触发产生中断。
一、工作基本环境为:
-
软件:S32 Design Studio for ARM Version 2.2
-
硬件:NXP S32K144开发板
二、操作步骤
1. 例程导入
(1)打开S32 Design Studio,点击:“File”->“New”->“S32DS Project from Example”。
(2)在弹出的窗口选取 S32K144 目录下的 FTM_s32k144例程,点击“Finish”,然后编译并运行例程。
(3)示例程序如下图所示。
|
2. 为能使用模块中断,模块的基本配置流程如下:
(1)模块的基本初始化
(2)模块配置模式和使能中断
(3)使用对应的中断编号并实现中断函数
3. 对应中断的具体实现如下
(1)输出比较的中断实现
Step 1: FTM 模块的初始化实现
|
直接使用 DEMO 自带的即可,这边不做修改,主函数中的调用如下:
|
Step 2:输出比较模式的配置和中断使能如下:
|
|
启动 FTM0 模块的计数
|
Step 3: 使能对应的中断编号并实现中断函数
|
主函数中调用函数使能该编号的中断
|
注释掉输出比较的 Function 并实现该中断实体程序内容
|
|
注意中断函数名称与中断编号的宏是一种对应的关系,中断函数名称只能按照这种方式定义
至此,关于输出比较的中断已实现。
(2)输入捕获的中断实现
同样关于输入捕获的中断实现参考输出比较的中断实现即可,该部分主要内容如下:
|
中断部分函数实现如下:
|
(3)计数溢出的中断实现
计数溢出部分也可使用 FTM 部分的其他模块来实现,这边使用 FTM1 作为实现的模块。
修改 FTM0_对应的初始化内容修改为 FTM1,并注释掉不需要的部分:
|
|
中断部分的实现如下所示:
|
三、总结
本文档实为了实现在 FTM模块中添加两个中断,共进行了如下操作:
评论
百万伏特
2021年9月24日