uCOS-II时钟相关函数介绍

本文介绍了uCOS-II操作系统中的关键时钟管理函数,包括OSTimeTick()用于更新时钟节拍,OSTimeDlyHMSM()用于按小时、分钟、秒和毫秒延迟任务,OSTimeDly()进行指定时钟节拍的延迟,OSTimeDlyResume()恢复任务执行,以及OSTimeGet()和OSTimeSet()用于获取和设置系统时间。这些函数在任务调度和延时中起到重要作用。
摘要由CSDN通过智能技术生成

大纲:

1. OSTimeTick()

2. OSTimeDlyHMSM()

3. OSTimeDly()

4. OSTimeDlyResume()

5. OSTimeGet()/OSTimeSet()



1. OSTimeTick()

void OSTimeTick(void)

所属文件 调用者 开关量
OS_CORE.c 任务/中断 N/A

返回值    :无

参数说明:无

函数作用:

    1). 时钟节拍计数器OSTime + 1

    2). 遍历任务控制块链表中的所有任务控制块,个任务存放延时变量OSTCBDly - 1.

    3). 使已经到延时的非挂起任务进入就绪状态

源代码    :

void  OSTimeTick (void)
{
    OS_TCB    *ptcb;
#if OS_TICK_STEP_EN > 0u
    BOOLEAN    step;
#endif

#if OS_CRITICAL_METHOD == 3u                               
    OS_CPU_SR  cpu_sr = 0u;
#endif

#if OS_TIME_TICK_HOOK_EN > 0u
    OSTimeTickHook();                                                           //调用时钟节拍服务钩子函数                       
#endif

#if OS_TIME_GET_SET_EN > 0u
    OS_ENTER_CRITICAL();                                   
    OSTime++;                                                                   //节拍数 + 1
    OS_EXIT_CRITICAL();
#endif
    if (OSRunning == OS_TRUE) 
    {
#if OS_TICK_STEP_EN > 0u
        switch (OSTickStepState) 
        {                        
            case OS_TICK_STEP_DIS:                         
                 step = OS_TRUE;
                 break;

            case OS_TICK_STEP_WAIT:                        
                 step = OS_FALSE;                          
                 break;

            case OS_TICK_STEP_ONCE:       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值