Zephyr内核——内核服务(定时)——计时器

本文详细介绍了Zephyr内核中的计时器服务,包括计时器的概念、如何定义和使用计时器、读取计时器状态及同步。计时器用于测量时间流逝,可在到达设定时间时执行特定操作或记录过期。内容涵盖了计时器的初始化、启动、停止、重新启动以及状态读取等操作。
摘要由CSDN通过智能技术生成

计时器

计时器是一个使用内核的系统时钟来测量时间流逝的内核对象。当达到计时器的指定的时间限制时,它可以执行应用程序定义的操作,或者它可以简单地记录过期并等待应用程序读取其状态。

概念

  • 可以定义任意数量的计时器(仅受可用RAM的限制)。每个计时器都由其内存地址引用。
  • 计时器具有以下键属性:
  • 指定计时器第一次到期之前的时间间隔的持续时间。这是一个可以通过不同的单元进行初始化的k_timeout_t值。
  • 指定第一个计时器之后所有计时器到期之间的时间间隔的周期,也是k_timeout_t。它必须是非负的。周期K_NO_WAIT(即零)或K_FOREVER意味着计时器是一个一次性计时器,在一次过期后停止。(例如,如果一个计时器启动的持续时间为200,周期为75,那么它将首先在200 ms之后过期,然后在那之后每75 ms过期一次。)
  • 每次定时器过期时执行的过期函数。该函数由系统时钟中断处理程序执行。如果不需要过期函数,则可以指定NULL函数。
  • 当计时器在运行时过早停止时所执行的一种停止函数。该函数由停止计时器的线程执行。如果不需要停止函数,则可以指定空函数。
  • 状态值,指示自上次读取状态值以来计时器过期的次数。

计时器必须初始化才能使用。这将指定其到期函数和停止函数值,将计时器的状态设置为零ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值