【FreeRTOS】小白进阶之如何创建FreeRTOS任务(一)
【摘要】
创建了两个单独的任务并打印不同的信息。
1、头文件声明
#include "FreeRTOS.h"#include "task.h"#include "supporting_functions.h" // 延时#define mainDELAY_LOOP_COUNT &n...
创建了两个单独的任务并打印不同的信息。
1、头文件声明
-
#include "FreeRTOS.h"
-
#include "task.h"
-
#include "supporting_functions.h"
-
-
// 延时
-
#define mainDELAY_LOOP_COUNT ( 0xffffff )
2、任务函数声明
-
void vTask1( void *pvParameters );
-
void vTask2( void *pvParameters );
3、创建任务
-
int main( void )
-
{
-
// 创建任务1
-
xTaskCreate( vTask1, /* 任务函数指针 */
-
"Task 1", /* 任务名:调试使用 */
-
1000, /* 栈深 */
-
NULL, /* 任务参数 */
-
1, /* 优先级. */
-
NULL ); /* 任务 handle */
-
-
// 创建任务2
-
xTaskCreate( vTask2, "Task 2", 1000, NULL, 1, NULL );
-
-
// 启动任务调动
-
vTaskStartScheduler();
-
for( ;; );
-
return 0;
-
}
-
-
// 任务1
-
-
void vTask1( void *pvParameters )
-
{
-
const char *pcTaskName = "Task 1 is running\r\n";
-
volatile uint32_t ul;
-
for( ;; )
-
{
-
// 打印
-
vPrintString( pcTaskName );
-
-
// 延时
-
for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ )
-
{}
-
}
-
}
-
-
-
// 任务2
-
-
void vTask2( void *pvParameters )
-
{
-
const char *pcTaskName = "Task 2 is running\r\n";
-
volatile uint32_t ul;
-
-
-
for( ;; )
-
{
-
// 打印
-
vPrintString( pcTaskName );
-
-
// 延时
-
for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ )
-
{}
-
}
-
}
文章来源: blog.csdn.net,作者:简一商业,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/liwei16611/article/details/82464761
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)