关于在rt-thread文档中心的 内核 时钟管理 定时器的应用示例的一些困惑?

发布于 2021-02-24 15:44:48

在rt-thread文档中心的 内核 时钟管理 定时器的应用示例里面
“周期性定时器 1 的超时函数,每 10 个 OS Tick 运行 1 次,共运行 10 次(10 次后调用 rt_timer_stop 使定时器 1 停止运行);单次定时器 2 的超时函数在第 30 个 OS Tick 时运行一次。”
实际我测试的打印结果与文档的一样:
msh >timer_sample
msh >periodic timer is timeout 0
periodic timer is timeout 1
one shot timer is timeout
periodic timer is timeout 2
periodic timer is timeout 3
periodic timer is timeout 4
periodic timer is timeout 5
periodic timer is timeout 6
periodic timer is timeout 7
periodic timer is timeout 8
periodic timer is timeout 9
periodic timer was stopped!

不过令我困惑的是:one shot timer is timeout不应该在periodic timer is timeout 3之后打印吗?

查看更多

关注者
0
被浏览
139
Remember
Remember 2021-02-24

periodic timer is timeout 0是在运行了10个tick后超时打印的
periodic timer is timeout 1是在运行了20个tick后超时打印的
one shot timer is timeout和periodic timer is timeout 2是在运行了30个tick后超时打印的

2 个回答
eric007
eric007 2021-02-24

定时器启动后,是等待设定时间后调用超时函数,并非立即调用

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览