什么情况下程序在OSTimeDlyHMSM()这个函数里面不跳出
时间: 2024-04-15 07:24:24 浏览: 18
在使用OSTimeDlyHMSM()函数时,程序不会跳出的情况是当调用该函数后,等待的时间还未到达时。该函数用于让任务进入延时状态,直到指定的时间已经过去。如果调用OSTimeDlyHMSM()函数后,指定的时间还未到达,程序将继续等待,直到时间到达或其他事件触发导致任务被唤醒。只有当指定的延时时间到达或其他事件触发任务唤醒时,程序才会跳出OSTimeDlyHMSM()函数。
相关问题
任务延时函数OSTimeDly()或OSTimeDlyHMSM()的区别
OSTimeDly()和OSTimeDlyHMSM()都是uC/OS中用于延时任务执行的函数,它们的区别在于:
1. 参数不同:OSTimeDly()只有一个参数,用于指定延时的时钟节拍数;而OSTimeDlyHMSM()有四个参数,分别为小时数、分钟数、秒数和毫秒数。
2. 精度不同:OSTimeDly()的精度为时钟节拍数,而OSTimeDlyHMSM()的精度为毫秒数。
3. 使用范围不同:OSTimeDly()适用于延时比较短的情况,而OSTimeDlyHMSM()适用于延时比较长的情况,因为它支持更长的时间延迟。
因此,当需要延时的时间比较短时,可以使用OSTimeDly()函数;当需要延时的时间比较长时,可以使用OSTimeDlyHMSM()函数。
ucos延时函数是什么
uC/OS-II是一个基于优先级的实时操作系统,它提供了多任务处理、任务通信、内存管理、中断管理等功能。在uC/OS-II中,延时函数可以用来让任务暂停一段时间后再继续执行。
uC/OS-II中的延时函数有两种:
1. OSTimeDly(delay):使当前任务延迟delay个系统时钟节拍(即系统的时钟周期),然后重新使任务进入就绪状态,等待再次被调度执行。
2. OSTimeDlyHMSM(hours, minutes, seconds, milli):使当前任务延迟指定的小时、分钟、秒和毫秒数,然后重新使任务进入就绪状态,等待再次被调度执行。
这些延时函数都是阻塞式的,即当前任务会在延时期间一直处于阻塞状态,无法执行其他任务。因此,在使用延时函数时需要注意调用的时机和延时的时长,以避免影响系统的实时性和响应性能。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)