6894|3

849

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

RT_THREAD定时器与系统时钟 [复制链接]

定时器,是指在指定的时刻开始,经过一指定的时间后出发一个事件。定时器有硬件定时器和软
件定时器之分:

• 硬件定时器是芯片本身提供的定时功能。一般是由外部晶振提供给芯片输入时钟,硬件定时器的精度一般很高,可以达到纳秒级别,并且是中断触发方式。
• 软件定时器是由操作系统提供的一类系统接口,它构建在硬件定时器基础之上,使系统能够
提供不受数目限制的定时器服务。软件定时器的精度取决于它使用的硬件定时器精度。

 

在RT-thread中,软件定时器模块以TICK为时间单位。TICK的时间长度为再次硬件中断的时间间隔。

RT-THREAD的软件定时器提供两种定时机制:第一类是单次触发定时器,第二类是周期触发定时器。

 

下面帖出创建的两个软件定时器:一个定时器单次触发,另一个周期触发:Rt_thread mailbox lab在这里下载工程包

#include <rtthread.h>

/* 定时器控制块 */
static rt_timer_t  timer1;
static rt_timer_t  timer2;

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

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

int timer_application_init(void){
 timer1=rt_timer_create("timer1",timeout1,RT_NULL,10,RT_TIMER_FLAG_PERIODIC);

 if(timer1!=RT_NULL)
  rt_timer_start(timer1);

 timer2=rt_timer_create("timer2",timeout2,RT_NULL,30,RT_TIMER_FLAG_ONE_SHOT);
 if(timer2!=RT_NULL)
  rt_timer_start(timer2);

 return 1;
}


int rt_application_init()
{
 timer_application_init();
 return 0;
}

1.jpg (35.34 KB, 下载次数: 0)

1.jpg

最新回复

我也刚刚接触,了解到RT-THREAD与FTK合并,前途无量啊,呵呵  详情 回复 发表于 2011-6-8 21:03
点赞 关注
个人签名只有想不到,没有做不到。

回复
举报

117

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
时间是每个实时操作系统中都会考虑的,那么RT-Thread的线程时间相关实现是如何的?例如,rt_thread_delay(n); 又是如何去实现的?
 
个人签名RT-Thread:启动下一代RTOS演化
 

回复

33

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
刚接触,多了解一下--
 
 
 

回复

452

帖子

0

TA的资源

五彩晶圆(初级)

4
 
我也刚刚接触,了解到RT-THREAD与FTK合并,前途无量啊,呵呵
 
个人签名人生苦短,何必为声名所累,放开自己心态,去追求自己想要的梦想去吧!http://pytech-inc.taobao.com/
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表