S32K3系列单片机学习

news2024/10/5 17:27:08

前言

定时器中断,每个平台的实现方式均有差异,从51单片机通过寄存器配置实现定时器周期计数,再到使用HAL库配置STM32的定时器,他们的实现原理都是大同小异的,只不过不同的平台使用的底层库不同,导致实现的方法不同而已。

一、PIT是什么?

Periodic Interrupt Timer (PIT) :

PIT是一个定时器数组,可以用来触发中断和触发器。

包括一个专用的RTI中断(RTI),它运行在一个单独的时钟上,可以用于系统唤醒。

S32K3系列有三个PIT 可将PIT0看着是一个高级定时器。
在这里插入图片描述

二、PIT特性?

1.特点

四个32位计时器通道,时钟源来自AIPS_SLOW_CLK;
一个RTI定时器在PIT_0运行在SIRC (32KHz),并支持在待机模式下操作;
定时器产生触发脉冲和中断的能力;
每个计时器的独立超时时间;
所有的计时器都使用向下计数器;
PIT_O计时器来创建64位计时器。
在这里插入图片描述

2.时钟&中断

时钟来源于AIPS_SLOW_CLK;
所有的PIT实例都能够生成周期性触发器,这些触发器可以通过TRGMUX路由到电机控制模块如eMIOS、LCU、BCTU、ADC。
PIT_0_RTI中断可使用内部RC振荡器(SIRC)作为时钟源。
在这里插入图片描述

包括RTI在内的所有PIT通道中断共享一个IRQ中断向量 疑惑
在这里插入图片描述

二、PIT的应用?

1.S32DS配置

PIT 配置
在这里插入图片描述

1、选择选项卡“GptChannelConfigSet”
2、按“加号”按钮添加计时器通道
3、选择需要配置的PIT_0 ~ PIT_2实例
4、如果定时器在调试模式下需要暂停,请检查“PitFreezeEnable”
5、选择PIT中的计时器通道
6、如果需要64位定时器,可以使能ChainMode。
7、设置在此通道上发生超时时调用的回调函数。

选择需要使能的中断。

在这里插入图片描述

2.常用API

void Pit_Ip_Init (uint8 instance, const Pit_Ip_InstanceConfigType *config)
用给定的配置初始化一个PIT实例。
void Pit_Ip_InitChannel (uint8 instance, const Pit_Ip_ChannelConfigType chnlConfig)
用给定的配置初始化一个PIT通道。
void Pit_Ip_EnableChannelInterrupt (uint8 instance, uint8 channel)
启用一个PIT通道的中断。
void Pit_Ip_StartChannel (uint8 instance, uint8 channel, uint32 countValue)
用给定的计数器值启动一个PIT通道。
uint64 Pit_Ip_GetCurrentTimer(uint8 instance, uint8 channel)
获取一个PIT通道的当前计时器值。

void Pit_Ip_Init (uint8 instance, const Pit_Ip_InstanceConfigType *config)
用给定的配置初始化一个PIT实例。
void Pit_Ip_InitChannel (uint8 instance, const Pit_Ip_ChannelConfigType chnlConfig)
用给定的配置初始化一个PIT通道。
void Pit_Ip_EnableChannelInterrupt (uint8 instance, uint8 channel)
启用一个PIT通道的中断。
void Pit_Ip_StartChannel (uint8 instance, uint8 channel, uint32 countValue)
用给定的计数器值启动一个PIT通道。
uint64 Pit_Ip_GetCurrentTimer(uint8 instance, uint8 channel)
获取一个PIT通道的当前计时器值。
————————————————
版权声明:本文为CSDN博主「且听风吟_YU」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44712171/article/details/124528274

3.demo

在这里插入图片描述

中断服务函数
在这里插入图片描述

总结

全篇几乎都是翻译的NXP官方给的文档,以博客的方式记录只是为了日后查阅方便,并且梳理的过程中使得映像更加深刻。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/457988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公司25k招了一个测试员不会自动化,试用期没过就赶走了...

