嵌入式C语言--GPT通用定时器

嵌入式C语言–GPT通用定时器

嵌入式C语言--GPT通用定时器

  • 嵌入式C语言--GPT通用定时器
    • 一. GPT基本概念
    • 二. GPT的作用
    • 三. GPT通道的四个状态
    • 四. Continuous/One-Shot模式
      • 3.1)Continuous模式
      • 3.2)One-Shot模式

一. GPT基本概念

GPT即General Purpose Timer(s) ,通用定时器模块,该模块通过使用硬件定时器通道为操作系统或其他需要定时器功能的模块提供定时功能,通常可提供从微秒级到毫秒级的定时时钟功能。

二. GPT的作用

1)启动及停止硬件定时器;
2)获取定时器已过去及剩余的定时器数值;3)控制定时器的定时数值;
4)控制时间触发的中断
总而言之,其作用就是一个定时器,为需要的模块提供定时功能
例如对于需要进行周期性处理的动作通常可通过定时器功能来实现。
定时器一旦启动后,将持续进行计数,一旦到达所设置的定时值时将会以中断的方式予以告知。

三. GPT通道的四个状态

GPT通道的状态有:Initialized/Running/Stopped/Expired四个状态
1)Initialized
在GPT Driver初始化完成后状态为Initialized状态;
2)Running
调用Gpt_Startimer()后状态变为Running,开始计时;
3)Expired
计时达到目标后变为Expired
4)Stopped
调用Gpt_Stoptimer()后状态变为Stopped

四. Continuous/One-Shot模式

GPT根据计时模式可以分为Continuous及One-Shot模式,其中Continuous在开始计时达到设定时间后会自动开始下一轮计时,但对于One-Shot模式则需要调用API Gpt_Startimer()重新开始定时。根据不同的使用场景在MCAL中进行灵活配置。

3.1)Continuous模式

周期性定时器(continuous):定时时间终止时,定时器会自动重新开始,若产生中断的话,每隔一个定时周期就会产生一次。
到达目标时间后,计时器再次以值“0”继续运行。
Continuous模式采集过程如下:
1)调用Gpt_EnableNotification() API使能对应通道的中断服务函数;
2)调用Gpt_Startimer()开始定时;
3)在GPT Timer达到设定时间后会进入对应的中断服务函数,同时开启下一轮的定时,如此循环往复;
4)当不需要再继续定时调用Gpt_Stoptimer(),关闭定时器,停止计时。

3.2)One-Shot模式

单次性定时器(one-shot):定时时间终止时,定时器中止不再计数,若产生中断的话,也仅产生一次中断。one shot mode timer
One-Shot模式采集过程相对比较直白,即触发一次定时就工作一次,下一次需要重新去启动,其大致工作过程如下:
1)调用Gpt_EnableNotification() API使能对应通道的中断服务函数;
2)调用Gpt_Startimer()开始定时;
3)在GPT Timer达到设定时间后会进入对应的中断服务函数;
4)当需要再次定时时重新调用Gpt_Startimer()开始定时;
4)当不需要再继续定时调用Gpt_Stoptimer(),关闭定时器,停止计时。

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

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

相关文章

vue-列表渲染

在vue中 提供了 v-if v-else v-else-if v-show v-if v-if指令用于条件性渲染地渲染一块内容.这块内容只会在指令的表达式返回真值时会被渲染 实例: <template><h3>条件渲染</h3><div v-if"flag">看</div></template> <s…

吴恩达2022机器学习专项课程(一) 4.4 学习率

问题预览/关键词 学习率太小有什么影响&#xff1f;学习率太大有什么影响&#xff1f;如果成本函数达到局部最小值&#xff0c;使用梯度下降还能继续最小化吗&#xff1f;为什么学习率固定&#xff0c;而最小化成本函数的步幅却越来越缓&#xff1f;如何选择合适的学习率&…

算法学习——LeetCode力扣图论篇3(127. 单词接龙、463. 岛屿的周长、684. 冗余连接、685. 冗余连接 II)

算法学习——LeetCode力扣图论篇3 127. 单词接龙 127. 单词接龙 - 力扣&#xff08;LeetCode&#xff09; 描述 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 beginWord -> s1 -> s2 -> … -> sk&#xff1a; 每一对相…

【苹果MAC】苹果电脑 LOGI罗技鼠标设置左右切换全屏页面快捷键

首先键盘设置->键盘快捷键 调度中心 设置 f1 f2 为移动一个空间&#xff08;就可以快捷移动了&#xff09; 想要鼠标直接控制&#xff0c;就需要下载官方驱动&#xff0c;来设置按键快捷键&#xff0c;触发 F1 F2 安装 LOGI OPTIONS Logi Options 是一款功能强大且便于使用…

Spring Boot单元测试全指南:使用Mockito和AssertJ

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

Verilog语法回顾--用户定义原语

目录 用户定义原语 UDP定义 UDP状态表 状态表符号 组合UDP 电平敏感UDP 沿敏感时序UDP 参考《Verilog 编程艺术》魏家明著 用户定义原语 用户定义原语&#xff08;User-defined primitive&#xff0c;UDP&#xff09;是一种模拟硬件技术&#xff0c;可以通过设计新的原…

人工智能产业应用--具身智能

