[RTT例程练习] 4.4 定时器控制

本文探讨了实时操作系统RTT中定时器的使用,重点在于如何通过编程来改变定时器的周期,从而实现不同的定时功能。在初始设置中,定时器周期为100,在后续程序中进行了动态调整,展示了RTT定时器的灵活性。
摘要由CSDN通过智能技术生成

定时器可以通过rt_timer_control(),来改变定时器的某些特性,比如定时时间。

这里,一开始定时周期是100,并且在程序中使用

rt_tick_get()-tick
来确认定时周期是否如预设那样。当8次之后,使用 rt_timer_control(),将定时周期改为3000。实际效果通过打印的tick信息和直观感受都可以验证。

程序:

#include <rtthread.h>

static rt_timer_t timer1;
//static rt_timer_t timer2;
static rt_uint8_t count;
static rt_tick_t tick;

static void timeout1(void* parameter)
{
    rt_tick_t timeout = 3000;
    rt_kprintf("periodic timer is timeout\n");
    
    rt_kprintf("the time set is %d\n", (rt_tick_get()-tick));
    tick = rt_tick_get();
    count ++;
   
    if (count >= 8)
    {
        rt_timer_control(timer1, RT_TIMER_CTRL_SET_ONESHOT, (void *)&timeout);
    
        rt_timer_control(timer1, R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值