vTaskGetRunTimeStats()获取每个任务的运行时间。 vTaskSetApplicationTaskTag()设置任务标签(Tag)值。 SetThreadLocalStoragePointer()设置线程本地存储指针 GetThreadLocalStoragePointer()获取线程本地存储指针 任务相关API函数详解 1、函数 uxTaskPriorityGet() ...
xTaskGetSchedulerState() 获取任务调度器的状态,开启或未开启 uxTaskGetNumberOfTask() 获取当前系统中存在的任务数量 vTaskList() 以表格的形式输出当前系统中所有任务的详细信息 vTaskGetRunTimeStats() 获取每个任务的运行时间 vTaskSetApplicationTaskTag() 设置任务标签值 vTaskSetThreadLocalStoragePointer() 设置...
void vTaskDelayUntil( TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement ) { TickType_t xTimeToWake; BaseType_t xAlreadyYielded, xShouldDelay = pdFALSE; configASSERT( pxPreviousWakeTime ); configASSERT( ( xTimeIncrement > 0U ) ); configASSERT( uxSchedulerSuspended == 0...
TickType_t xTimeNow; // 静态变量 记录上一次调用时系统节拍值 PRIVILEGED_DATA static TickType_t xLastTime = ( TickType_t ) 0U; // 获取本次调用节拍结束器值 xTimeNow = xTaskGetTickCount(); // 判断节拍计数器是否溢出过 // 比如 8bit : 0xFF+1 -> 0 if( xTimeNow < xLastTime ) { /...
FreeRTOS 可以通过相关的配置来统计任务的运行时间信息,任务的运行时间信息提供了每个任务获取到 CPU 使用权总的时间。函数 vTaskGetRunTimeStats()会将统计到的信息填充到一个表里面,表里面提供了每个任务的运行时间和其所占总时间的百分比。 18、函数 vTaskSetApplicationTaskTag() ...
/* 获取下一次的定时器超时时间 */staticTickType_tprvGetNextExpireTime(BaseType_t*constpxListWasEmpty){TickType_txNextExpireTime;/* 判断当前定时器列表是否为空 */*pxListWasEmpty=listLIST_IS_EMPTY(pxCurrentTimerList);/* 当前列表非空 */if(*pxListWasEmpty==pdFALSE){/* 获取最近超时时间 */x...
TickType_t xLastWakeTime =xTaskGetTickCount(); vTaskDelayUntil(&xLastWakeTime, (1000/ portTICK_PERIOD_MS);//延时1000ms=1S 两个比较 vTaskDelayUntil与vTaskDelay()不同:vTaskDelay()将导致任务从调用vTaskDelay()时起以指定的滴答数阻塞。因此,很难单独使用vTaskDelay()来生成固定的执行频率,因为任务...
TickType_t xLastWakeTime =xTaskGetTickCount(); vTaskDelayUntil(&xLastWakeTime, (1000/ portTICK_PERIOD_MS);//延时1000ms=1S 两个比较 vTaskDelayUntil与vTaskDelay()不同:vTaskDelay()将导致任务从调用vTaskDelay()时起以指定的滴答数阻塞。因此,很难单独使用vTaskDelay()来生成固定的执行频率,因为任务...
可以通过宏configTICK_RATE_HZ来配置时钟频率。 2. xTaskGetTickCount():这个函数与vTaskGetTickCount()类似,但它返回的是一个32位无符号整数,表示自系统启动以来经过的节拍数。 3. xTaskGetTickCountFromISR():这个函数可以在中断服务程序(ISR)中使用,以获取自系统启动以来经过的节拍数。 4. ulTaskGetRunTime...
硬件定时器的定时精度与系统时钟的周期有关,一般系统利用SysTick作为软件定时器的基础时钟,系统节拍配置为FreeRTOSConfig.h中的configTICK_RATE_HZ,默认是1000,那么系统的时钟节拍周期就为1ms 软件定时器是由操作系统提供的一类系统接口 注意:软件定时器回调函数的上下文是任务,回调函数要快进快出,且回调函数中不能有任...