UCOSII系统时间管理

本文介绍了UCOSII操作系统中的时钟管理,包括时钟节拍中断、任务延时函数OSTimeDly及其参数分析,以及按时分秒延时函数OSTimeDlyHMSM的工作原理。此外,还探讨了恢复延时任务的OSTimeDlyResume函数和获取系统时间的OSTimeGet、OSTimeSet函数。
摘要由CSDN通过智能技术生成

一,UCOSII的定时中断

绝大多数的内核要求提供定时中断,以实现延时与超时控制等功能。这个定时中断叫做时钟节拍。时钟的中断子程序ISR和时钟节拍函数OSTimeTick()该函数通知UCOSII,发生了时钟节拍中断。

二,UCOSII系统时钟函数

1,任务延时函数, OSTimeDly(INT16U ticks)
实现申请该服务的任务可以延时一段时间这个系统服务的函数叫做 OSTimeDly(),这段时间的长短是用时钟节拍的数目来确定的。调用该函数会使µC/OS-Ⅱ进行一次任务调度,并且执行下一个优先级最高的就绪态任务。

void  OSTimeDly (INT32U ticks)
{
    INT8U      y;
#if OS_CRITICAL_METHOD == 3u  /* Allocate storage for CPU status register  */
    OS_CPU_SR  cpu_sr = 0u;
#endif
 
    if (OSIntNesting > 0u) 
    {                     /* See if trying to call from an ISR */
        return;
    }
    if (OSLockNesting > 0u) 
    {                    /* See if called with scheduler locked*/
        return;
    }
    if (ticks
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒听雪落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值