最近翻了一些网站的招聘信息,把一线大厂和大型互联网公司看了个遍,发现市场还是挺火热的,虽说铜三铁四,但是软件测试岗位并没有削减多少,建议大家有空还是多关注和多投简历,不要闭门造车,错过好…

手推FlinkML2.2(一)

Java 快速入门 # 本文档提供了一个关于如何使用Flink ML的快速入门。阅读本文档的用户将被指导提交一个简单的Flink作业,用于训练机器学习模型并提供预测服务。 求助,我卡住了!# 如果你遇到困难,请查看社区支持资源。特别是&…

第一个 Servlet 程序

1. 创建项目 使用 IDEA 创建一个 Maven 项目. 1.1、File -> New Project Name:javaservlet2 Location:选择要存放的路径 Language:Java Build system:Maven 点击Create按钮 1.2、Pom.xml引入依赖 依赖包来源&#xff1a; <dependencies> <!-- https…

【Hive实战】探索Hive 2.X以及更早版本的MetaStore

探索Hive 2.X以及更早版本的MetaStore 文章目录 探索Hive 2.X以及更早版本的MetaStore概述配置元数据服务和元数据存储库基础配置参数其他配置参数默认配置配置元服务数据库使用内嵌模式的Derby库使用远程数据存储库 配置元数据服务本地/内嵌服务配置远程服务配置 元数据服务配…

Java Collection源码分析(JDk corretto 11)

文章目录 Collection 系列源码分析 (JDK Amazon corretto 11)Collection接口Iterable接口 子接口 QueueQueue的子接口 Deque双端队列 子接口ListArrayList 实现类序列化与反序列化(后续解决)获取Calss对象的方式 主要有三种&#xff1a;Arrays工具类System类 LinkedList实现类t…

kotlin的let,with,run,apply,also,异同区别

kotlin的let&#xff0c;with&#xff0c;run&#xff0c;apply&#xff0c;also&#xff0c;异同区别 例如&#xff1a; class Person(var name: String, var age: Int) {fun eat() {println("吃饭")}fun work(hour: Int): Int {println("$name $age 工作 $ho…

【论文写作】如何写引言?应该思考什么问题?总体架构!!!

结构 大多数的科技论文都聚焦于简单地说明&#xff0c;做了什么&#xff0c;发现了什么&#xff1f;虽然这个可以帮助你写出一篇研究型论文当中的核心的东西&#xff08;方法论和结果&#xff09;&#xff0c;但是不能完全把引言的部分完成。在这篇文章当中&#xff0c;将展示…

【Python】Python学习笔记(三)条件语句

条件语句 Python中的条件语句与c/cpp基本无异。 if语句 基本结构见以下代码。 Python使用缩进控制if/else语句之间的嵌套关系。 #判断两数是否相等。a int(input(a:)) b int(input(b:))if a b:print(Same) else:print(No Same)elif 代替了cpp中“else if”的写法&#…

数据结构(顺序结构、链式结构、索引结构、散列结构)

文章目录 1.概述2.数据间逻辑关系3.数据的存储结构&#xff08;或物理结构&#xff09;3.1顺序结构3.2链式结构3.3索引结构3.4散列结构 4.运算结构 1.概述 数据结构&#xff0c;就是一种程序设计优化的方法论&#xff0c;研究数据的逻辑结构和物理结构以及它们之间相互关系&am…

STM32 DMA详解

1.DMA简介 DMA (Direct Memory Access) 直接存储器存取 DMA 可以提供外设和存储器或者存储器和存储器之间的高速数据传输&#xff0c;无须CPU干预&#xff0c;节省了CPU的资源( 比如想把Flash里的一批数据转运到SRAM里&#xff0c;需要软件触发&#xff0c;使用软件触发之后&a…

NAT网络地址转换技术入门到详解

