vTaskDelay
来源:互联网 发布:oppoa33指纹锁屏软件 编辑:程序博客网 时间:2024/06/06 06:33
void vTaskDelay( portTickType xTicksToDelay );
INCLUDE_vTaskDelay必须设置为1,这个函数才为可用。
延时任务为已知时间片。时间片是任务切换的频率
任务被锁住剩余的实际时间由时间片率决定。
portTICK_RATE_MS常量用来用来从时间片速率(一片周期代表着分辨率)来计算实际时间。
参数:
-
xTicksToDelay
时间数量,调用任务应该锁住的时间片周期
void vTaskFunction( void * pvParameters ) { /* 想挂起500ms.先计算出需要的tick数×1个tick所需的时间就=500ms */ const portTickType xDelay = 500 / portTICK_RATE_MS; for( ;; ) { /* 简单的每 500ms触发LED, .在每两次触发间挂起*/ vToggleLED(); vTaskDelay( xDelay ); }}//======================================================================
configTICK_RATE_HZ
The frequency of the RTOS tick interrupt.RTOS时间片中断的频率。
时间片中断用来测量时间。因此更高时间片频率意味着时间测量可以有更高分辨率,同时意味着内核占用更多的CPU(效率很低)。演示程序都使用了1000Hz的时间片频率。这是为了测试内核,通常需要更高的频率。
多个任务共有同一优先级。通过切换任务,在每一个RTOS时间片内,内核将在同一优先级的任务间分配处理器时间。高时间片频率意味着将减少给予每个任务的时间份额。
这也是任务轮询时分配各个任务的时间长度,任务切换的频率。
//=======================================
vTaskDelay(1)是挂起一个tick的时间长度
- vTaskDelay
- vTaskDelay
- vTaskDelay
- FreeRTOS 源码注释(vTaskDelay)
- 浅析FreeRTOS_v4.5.0延时机制---vTaskDelay()的实现
- FreeRTOS(V8.0.1)系统之vTaskDelay()和vTaskDelayUntil()
- 浅析FreeRTOS_v4.5.0延时机制---vTaskDelay()的实现
- 简化了的建立流的步骤!
- 用EVC编写WINCE下的HelloWorld
- 春天的呼唤
- java中的关于Date类中的一个程序
- 用Servlet將文件打包下載
- vTaskDelay
- Libevent用例解读
- Java的上溯、下溯
- Libevent多种触发机制的实现
- memcached简介
- 10大最佳古怪网站
- Java的反射机制
- memcached应用设计
- C# 获取程序路径的方法集锦