FreeRTOS 任务创建和删除(静态)
来源:互联网 发布:炫浪网络社区发书区 编辑:程序博客网 时间:2024/05/30 13:42
#define configSUPPORT_STATIC_ALLOCATION 1 //打开静态方法StackType_t TaskStackBuffer[50]; //任务堆栈大小StaticTask_t TaskTCBBuffer; //任务控制块大小StackType_t TaskStackBuffer0[50];StaticTask_t TaskTCBBuffer0;StackType_t TaskStackBuffer1[50];StaticTask_t TaskTCBBuffer1;TaskHandle_t taskhandle0;TaskHandle_t taskhandle1;StaticTask_t pxIdleTaskTCBBuffer;StackType_t pxIdleTaskStackBuffer[configMINIMAL_STACK_SIZE];//需要用户添加定义void vApplicationGetIdleTaskMemory( StaticTask_t **ppxIdleTaskTCBBuffer, StackType_t **ppxIdleTaskStackBuffer, uint32_t *pulIdleTaskStackSize ){ *ppxIdleTaskTCBBuffer = &pxIdleTaskTCBBuffer; *ppxIdleTaskStackBuffer = pxIdleTaskStackBuffer; *pulIdleTaskStackSize = configMINIMAL_STACK_SIZE;}void vTask0(void *t){ int i = 0; while(1) { i++; if(i == 5) { vTaskDelete(taskhandle1); printf("vTask0: delete vTask1.\r\n"); } printf("vTask: 0.\r\n"); vTaskDelay(1000); }}void vTask1(void *t){ while(1) { printf("vTask: 1.\r\n"); vTaskDelay(1000); }}void start_vTask(void *t){ taskhandle0 = xTaskCreateStatic( vTask0, "vTask0", 50, ( void * ) NULL, 2, (StackType_t *const)TaskStackBuffer0, (StaticTask_t *const)&TaskTCBBuffer0 ); taskhandle1 = xTaskCreateStatic( vTask1, "vTask1", 50, ( void * ) NULL, 3, (StackType_t *const)TaskStackBuffer1, (StaticTask_t *const)&TaskTCBBuffer1 ); vTaskDelete(NULL);}int main(void){ xTaskCreateStatic( start_vTask, "start_vTask", 50, ( void * ) NULL, 1, (StackType_t *const)TaskStackBuffer, (StaticTask_t *const)&TaskTCBBuffer ); vTaskStartScheduler(); }
运行结果:
阅读全文
1 0
- FreeRTOS 任务创建和删除(静态)
- FreeRTOS 任务创建和删除(动态)
- FreeRTOS静态任务创建与删除
- FreeRTOS动态创建任务和删除任务
- FreeRTOS之任务创建和删除函数
- FreeRTOS系列第10篇---FreeRTOS任务创建和删除
- FreeRTOS系列第10篇---FreeRTOS任务创建和删除
- FREERTOS之任务创建删除
- FreeRTOS之任务创建删除
- FreeRTOS任务创建
- FreeRTOS任务创建
- FreeRTOS任务创建
- FreeRTOS 任务调度 任务创建
- 任务创建和删除
- FreeRTOS 任务管理之任务删除
- FreeRTOS 任务管理之任务创建
- FreeRTOS 任务挂起和恢复
- freeRTOS 任务挂起和恢复
- 第七周 项目2
- 2017年10月24日 一些小感想
- tar命令详解及使用实例
- Ubuntu 16.04下解决sublime text3无法输中文问题
- 寄存器PLC地址与寄存器modbus协议地址
- FreeRTOS 任务创建和删除(静态)
- 如何阅读英文文献
- ARM裸机学习之S5PV210启动方式理解
- 关于python里面的join()函数
- maven入门之maven的坐标和仓库
- XPath
- angularjs过滤敏感字符
- GitHub: (3)版本回退
- Lucene 深入学习(3)Lucene索引初识