FreeRTOS任务创建
来源:互联网 发布:西安长臂猿网络 编辑:程序博客网 时间:2024/05/16 12:28
FreeRTOS在任务创建时就会执行一次任务。
int main(void){NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); delay_init(); uart_init(115200);LED_Init(); ReTaskStar =xTaskCreate( (TaskFunction_t) TaskStar, (char * ) "TaskStar", (uint16_t ) TASKSTAR_SIZE, (void* ) NULL, (UBaseType_t ) TASKSTAR_PRIO, (TaskHandle_t* ) &TaskStart_Handle); if(ReTaskStar == pdPASS) { printf("起始任务创建成功!\r\n"); } vTaskStartScheduler(); return 0;}void TaskStar(void* pvParameters){ ReTask_1 = xTaskCreate( (TaskFunction_t) Task_1, (char * ) "Task_1", (uint16_t ) TASK_1_SIZE, (void* ) NULL, (UBaseType_t ) TASK_1_PRIO, (TaskHandle_t* ) &Task_1_Handle); if(ReTask_1 == pdPASS){ printf("任务1创建成功\r\n"); } ReTask_2=xTaskCreate( (TaskFunction_t) Task_2, (char * ) "Task_2", (uint16_t ) TASK_2_SIZE, (void* ) NULL, (UBaseType_t ) TASK_2_PRIO, (TaskHandle_t* ) &Task_2_Handle);
if(ReTask_2 == pdPASS)
{
printf("任务2创建成功\r\n");
}
vTaskDelete(TaskStart_Handle);
}void Task_1(void* pvParameters){ char count = 0; printf("任务1执行\r\n"); while(1){ count++; printf("任务1执行第%d次\r\n",count); vTaskDelay(1000); }}void Task_2(void* pvParameters){ char count = 0;printf("任务1执行\r\n");while(1){ count++;printf("任务2执行第%d次\r\n",count); vTaskDelay(1000);}}执行结果如下
起始任务创建成功!
任务1执行
任务1执行第1次
任务1创建成功!
任务2执行
任务2执行第1次
任务2创建成功!
任务1执行第2次
任务2执行第2次
任务1执行第3次
任务2执行第3次
任务1执行第4次
任务2执行第4次
阅读全文
0 0
- FreeRTOS任务创建
- FreeRTOS任务创建
- FreeRTOS任务创建
- FreeRTOS 任务调度 任务创建
- FREERTOS之任务创建删除
- FreeRTOS之任务创建删除
- FreeRTOS 任务管理之任务创建
- FreeRTOS动态创建任务和删除任务
- FreeRTOS系列第10篇---FreeRTOS任务创建和删除
- FreeRTOS高级篇2---FreeRTOS任务创建分析
- FreeRTOS系列第10篇---FreeRTOS任务创建和删除
- FreeRTOS高级篇2---FreeRTOS任务创建分析
- FreeRTOS学习笔记——创建任务
- FreeRTOS静态任务创建与删除
- FreeRTOS之任务创建和删除函数
- FreeRTOS 任务创建和删除(动态)
- FreeRTOS 任务创建和删除(静态)
- FreeRTOS----创建FreeRTOS项目
- java面试题,各大企业常见的java笔试题之六
- (noip 模拟 gift)<丧病背包>
- MySQL游标使用
- MySQL的B+索引和Hash索引的区别
- pcap文件格式解析
- FreeRTOS任务创建
- 斜杠反斜杠在目录中的使用
- 《Angular2入门系列基础》——pipe管道数据类型
- 1491: [NOI2007]社交网络
- 深机笔记
- java语言中static的用法
- 点云法线
- 算法入门经典:安迪的第一个字典
- i=i++的问题