当前位置: 首页 > wzjs >正文

网站框架图成都调查事务所

网站框架图,成都调查事务所,网站可以不备案,网络舆情监测软件文章目录一、动态创建任务1.1.实验设计1.2.软件设计一、动态创建任务 1.1.实验设计 创建四个任务,任务名字分别是 start_task、task1、task2、task3: start_task:用来创建其他三个任务task1:实现 LED0 每500ms闪烁一次task2&am…

文章目录

  • 一、动态创建任务
    • 1.1.实验设计
    • 1.2.软件设计

一、动态创建任务

1.1.实验设计

创建四个任务,任务名字分别是 start_task、task1、task2、task3:

  1. start_task:用来创建其他三个任务
  2. task1:实现 LED0 每500ms闪烁一次
  3. task2:实现 LED1 每500ms闪烁一次
  4. task3:判断按键 KEY0 是否按下,按下则删除 task1

1.2.软件设计

以下代码设计在 freertos_demo.c 文件里实现:

  1. 首先在 FreeRTOSConfig.h 文件,将宏configSUPPORT_DYNAMIC_ALLOCATION配置为1,支持动态申请内存
  2. 定义入口函数参数,并在上面声明该函数、进行堆栈大小和任务优先级的宏定义,记得在主函数里面调用freertos_demo( );,以下代码实现:
//start_task的任务配置
#define START_TASK_PRIO           1
#define START_TASK_STACK_SIZE     128
TaskHandle_t start_task_handler;
void start_task(void *pvParameters);void freertos_demo(void)
{xTaskCreate((TaskFunction_t)    start_task,(char*)             "start_task",(uint16_t)          START_TASK_STACK_SIZE,(void*)             NULL,(UBaseType_t)       START_TASK_PRIO,(TaskHandle_t*)     &start_task_handler);vTaskStartScheduler();  		//开启任务调度器
}
  1. 声明每个任务的配置包括:任务句柄、任务优先级、堆栈大小、创建任务
//task1的任务配置
#define TASK1_PRIO           1
#define TASK1_STACK_SIZE     128
TaskHandle_t task1_handler;
void task1(void *pvParameters);//task2的任务配置
#define TASK2_PRIO           1
#define TASK2_STACK_SIZE     128
TaskHandle_t task2_handler;
void task2(void *pvParameters);//task3的任务配置
#define TASK3_PRIO           1
#define TASK3_STACK_SIZE     128
TaskHandle_t task3_handler;
void task3(void *pvParameters);
  1. 编写任务函数
//编写start_task的任务函数,它的里面又定义task1、task2、task3
void start_task(void *pvParameters)
{taskENTER_CRITICAL();           //进入临界区,为什么要进入临界区//因为在定义入口函数参数的时候开启了任务调度器,当任务调度器开启的时候,任务立刻创建,立刻与第一个任务进行优先级比较,优先级的作用在开始的时候就发挥不出来,所以需要进去临界区,等待全部任务创建完成,就进行调度,优先级高的先进性xTaskCreate((TaskFunction_t)    task1,(char*)             "task1",(uint16_t)          TASK1_STACK_SIZE,(void*)             NULL,(UBaseType_t)       TASK1_PRIO,(TaskHandle_t*)     &task1_handler);xTaskCreate((TaskFunction_t)    task2,(char*)             "task2",(uint16_t)          TASK2_STACK_SIZE,(void*)             NULL,(UBaseType_t)       TASK2_PRIO,(TaskHandle_t*)     &task2_handler);xTaskCreate((TaskFunction_t)    task3,(char*)             "task3",(uint16_t)          TASK3_STACK_SIZE,(void*)             NULL,(UBaseType_t)       TASK3_PRIO,(TaskHandle_t*)     &task3_handler);vTaskDelete(start_task_handler);//删除start_task任务,释放空间	taskEXIT_CRITICAL();            //退出临界区
}
http://www.dtcms.com/wzjs/159322.html

相关文章:

  • 管理网站开发教程管理人员课程培训
  • 日照建网站公司专业培训大全
  • wikidot怎么建设网站怎么创建个人网站
  • 台州制作网站软件石家庄谷歌seo
  • android开发环境有哪些技术教程优化搜索引擎整站
  • 做网站较好的公司商业网站设计
  • 怎么看网站是哪里做的网络营销过程步骤
  • 创意视差wordpress主题怎样做seo搜索引擎优化
  • 云南省网站建设2024年最新一轮阳性症状
  • 做搜狗网站点击赚钱怎么设计网站
  • 深圳网站建设怎样网络推广网站公司
  • 番禺网站制作 优帮云google play三件套
  • 新闻类网站怎么做百度推广电商如何推广自己的产品
  • oa管理系统软件搜索引擎优化解释
  • 用php做视频网站有哪些百度人工在线客服
  • 海宁网站制作百度在线咨询
  • 做网站包头济南市新闻最新消息
  • 什么软件推广比较好班级优化大师怎么用
  • 东营企业网站排名网络营销技巧培训
  • 做bt网站安全不网站后端开发
  • 做网站是用什么语言的免费奖励自己的网站
  • wordpress 做外贸站小黄豆crm
  • 电子商务网站建设参考文献个人友情链接推广
  • 有什么网站可以叫人做图今日头条热点新闻
  • 公司网站界面设计做高端网站公司
  • 网站模版建设工具应用商店aso优化
  • 网站模块源码百度一级代理商
  • 邯郸有做网站的吗百度起诉seo公司
  • 网站建设的背景意义精准客户截流软件
  • 广告优化师培训企业网站seo推广方案