目录
软件定时器概述
在学习单片机的的时候,会使用定时器来做很多事情,这个定时器时单片机自带的也就是硬件定时器,而UCOSIII内核提供了一个模拟定时器的机制类似于任务,但是占用资源少,只能做一些简单的定时控制,如可以定时器喂狗控灯。在软件定时器中绝对不能添加事件管理函数,阻塞等待函数。
使用步骤:
创建软件定时器:
利用OSTmrCreate()函数,函数原型如下:
参数:
p_tmr, 软件定时器对象
p_name, 软件定时器的名字
dly, 启动定时器后,延迟多长时间执行,默认隐含dly10ms
period, 定时周期,默认隐含period10ms
opt: 模式
OS_OPT_TMR_ONE_SHOT,软件定时器执行一遍
OS_OPT_TMR_PERIODIC,软件定时器周期性执行
p_callback, 软件定时器执行的回调函数 void MyCallback (OS_TMR *p_tmr, void *p_arg);
p_callback_arg, 传递参数给软件定时器的回调函数
p_err, 返回错误码,没有错误的就返回OS_ERR_NONE
启动软件定时器:
函数原型如下:
参数:
p_tmr :软件定时器对象
p_err :返回错误码,没有错误就返回OS_ERR_NONE
返回值:
DEF_TRUE is the timer was started
DEF_FALSE if not or upon an error
停止软件定时器:
函数原型如下:

本文详细介绍了UCOSIII中软件定时器的创建、启动、停止和删除方法,以及单次定时器和周期定时器的区别,通过实际任务示例展示了如何在任务A和B中使用软件定时器进行控制和通信。


最低0.47元/天 解锁文章
2430

被折叠的 条评论
为什么被折叠?



