zoukankan      html  css  js  c++  java
  • [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


  • 相关阅读:
    Ubuntu 安装 JDK 7 / JDK8 的两种方式
    python 深拷贝 浅拷贝 赋值
    importlib.import_module
    pandas分块读取大量数据集
    win10下安装XGBoost Gpu版本
    win10下安装LGBM GPU版本
    统计自然语言处理(第二版)笔记1
    K-近邻算法
    2019考研的一些心得
    lib和dll的区别与使用
  • 原文地址:https://www.cnblogs.com/lyyyuna/p/4123916.html
Copyright © 2011-2022 走看看