S32K144外设实验(五):FTM周期中断
文章目录
- 1. 概述
- 1.1 时钟系统
- 1.2 实验目的
- 2. 代码的配置
1. 概述
1.1 时钟系统
FTM的CPU接口时钟为SYS_CLK,在RUN模式下最高80MHz。模块的时钟结构如下图所示。

从上图中可以看出,FTM模块的功能时钟为SYS_CLK,计数器的时钟源可以来源于三条路:
- SYS_CLK
- 固定时钟
- 外部时钟
此处需要注意,虽然外部时钟源的可选范围较广,但是配置工具提示,其值不可超过SYS_CLK的4分频,为了追求更高的时钟分辨率,笔者配置计数器的时钟为SYS_CLK。
1.2 实验目的
本次实验的内容比较简单,设置FTM模块的基础参数,设置MOD值,当计数器到达MOD值时则产生溢出中断,在中断中对一个静态变量计数,整个计数值到达1秒时翻转一个LED的状态。
2. 代码的配置
由于配置计数器的时钟源为SYS_CLK,那么PCC中的时钟配置则随便配置,笔者采用默认的设置,如下图:

FTM的配置如下:

在这里设置分频值后,计数器的时钟会被配置工具自动计算并显示。计数模式使用向上计数,这里的计数模式没有其他品牌的单片机灵活,只有向上和上下计数两个模式。
计数值的计算和其他单片机差不多,都要预留一个反应的时钟周期,所以MOD值要减1。
初始化代码如下:
ftm_state_t ftmState;
//周期溢出中断初始化
void FtmMcInit(void)
{//初始化FTM模块参数FTM_DRV_Init(INST_FLEXTIMER_MC_1, &flexTimer_mc_1_InitConfig_0, &ftmState);//配置计数器FTM_DRV_InitCounter(INST_FLEXTIMER_MC_1, &flexTimer_mc_1_TimerConfig_0);//设置中断优先级INT_SYS_SetPriority(FTM0_Ovf_Reload_IRQn, 6);//开始计数FTM_DRV_CounterStart(INST_FLEXTIMER_MC_1);
}
中断服务程序仍然使用启动文件中定义好的函数名,在中断中要注意将溢出中断的标志位清除。
中断部分代码如下:
//FTM0周期溢出中断
void FTM0_Ovf_Reload_IRQHandler(void)
{static uint16_t i = 0;if (++i >= 1000){i = 0;PINS_DRV_TogglePins(LED_BLUE_PORT, 1 << LED_BLUE_PIN);}//清除中断标志位FTM_DRV_ClearStatusFlags(INST_FLEXTIMER_MC_1, FTM_TIME_OVER_FLOW_FLAG);
}
相关文章:
S32K144外设实验(五):FTM周期中断
文章目录 1. 概述1.1 时钟系统1.2 实验目的 2. 代码的配置 1. 概述 1.1 时钟系统 FTM的CPU接口时钟为SYS_CLK,在RUN模式下最高80MHz。模块的时钟结构如下图所示。 从上图中可以看出,FTM模块的功能时钟为SYS_CLK,计数器的时钟源可以来源于三…...
Android 静态壁纸设置实现方案
提示:Android 平台,静态壁纸实现方案 文章目录 需求:Android 实现壁纸 设置场景 参考资料实现方案直接调用系统 API,WallpaperManager 来实现 wallpaperManager.setResource系统源码分析系统app WallpaperPickerWallpaperPickerActivity ->…...
在计算进程D状态持续时间及等IO的时间遇到的一处问题
一、背景 之前的博客 线程每次iodelay监控及D状态开始和结束监控并做堆栈记录-CSDN博客 里,我们讲到了通过内核模块抓取D状态的进程和等IO事件的方法,里面也用到了通过获取rq的symbol,再去获取rq里的rq_clock_task时间的方法(内核…...
Android11-12-13 替换系统默认壁纸
替换默认壁纸,是客需中再普通不过的需求,这里整理作为笔记记录 文章目录 需求场景 关联资料需求实现拓展总结 需求 客制化客户壁纸需求,替换客户定制的壁纸。 场景 手机-平板相关产品,各种广告机、工控、消费级产品,…...
Buffer overFolw---Kryo序列化出现缓冲区溢出的问题解决
问题: 由于我的数据量太大,我设置批次为10000万,50w数据大概有400M左右,然后进行spark数据处理时候报错为org.apache.spark.SparkException:Kryo serialization failed:Buffer overFolw.Available:0,rquired 58900977,To …...
什么是索引?为什么要使用B树作为索引数据结构?
MySQL的事务特性 1.原子性:原子性就是这个事件要么执行完,要么没执行,不会存在中间状态,与C中华那个加锁避免多线程竞争是一个道理; 2.一致性:保持事件的操作对象双方某数据之和是不变的,就以转账为例,A转给B100块,那么A的余额多100,B的余额就必须少100; 3.隔离性:隔离就是独…...
【Linux】线程基础
🔥个人主页:Quitecoder 🔥专栏:linux笔记仓 目录 01.背景知识02.线程概念简单使用线程线程调度成本更低 01.背景知识 OS进行内存管理,不是以字节为单位的,而是以内存块为单位的,默认大小为4kb&…...
TCP netstat TIME_WAIT CLOSE_WAIT
TIME_WAIT is different from CLOSE_WAIT, and it’s not necessarily a client-side fault. It happens due to how TCP handles connection termination. Key Differences TCP StateCauseWho is responsible?Fix/OptimizationCLOSE_WAITServer didn’t close() the socket…...
「宇树科技」13家核心零部件供应商梳理!
2025年2月6日,摩根士丹利(Morgan Stanley)发布最新人形机器人研报:Humanoid 100: Mapping the Humanoid Robot Value Chain(人形机器人100:全球人形机器人产业链梳理)。 2025年2月20日…...
Spring Boot 项目打包运行
打包成jar包,执行 java -jar 包名; 保证打出的jar包是独立可运行的包,需要xml中添加插件配置 <!-- SpringBoot应用打包插件--> <build><plugins><plugin><groupId>org.springframework.boot</groupId&…...
数据结构八股
线性数据结构 数组:数组的内存空间是连续的,随机访问的时间复杂度是01,适用于需要按索引访问元素的场景,但是插入和删除元素较慢,时间复杂度是On链表:链表是由节点组成,节点之间是分散存储的,内存不连续&a…...
7.2 控件和组件
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 C#工具箱位于编辑窗口的左侧,它默认内置了大量的控件和组件。控件一般派生于System.Windows.Forms.Control类,显…...
自动驾驶背后的数学:ReLU,Sigmoid, Leaky ReLU, PReLU,Swish等激活函数解析
随着自动驾驶技术的飞速发展,深度学习在其中扮演着至关重要的角色。而激活函数作为神经网络中的关键组件,直接影响着模型的性能和效果。前面几篇博客 自动驾驶背后的数学:特征提取中的线性变换与非线性激活 , 「自动驾驶背后的数学࿱…...
transform
http://zhihu.com/question/445556653/answer/3254012065 西科技的文章 视频讲解 小白也能听懂的 transformer模型原理详解 self- attention 多头注意力机制 encoder decoder 机器翻译_哔哩哔哩_bilibili...
在 Simulink 里构建输水隧洞充水过程模型的基本步骤与思路
下面为你介绍在 Simulink 里构建输水隧洞充水过程模型的基本步骤与思路,不过由于没办法直接生成 Simulink 模型文件,这里会给出一个模拟该过程的 Matlab 脚本代码示例。 建模思路 输水隧洞充水过程一般能够用一阶常微分方程来描述,其方程如…...
详解堆排序(超详细)
堆排序 一、 堆的基本概念二、 堆排序的主要步骤:1. 构建大顶堆(Max-Heap)2. 排序过程3. 堆化的详细过程4. 堆排序的完整步骤总结5. 堆排序的时间复杂度6. 堆排序的空间复杂度 三、 举例讲解示例数组第一步:构建大顶堆1.1 找到最后…...
思库拉水厂开业庆典千人大会回顾
近日,思库拉离子水厂在广州隆重举办了开业盛典,现场汇聚了逾千名嘉宾。此次盛会不仅是对思库拉离子水厂正式投产的庆祝,更是对思库拉品牌未来蓝图的一次展示。 现场氛围热烈,洋溢着浓厚的喜庆气息。参与者来自五湖四海,既有思库拉的忠实拥趸,也有对思库拉产品充满兴趣的潜在消费…...
react 大屏根据屏幕分辨率缩放
记录,以防忘记 const DataLargeScreen () > {const layoutRef useRef<any>();// ui稿宽度const width useRef(1920).current;// ui稿高度const height useRef(1080).current;const [scaleValue, setScaleValue] useState(1);const useWhichScaleValu…...
JAVA学习*Object类
Object类 Object类是所有类的父类 类中有一些方法(都需要掌握) toString()方法 在学习类的对象的时候有介绍过了,当我们重新给此方法就会打印类与对象的信息 equals()方法 在Java中的比较, 如果左右两侧是基本类型变量&#…...
基于python脚本实现的打砖块小游戏
目录 1. 打砖块游戏 2. 初始化 Pygame 和设置屏幕 3. 定义游戏对象 3.1 定义玩家操作的paddle 3.2 定义球(Ball) 3.3 砖块(Bricks) 4. 游戏主循环 4.1 事件处理 4.2 板子移动 4.3 球移动和碰撞检测 4.4 绘制游戏对象 …...
20250317-vue-Prop4
运行时类型检查 校验选项中的 type 可以是下列这些原生构造函数: StringNumberBooleanArrayObjectDateFunctionSymbolError 另外,type 也可以是自定义的类或构造函数,Vue 将会通过 instanceof 来检查类型是否匹配。例如下面这个类…...
地理信息系统(GIS)在智慧城市中的40个应用场景案例
在智慧城市发展进程中,地理信息系统(GIS)作为关键技术之一,正扮演着不可或缺的角色,堪称智慧城市的神经中枢。通过空间数据分析优化城市管理,GIS技术为智慧城市的构建提供了强大的支持。 本文分享了GIS在智…...
XSS Game(DOM型) 靶场 通关
目录 靶场网址 Ma Spaghet! 分析 解题 Jefff 分析 解题 方法一 方法二 Ugandan Knuckles 分析 解题 Ricardo Milos 分析 解题 Ah Thats Hawt 分析 解题 方法一 方法二 Ligma 分析 解题 Mafia 分析 解题 方法一:构造函数 方法二…...
【大模型基础_毛玉仁】3.5 Prompt相关应用
目录 3.5 相关应用3.5.1 基于大语言模型的Agent3.5.2 数据合成3.5.3 Text-to-SQL3.5.4 GPTs 3.5 相关应用 Prompt工程应用广泛,能提升大语言模型处理基础及复杂任务的能力,在构建Agent、数据合成、Text-to-SQL转换和设计个性化GPTs等方面不可或缺。 . …...
《Python全栈开发》第12课:RESTful API设计 - 构建现代化接口
🌟 课程目标 理解REST设计原则掌握Flask-RESTful开发实现JWT认证接口构建标准化API文档一、REST是什么?(餐厅点餐系统比喻) 1.1 REST核心原则 #mermaid-svg-0rLbveAhUdJCLKTy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;…...
深入解析libsunrpc:构建分布式系统的核心RPC库
深入解析libsunrpc:构建分布式系统的核心RPC库 引言 在分布式系统开发中,远程过程调用(Remote Procedure Call, RPC) 是连接不同节点、实现跨网络服务调用的关键技术。作为SUN公司开源的经典RPC实现,libsunrpc 凭借其…...
deepseek搭建本地私有知识库dify安装介绍docker compose图文教程
按照官方介绍,打开教程安装。下载源码, # 假设当前最新版本为 0.15.3 git clone https://github.com/langgenius/dify.git --branch 0.15.3 进入docker目录, cd dify/docker 网络科学的直接执行命令就可以了。 docker compose up -d 镜…...
C语言动态内存管理深度解析与嵌入式开发实战
C语言动态内存管理深度解析与嵌入式开发实战 (高级嵌入式软件开发工程师视角) 一、动态内存函数原理与差异 malloc 核心机制:从堆区分配指定字节的未初始化内存,返回void*指针。失败时返回NULL,必须检查返回值…...
右击没有Word、PPT、Excel功能
右击没有Word、PPT、Excel功能 导航 文章目录 右击没有Word、PPT、Excel功能导航一、问题描述二、事情经过三、解决方案其他思路分享 一、问题描述 在安装并激活了office之后,业务反馈右击没有出现新建Word功能,仅有Word文档 二、事情经过 按道…...
無人機高空收集地形之linux server 的應用部署
如何在Linux服务器上部署无人机高空地形测量应用? 一、技术实现步骤 系统环境搭建 操作系统与ROS安装 在Linux服务器(推荐Ubuntu LTS版本)上安装ROS(机器人操作系统),例如ROS Noetic或ROS2 Humble1。ROS提…...
