[RTT例程练习] 4.2 动态定时器

本文介绍如何在RTT系统中使用动态定时器,包括周期性和单次触发两种类型。当定时时间到达时,系统将自动调用预设的回调函数timeout()。
摘要由CSDN通过智能技术生成

动态和静态的意思和前面完全一样,这里不再重复。这里创建两个动态定时器,一个是周期的另一个是单次的。

其中timeout() 函数都是回调函数,即定时时间到之后,操作系统会自动调用的函数。

程序:

#include <rtthread.h>

static rt_timer_t timer1;
static rt_timer_t timer2;
static rt_uint8_t count;

static void timeout1(void* parameter)
{
    rt_kprintf("periodic timer is timeout\n");
}

static void timeout2(void* parameter)
{
    rt_kprintf("one shot timer is timeout\n");
}
 



int rt_application_init()
{
    timer1 = rt_timer_create("timer1",
        timeout1,
        RT_NULL,
        1000,
        RT_TIMER_FLAG_PERIODIC);
    if (timer1 != RT_NULL)
        rt_timer_start(timer1);
    
    
    timer2 = rt_timer_create("timer2",
        timeout2,
        RT_NULL,
        3000,
        RT_TIMER_FLAG_ONE_SHOT);
    if (timer2 != RT_NULL)
        rt_timer_start(timer2);

    
        
    return 0;
}

结果:

periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
one shot 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
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout
periodic timer is timeout


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值