本文目录 1、NAT简介1.1、SNAT 和IP伪装(Masquerade)1.2、DNAT1.3、Full NAT (也称为Full Cone NAT)1.4、PAT (也称为NAPT) 2、如何通过iptables将一台多网卡的主机配置成NAT路由器3、汇总 本文会从NAT的简介入手&#xff0c;详解NAT技术本身&#xff0c;通过本文&#xff0c;你…

巧用千寻位置GNSS软件| 电力线勘测如何实现?

正如大家所知&#xff0c;电力线勘测是在做电力线路设计之前对设计线路沿途自然环境进行勘察测量&#xff0c;最后把手簿测量数据在电脑端经过转换输出为电力软件专用格式数据的专用功能。 那么在千寻位置GNSS软件中该如何操作完成电力线的勘察测量呢&#xff1f; 点击【测量】…

市场岗位都在通缩,Framework开发就业环境怎么样?

随着 Android 设备的普及和应用领域的不断扩大&#xff0c;Android Framework 开发需求量将会持续增长&#xff0c;并且会越来越多地向行业、企业级应用和系统优化等方向发展。以下是一些 Android Framework 开发相关的应用场景&#xff1a; 特定垂直领域的智能设备&#xff1…

写最好的Nacos Server稳定版(nacos-server-2.1.1)在Centos、Docker和Windows上安装部署(单机、集群)教程

写最好的Nacos Server稳定版&#xff08;nacos-server-2.1.1&#xff09;在Centos、Docker和Windows上安装部署&#xff08;单机、集群&#xff09;教程 一、前言二、Nacos Server在 Centos7 安装部署&#xff08;单机模式&#xff09;2.1 下载 nacos-server-2.1.1 安装包2.1.1…

Matplotlib绘图库的高级使用

Matplotlib绘图库的高级使用 Matplotlib的三层结构容器层辅助显示层图像层 Matplotlib的绘图配置设置画布属性绘图保存自定义x与y刻度解决中文显示异常网格显示多次plot绘图标记显示图例多个坐标系显示 Matplotlib的三层结构 Matplotlib从层次结构上分&#xff0c;可以分为三层…

在线安装QT5.15.2+VS2019-16.11.26

在线安装QT5.15.2VS2019-16.11.26 一、安装QT5 官方下载&#xff1a; https://download.qt.io/archive/online_installers/4.5/ 选择【qt-unified-windows-x64-4.5.2-online.exe】 登录账户 需要提前注册&#xff0c;过程省略。 安装位置&#xff08;自定义&#xff09; …

GitHub Repo

GitHub Repo 之前笔记写了 git 和 gitup&#xff08;pullpush&#xff09;&#xff0c;这里记一下 giehub repo 二三事。 权限 我不是很确定 github 的企业版是什么样的&#xff0c;不过我们用的是 gitlab 的企业版&#xff0c;这个是需要通过 vpn 才能连接的&#xff0c;如…

【C语言】基础语法6:字符串和字符处理

上一篇&#xff1a;数组和指针 下一篇&#xff1a;文件操作 ❤️‍&#x1f525;前情提要❤️‍&#x1f525;   欢迎来到C语言基本语法教程   在本专栏结束后会将所有内容整理成思维导图&#xff08;结束换链接&#xff09;并免费提供给大家学习&#xff0c;希望大家纠错…

redis7 安装 与 启动

文章目录 1. redis 的 概述2. redis 的 安装3. redis 的启动4. redis 的卸载 1. redis 的 概述 redis : 是 远程 词典服务器 &#xff0c;是 一个基于内存的 键值型 Nosql 数据库. 官方解释 : Remote Dictionary Server(远程字典服务)是完全开源的&#xff0c;使用ANSIC语言编写…

QMS-云质说质量 - 6 中小企业常用的结构化问题解决方法有哪些?

云质QMS原创 转载请注明来源 作者&#xff1a;王洪石 引言 爱因斯坦如何解决问题 面对问题时&#xff0c;有的人可能很盲目地开始行动&#xff0c;干到一定程度&#xff0c;却突然发现自己所做的是无用功。 有人问过科学巨匠爱因斯坦&#xff0c;如果给他一个关系到他生命的问…