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

手机网站开发框架seo咨询茂名

手机网站开发框架,seo咨询茂名,苏州做网站,wordpress没有小工具文章目录一、动态创建任务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/4254.html

相关文章:

  • 做网站的内容淘宝指数网站
  • 德文网站建设百度百度一下
  • 兰州网站制作成都windows优化大师是自带的吗
  • 网站建设加推广自动搜索关键词软件
  • 网站站内推广想找搜索引擎优化
  • 上海官网建设教程如何提升网站seo排名
  • 怎样找做淘宝客的网站360地图怎么添加商户
  • 安徽苏亚建设安装有限公司网站百度新闻网
  • 中石化两学一做网站龙岗网站推广
  • 网站制作优势太原关键词优化软件
  • 三合一网站管理系统windows优化大师怎么样
  • wordpress换行不显示网站推广优化方法
  • 开平网站建设seo排名工具哪个好
  • 三明鑫龙建设工程网站色盲测试图及答案大全
  • 如何免费让网站上线网址怎么申请注册
  • 手机端网站建设教程市场营销推广方案怎么做
  • 客户拒绝做网站的理由2023推广平台
  • 百度做网站quark搜索引擎入口
  • 求个免费网站好人有好报5118和百度指数
  • 谷歌网站地图生成互联网运营推广是做什么的
  • 企业营销网站建立武汉关键词seo排名
  • 杭州精品网站建设公司直通车怎么开
  • 石家庄青园网站建设营销策略有哪些
  • 百度网站建设北京关键词排名优化顾问
  • 最新新闻事件今天国内消息seo搜索引擎招聘
  • 网站开发u盘128够吗网络推广公司北京
  • 昆明网站建设制作在线教育
  • 长春市建委官网360优化大师历史版本
  • wordpress程序 耗内存宁波免费seo排名优化
  • 成都设计网站快抖霸屏乐云seo