1 / 12

时间管理

时间管理. os_time.c. 时间管理的主要内容. 时钟节拍的产生 任务延迟与唤醒 维护系统当前时间. 时钟节拍的产生. 硬件必须支持定时中断 可编程的定时中断周期,从而产生操作系统需要的时钟节拍 ISR 中实现时间的维护以及抢占调度和任务延迟 其中抢占调度是在退出 ISR 时候调用 OSIntExit 实现的 其他工作是在 OSTimeTick 函数中实现 发生定时中断 保存现场调用 OSINTEnter 清中断标志调用 OSTimeTick 调用 OSINTExit 恢复现场返回. 任务延时.

Télécharger la présentation

时间管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 时间管理 os_time.c

  2. 时间管理的主要内容 • 时钟节拍的产生 • 任务延迟与唤醒 • 维护系统当前时间 Lzp<bluefeynman@gmail.com>

  3. 时钟节拍的产生 • 硬件必须支持定时中断 • 可编程的定时中断周期,从而产生操作系统需要的时钟节拍 • ISR中实现时间的维护以及抢占调度和任务延迟 • 其中抢占调度是在退出ISR时候调用OSIntExit实现的 • 其他工作是在OSTimeTick函数中实现 • 发生定时中断保存现场调用OSINTEnter清中断标志调用OSTimeTick调用OSINTExit恢复现场返回 Lzp<bluefeynman@gmail.com>

  4. Lzp<bluefeynman@gmail.com>

  5. 任务延时 • UCOS-II提供两个函数实现任务延时:OSTimeDly和OSTimeDlyHMSM • OSTimeDly以tick为单位进行延时 • OSTimeDlyHMSM以时分秒为单位进行延时 Lzp<bluefeynman@gmail.com>

  6. Lzp<bluefeynman@gmail.com>

  7. Lzp<bluefeynman@gmail.com>

  8. 恢复延时的任务 • 处于延时的任务可以有两种方式被唤醒: • 延迟时间到,由OSTimeTick唤醒 • 延迟时间未到,但其他任务决定唤醒它,不再继续延时,由OSTimeDlyResume实现 Lzp<bluefeynman@gmail.com>

  9. Lzp<bluefeynman@gmail.com>

  10. 获取与设置系统时间 • 可以通过调用OSTimeGet获取系统当前时间,即系统当前的tick计数 • 可以通过调用OSTimeSet设置系统的时间(tick数) Lzp<bluefeynman@gmail.com>

  11. 获取时间 Lzp<bluefeynman@gmail.com>

  12. 设置时间 Lzp<bluefeynman@gmail.com>

More Related