当前位置: 首页 > news >正文

嵌入式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.lryc.cn/news/331157.html

相关文章:

  • 『Apisix系列』破局传统架构:探索新一代微服务体系下的API管理新范式与最佳实践
  • 如何在极狐GitLab 自定义 Pages 域名、SSL/TLS 证书
  • React Native 应用打包
  • 单链表就地逆置
  • MTU/TCPMSS/VLAN/ACCESS/TRUNK/HYBRID
  • Spring Boot的基础知识和应用
  • 【Linux】详解动静态库的制作和使用动静态库在系统中的配置步骤
  • 开源模型应用落地-qwen1.5-7b-chat-LoRA微调(二)
  • 【现代企业管理】企业组织结构和组织文化的理论与实践——以华为为例
  • 【Kotlin】Sequence简介
  • 【Java】Thread详解
  • QT TCP和UDP网络编程
  • Maven入门指南:构建与管理Java项目的利器
  • EXCEL-VB编程实现自动抓取多工作簿多工作表中的单元格数据
  • 用Vue仿了一个类似抖音的App
  • HarmonyOS 应用开发之非线性容器
  • Golang Context是什么
  • 算法基础--递推
  • 超市销售数据-python数据分析项目
  • java实现手机号,密码,游邮箱 , 验证码的正则匹配工具类
  • java中的Arrays类的常用操作
  • 回溯算法|78.子集
  • VC++、GCC、CLANG,INT128有符号整数编译器关键字
  • 用于HUD平视显示器的控制芯片:S2D13V40
  • JSP使用模板字符串数据不能渲染的问题
  • AI音乐GPT时刻来临:Suno 快速入门手册!
  • 数字乡村发展蓝图:科技赋能农村实现全面振兴
  • Day42 动态规划 part04
  • python set是什么类型
  • redis事务(redis features)