2020-10-21 rt_timer定时器实例

[RTT例程练习] 4.1 定时器基本使用

定时器分为软件定时器和硬件定时器。

硬件定时器,是指单片机本身提供的一种外设,能够产生定时事件,而且不占用CPU时间。优点是定时精度高,独立于CPU,还可灵活配置其他许多功能,例如PWM。

而软件定时器是操作系统提供的一种定时接口,其精度取决于操作系统的tick时间,而RTOS的tick建立在硬件定时器之上,一旦开机就不再改变。但优点是其数量不受硬件定时器数目的限制,而且便于操作系统统一管理。RTT中,软件定时器还分单次触发和周期性触发。

这个例子显示了一个周期性触发的软件定时器。

程序

#include <rtthread.h>

static rt_timer_t timer1;
static rt_uint8_t count;

static void timeout1(void *parameter)
{
    rt_kprintf("periodic timer is timeout, %d.\n", count);
    
    count++;
    
    if (count >= 8)
    {
        rt_kprintf("stop it!\n");
        
        rt_timer_stop(timer1);
        
        count = 0;
    }
}

int rt_application_init()
{
    timer1 = rt_timer_create("timer1",
        timeout1,
        RT_NULL,
        10,
        RT_TIMER_FLAG_PERIODIC);
    if (timer1 != RT_NULL)
        rt_timer_start(timer1);
        
    return 0;
}


结果

periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout

https://www.cnblogs.com/lyyyuna/archive/2013/04/07/4123916.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值