【FreeRTOS】小白进阶之如何使用FreeRTOS IDLE空闲任务

举报
产品人卫朋 发表于 2021/10/29 23:21:58 2021/10/29
【摘要】 主要介绍空闲钩子函数的基本使用。 windows VS2012 调试效果: 1、头文件定义及启动任务 #include "FreeRTOS.h"#include "task.h"#include "supporting_functions.h" void vTaskFunction( void *pvParameters )...

主要介绍空闲钩子函数的基本使用。

windows VS2012 调试效果:

1、头文件定义及启动任务


  
  1. #include "FreeRTOS.h"
  2. #include "task.h"
  3. #include "supporting_functions.h"
  4. void vTaskFunction( void *pvParameters );
  5. static uint32_t ulIdleCycleCount = 0UL;
  6. const char *pcTextForTask1 = "Task 1 is running\r\n";
  7. const char *pcTextForTask2 = "Task 2 is running\r\n";
  8. int main( void )
  9. {
  10. // 创建任务
  11. xTaskCreate( vTaskFunction, "Task 1", 1000, (void*)pcTextForTask1, 1, NULL );
  12. xTaskCreate( vTaskFunction, "Task 2", 1000, (void*)pcTextForTask2, 2, NULL );
  13. // 开始调度任务
  14. vTaskStartScheduler();
  15. for( ;; );
  16. return 0;
  17. }

2、任务函数
 


  
  1. void vTaskFunction( void *pvParameters )
  2. {
  3. char *pcTaskName;
  4. const TickType_t xDelay250ms = pdMS_TO_TICKS( 250UL );
  5. pcTaskName = ( char * ) pvParameters;
  6. for( ;; )
  7. {
  8. // 打印空闲任务累加的计数值
  9. vPrintStringAndNumber( pcTaskName, ulIdleCycleCount );
  10. vTaskDelay( xDelay250ms );
  11. }
  12. }

3、空闲钩子回调函数


  
  1. // 空闲钩子函数
  2. void vApplicationIdleHook( void )
  3. {
  4. // 累加变量计数
  5. ulIdleCycleCount++;
  6. }

 

文章来源: blog.csdn.net,作者:简一商业,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/liwei16611/article/details/82531477

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。