UCOS iii 定时器

Posted rcblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UCOS iii 定时器相关的知识,希望对你有一定的参考价值。

定时器

功能   定时结束后自动调用回调函数.使用回调函数完成任务.

创建:

技术图片
 1 OS_TMR tmr1; //定时器1
 2 
 3 void tmr1_callback(void *p_tmr, void *p_arg); //定时器1回调函数
 4 
 5 OSTmrCreate((OS_TMR *)&tmr1, //定时器1
 6 
 7 (CPU_CHAR *)"tmr1", //定时器名字
 8 
 9             (OS_TICK  )20, //初始延时20*10=200ms
10 
11             (OS_TICK  )100,           //周期延时100*10=1000ms
12 
13             (OS_OPT  )OS_OPT_TMR_PERIODIC, //模式: 单次/周期
14 
15             (OS_TMR_CALLBACK_PTR)tmr1_callback, //定时器1回调函数
16 
17             (void     *)0, //参数为0
18 
19             (OS_ERR     *)&err); //返回的错误码
View Code

 

开启定时器: OSTmrStart()

关闭定时器: OSTmrStop()

OPT模式

单次模式,dly减到0停止并调用回调函数.

可以调用OSTmrStart()再次调用单次定时器

周期模式,计数完成后调用回调函数,并重置计数器循环开始下一轮定时.

dly为第一次延迟,period为之后周期延迟.

以上是关于UCOS iii 定时器的主要内容,如果未能解决你的问题,请参考以下文章

uCOS-III 学习记录(11)——任务管理

《基于Cortex-M4的ucOS-III的应用》课程设计 结题报告

uCOS-III 学习记录(10)——时间片轮转调度

ucos-III基础教程汇总

UCOS-III API函数

在cortex-m3平台上,UCOS-III为啥不使用SVC来执行pendsv?