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


  • 相关阅读:
    EditPlus等编辑器选中列(块)的方法
    构建Springboot项目的3种方式
    STS各版本下载
    Spring Boot 各版本的Java版本要求
    Maven安装
    Linux find命令:在目录中查找文件(超详解)
    rpm命令怎么指定安装位置
    CentOS6.8安装RabbitMQ
    codeforces459D:Pashmak and Parmida's problem
    codeforces 705B:Spider Man
  • 原文地址:https://www.cnblogs.com/lyyyuna/p/4123916.html
Copyright © 2011-2022 走看看