五、下一个浪潮 (一) 跳出缸中脑——虚实结合 在探索人工智能的边界时&#xff0c;“跳出缸中脑——虚实结合”这一概念提出了一个引人深思的视角&#xff0c;尤其是在具身智能的领域。具身智能是一种思想&#xff0c;强调智能体通过与其环境的直接物理互动来实现智能行为。然…

【JavaScript编程】ArrayBuffer转JSON

将ArrayBuffer转换为JSON是一个复杂的过程&#xff0c;因为它涉及到从二进制数据到文本数据的转换。 步骤如下&#xff1a; 将ArrayBuffer转换为字节数组&#xff1a;你可以使用Uint8Array或其他TypedArray视图来读取ArrayBuffer中的数据。 解码字节数组&#xff1a;使用Text…

QT-左框选项卡软件界面框架

QT-左框选项卡软件界面框架 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include <QTextBrowser> #include <QLabel> #include <QPushButton> #include <QSpacerItem> #include <QToolButton> #include <QDebug> #i…

在 QML 中,ComboBox 是一种常用的用户界面控件,通常用于提供一个下拉式的选择框,允许用户从预定义的选项列表中选择一个值

ComboBox 详解&#xff1a; 以下是 ComboBox 的一些重要属性和特性&#xff1a; model: 用于指定 ComboBox 中的选项列表&#xff0c;可以是一个数组、列表、模型或者其他可迭代的数据结构。 editable: 用于指定是否允许用户编辑 ComboBox 中的文本输入框&#xff0c;以便输入…

【MyBatis】MyBatis的介绍和基本使用

目录 一、数据库操作框架的历程 1.1 JDBC 1.2 DBUtils 1.3 Hibernate 1.4 Spring JDBC&#xff1a;JDBCTemplate 1.5 Spring Data JPA 二、什么是MyBatis&#xff1f; 2.1 传统JDBC与MyBatis相比的弊病 2.2 MyBatis中的组件 2.3 MyBatis的体系结构 三、快速搭建MyBa…

Linux的中间件

我们先补充点关于awk的内容 awk的用法其实很广。 $0 表示整条记录 变量&#xff1a; NF 一行中有多少个字段&#xff08;表示字段数&#xff09; NR &#xff1a; 代表当前记录的序号&#xff0c;从1开始计数。每读取一条记录&#xff0c;NR的值就会自动增加1。&#xff08;…

鸿蒙TypeScript入门学习第5天:【TypeScript 运算符】

1、TypeScript 运算符 运算符用于执行程序代码运算&#xff0c;会针对一个以上操作数项目来进行运算。 考虑以下计算&#xff1a; 7 5 12复制以上实例中 7、5 和 12 是操作数。 运算符 用于加值。 运算符 用于赋值。 TypeScript 主要包含以下几种运算&#xff1a; 算…

NEO 学习之 MLE(最大似然估计)

文章目录 简单题目MLE 在不同的分布的运用正态分布指数分布均匀分布泊松分布 如何理解 最大似然估计&#xff1f; 就是我们先取出一堆样本&#xff0c;得到一个L( θ \theta θ) 函数&#xff0c;然后的话&#xff0c;这个是关于 θ \theta θ 的一个函数&#xff0c;那么由于存…

深入解析前端安全性:构建强大的安全防线

在数字时代的浪潮中&#xff0c;前端作为用户与应用程序之间的重要桥梁&#xff0c;其安全性问题日益凸显。前端安全性的缺失不仅可能导致用户数据泄露、隐私被侵犯&#xff0c;引发更为严重的经济损失和声誉损害&#xff0c;还可能对整个系统造成严重的安全威胁。因此&#xf…

华为昇腾云认证考试内容有哪些?华为昇腾云认证考试报名条件

华为昇腾云认证是华为针对其昇腾计算平台及云服务相关技术所推出的一项专业认证。该认证旨在评估和证明IT专业人员在昇腾计算环境及云服务领域的专业知识、技能和实操能力。以下是关于华为昇腾云认证的一些关键信息&#xff1a; 认证内容&#xff1a; 昇腾计算平台的基础知识、…

C++的入门学习

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一、C关键字(C98) 二、命名空间 2.1 引入 ​编辑2.2 命名空间定义 2.3 命名空间的使用 三. C输入&输出 四.缺省参数 4.1 缺省参数概念 4.2 缺省参数分类 1.全缺省参数 2…

HTTP 协议的基本格式

一 HTTP是什么 超文本传输协议&#xff08;Hypertext Transfer Protocol&#xff0c;HTTP&#xff09;是一个简单的请求-响应协议&#xff0c;它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。 HTTP协议的主要特点包括&#xff1a; 无连…

七、Audio,Paper or Kindle:What‘s the best way to read a book?听书、纸书、电纸书,阅读方式该怎么选?

Whats the most effective way to read a book?Should you stick to paper books you can flip the pages, dog-ear and write notes in the margin?What about Kindle or other eReaders, which let you download new books instantly and cheaply?Is it okay to listen to…

针对鼠标滚轮使用时滚动上下跳动失灵问题的极简有效处理办法

首先&#xff0c;如果你遇到时不时的往下滚屏幕却往上跳&#xff0c;这种情况下基本可以肯定是鼠标自身的问题&#xff0c;而非电脑上的程序出错。 解决方法&#xff1a; 1.深吸一口气&#xff0c;然后深情地稳住鼠标滚轮上方&#xff08;打错了&#xff0c;应该是吻住&#…