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

网站建设珠江摩尔app应用开发的价位

网站建设珠江摩尔,app应用开发的价位,wordpress 旅游插件,沈阳网站关键词优化排名目录 FreeRTOS学习第6篇--任务状态挂起恢复删除等操作任务的状态设计实验IRReceiver_Task任务相关代码片段实验现象本文中使用的测试工程 FreeRTOS学习第6篇–任务状态挂起恢复删除等操作 本文目标#xff1a;学习与使用FreeRTOS中的几项操作#xff0c;有挂起恢复删除等操作… 目录 FreeRTOS学习第6篇--任务状态挂起恢复删除等操作任务的状态设计实验IRReceiver_Task任务相关代码片段实验现象本文中使用的测试工程 FreeRTOS学习第6篇–任务状态挂起恢复删除等操作 本文目标学习与使用FreeRTOS中的几项操作有挂起恢复删除等操作。 按照本文的描述应该可以跑通实验并举一反三。 本文实验条件拥有C语言基础装有编译和集成的开发环境比如Keil uVision5 任务的状态 就绪态(Ready)任务已经准备好运行只等待调度器分配CPU时间片给它。就绪态的任务按照优先级排列在就绪列表中优先级越高的任务越靠前。运行态(Running)任务正在执行占用CPU资源。同一时刻只有一个任务处于运行态除非使用多核处理器。阻塞态(Blocked)任务因为等待某个事件如信号量、队列、延时等而无法运行被放入阻塞列表中。阻塞态的任务不会占用CPU资源也不会参与调度。当等待的事件发生时任务会从阻塞列表中移出重新进入就绪列表等待调度。比如使用函数vTaskDelay()或vTaskDelayUntil()就是进入阻塞状态或者xSemaphoreTake()等函数也是进阻塞状态。挂起态(Suspended)任务被主动暂停无论是否有事件发生都不会运行被放入挂起列表中。挂起态的任务不会占用CPU资源也不会参与调度。只有当任务被主动恢复时才会从挂起列表中移出重新进入就绪列表等待调度。比如直接调用vTaskSuspend()函数。删除态任务被主动删除不再存在于任何列表中也不会再运行。删除态的任务的内存资源会被释放不会占用任何资源。 设计实验 本次实验就是设计一个实验来实现任务的一些操作有删除任务恢复任务。在本次实验中将使用两个按键一个按键用作删除任务一个按键用作挂起和恢复。基于这个实验情况我在我的硬件平台进行实验。 IRReceiver_Task任务相关代码片段 void IRReceiver_Task(void * pvParameters) {int bRunning;uint8_t dev, data;OLED_Init();IRReceiver_Init();while(1){OLED_ShowString(0,0,IR Receiver: ,16);OLED_ShowString(0,16,Device Data,16);if (!IRReceiver_Read(dev, data)){OLED_ShowString(0, 32, ,16);OLED_ShowNum(0,32,dev,4,16);OLED_ShowNum(64,32,data,4,16);OLED_ShowString(0, 48, ,16);OLED_ShowString(0,48,Key name: ,16);OLED_ShowString(80,48,(u8 *)IRReceiver_CodeToString(data),16);// 某个按键值 1 if(data 48){// 创建闪灯任务if( ledTaskHandle NULL){ledTaskHandle osThreadNew(LedTask, NULL, ledTask_attributes);bRunning 1;}else{/* 要么suspend要么resume */if (bRunning){vTaskSuspend(ledTaskHandle); // 挂起LED任务bRunning 0;}else{vTaskResume(ledTaskHandle); // 恢复LED任务bRunning 1;}}}// 某个按键 2if(data 24) {// 删除LED 任务if(ledTaskHandle ! NULL){vTaskDelete(ledTaskHandle);ledTaskHandle NULL; // 进行清理操作否则会莫名奇妙的进入HardFault_Handler错误}}}OLED_Refresh(); // 刷新屏幕}}xTaskCreate( IRReceiver_Task, IRReceiver_Task, configMINIMAL_STACK_SIZE, NULL, osPriorityNormal, NULL );osThreadId_t ledTaskHandle; const osThreadAttr_t ledTask_attributes {.name ledTask,.stack_size 128 * 4,.priority (osPriority_t) osPriorityNormal, };void LedTask(void *argument) {/* USER CODE BEGIN StartDefaultTask *//* Infinite loop */for(;;){HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);HAL_GPIO_TogglePin(LED3_GPIO_Port,LED3_Pin);mdelay(100);}/* USER CODE END StartDefaultTask */ }实验现象 下载代码到板子上当我按下1号按钮时会创建LedTask的任务当我继续按下1号按钮时会把LedTask进行挂起或恢复如果是挂起的状态则进行恢复如果是恢复的状态则进行挂起当我按下2号按钮时会把LedTask的任务进行删除通过这些代码片段就实现了我们本次设计的实验完美的实现了挂起恢复删除等操作。 本文中使用的测试工程
http://www.pierceye.com/news/351877/

相关文章:

  • 蛋糕店的网站建设咋写深圳市宝安区邮政编码
  • 东莞横沥网站建设杭州网站制作排名
  • 百合怎么做网站网站开发语
  • 网站搭建哪里找最好天津市建设工程信息网站
  • 有免费注册网站吗做教育网站还挣钱吗
  • 网站做百度推广需要哪些条件店铺推广软文范例
  • 台州企业网站搭建特点迅美网站建设
  • 做营销网站推广官方网站建设方法
  • 网页设计精选网站网站查询功能怎么做
  • 重庆专业网站推广流程建立平台的步骤
  • 舟山市普陀区建设局网站net网站开发 兼职
  • 网站备案流程阿里云南宁网站建设官网
  • h5网站制作介绍简单的静态 新闻 asp 网站源码
  • 济南seo网站推广公司帮别人做彩票网站吗
  • 郑州市网站建设怎么样wordpress wp editor
  • 台州网站建设 推广公司网络营销课程总结范文
  • 网站 外包 版权杭州做官网的有哪些公司
  • 微信网站html5中山平面设计公司
  • 建站网站教程视频世界网站排名
  • 做小程序的流程seo 整站优化
  • 网站前台代码国内网站主机
  • 网站后台asp源码高明顺德网站建设
  • 网站建设推广软文网络规划设计师考试全程指导(第2版) pdf
  • 备案网站多少钱支持wordpress的空间
  • 哈尔滨网页模板建站wordpress网页设定
  • 哔哩哔哩网站怎么做视频软件进入公众号会不会泄露个人信息
  • 域名过期做的网站怎么办wap网站前景
  • 网站设计公司 宁波少儿编程课
  • 建设信用卡银行积分商城网站网站关键词优化培训
  • 网站建设对电子商务的意义深圳网站设计兴田德润简介