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

云南做网站公司可以接单做网站的软件

云南做网站公司,可以接单做网站的软件,无锡企业网站制作一般多少钱,wordpress english前言 #xff08;1#xff09;FreeRTOS是我一天过完的#xff0c;由此回忆并且记录一下。个人认为#xff0c;如果只是入门#xff0c;利用STM32CubeMX是一个非常好的选择。学习完本系列课程之后#xff0c;再去学习网上的一些其他课程也许会简单很多。 #xff08;21FreeRTOS是我一天过完的由此回忆并且记录一下。个人认为如果只是入门利用STM32CubeMX是一个非常好的选择。学习完本系列课程之后再去学习网上的一些其他课程也许会简单很多。 2本系列课程是使用的keil软件仿真平台所以对于没有开发板的同学也可也进行学习。 3叠甲再次强调本系列课程仅仅用于入门。学习完之后建议还要再去寻找其他课程加深理解。 4本系列博客对应代码仓库 实操 1依旧是将上一篇博客的工程复制一份下来 任务挂起和恢复的宏 1如果需要调用任务挂起和恢复的函数需要在FreeRTOSConfig.h文件中确认INCLUDE_vTaskSuspend 这个宏被置1了。 任务挂起和恢复代码实现 1在StartCubemxTask函数中进行如下补充即可。按CtrlF搜索StartCubemxTask即可找到任务函数 /* USER CODE END Header_StartCubemxTask */ void StartCubemxTask(void *argument) {/* USER CODE BEGIN StartCubemxTask */char *CubemxTaskPrintf (char *)argument;uint8_t Task_Status 0;/* Infinite loop */for(;;){if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_14) GPIO_PIN_SET){printf(CubemxTaskPrintf);Task_Status;while(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_14) GPIO_PIN_SET);}switch(Task_Status){case 1:// 挂起 keilTask 任务vTaskSuspend(keilTaskHandle); break;case 2:// 恢复 keilTask 任务vTaskResume(keilTaskHandle); break;default:Task_Status 0;break;}}/* USER CODE END StartCubemxTask */ }测试结果 1因为这里不会修改STM32CubeMX所以keil的模拟器配置都还在因此可以直接开始测试。 2测试结果发现StartKeilTask Creat的字符串只会打印一次。而不是像任务删除和创建那样每进行一次删除和创建都会打印一次StartKeilTask Creat。 理论 FreeRTOS的4种任务状态 1首先我先介绍一下FreeRTOS的4种任务状态都是什么意思 1Running 运行态 当任务处于实际运行状态称之为运行态即CPU的使用权被这个任务占用对于单核处理器同一时间仅一个任务处于运行态。后续会讲解RTOS的多任务执行原理。 2Ready 就绪态 处于就绪态的任务是指那些能够运行没有被阻塞和挂起但是当前没有运行的任务因为同优先级或更高优先级的任务正在运行。 3Blocked 阻塞态 如果一个任务因延时或等待信号量、消息队列、事件标志组等而处于的状态被称之为阻塞态。当出现特定的事件发生会自动进入就绪态。 4Suspended 挂起态 任务暂停必须手动调用xTaskResume()函数才可以进入就绪态。 2因为网上的FreeRTOS的4种任务切换图都是纯英文的我于是就自己画了一个。这里简单介绍一下 1进入就绪态 当我们创建了一个任务之后他就会进入就绪态等待任务调度。 2就绪态和运行态切换 就绪态和运行态的切换是由FreeRTOS的任务调度器进行切换的我们人为无法改变。 3就绪态和阻塞态切换 当发生特定的任务时候任务会自动从阻塞态进入就绪态。例如任务延时结束成功获取到了信号量、消息队列、事件标志组等信息。听不懂别慌后面讲同步互斥与通信的时候会详细讲解 4就绪态和挂起态切换 当运行中的任务调用vTaskSuspend()函数并在这个函数中传入需要挂起的任务句柄那么这个处于就绪态的任务将会变为挂起态。当运行中的任务调用vTaskResume()函数并在这个函数中传入需要从挂起态进入就绪态的任务句柄那么这个处于挂起态的任务将会变为就绪态。 5运行态和挂起态切换 当运行中的任务调用vTaskSuspend(NULL)的时候就能够从运行态进入挂起态。 6运行态和阻塞态切换 调用相关的阻塞API接口例如vTaskDelay()、vTaskDelayUntil() 这种延时函数或者是信号量、消息队列或事件组等机制的一些函数。 7挂起态和阻塞态切换 当运行中的任务调用vTaskSuspend()函数并在这个函数中传入需要挂起的任务句柄那么这个处于阻塞态的任务将会变为挂起态。 eTaskGetState()函数介绍 1获取任务状态 /*** brief 获取任务状态** param 需要获取任务状态的任务句柄** return eRunning 任务处于Running运行态* -eReady 任务处于Ready就绪态* -eBlocked 任务处于Blocked阻塞态* -eSuspended 任务处于Suspended挂起态* -eDeleted 任务的结构正在等待清理*/ eTaskState eTaskGetState( TaskHandle_t xTask );vTaskSuspend()函数介绍 1 vTaskSuspend()用于挂起(暂停)任务传入对应的任务句柄即可。 2如果需要挂起(暂停)那么就传入NULL。 /*** brief 挂起(暂停)的任务** param 要挂起(暂停)任务的任务句柄如果是挂起(暂停)自己传入NULL** return 无*/ void vTaskSuspend( TaskHandle_t xTaskToSuspend );vTaskResume()函数介绍 1vTaskResume()用于恢复被挂起(暂停)任务传入对应的任务句柄即可。 2担心有小白问出一些抽象的问题比如为什么可以自己挂起自己而不能自己恢复自己呢你想想任务都挂起了根本就无法执行你还自己恢复自己咋想的 /*** brief 恢复的任务** param 要恢复任务的任务句柄** return 无*/ void vTaskResume( TaskHandle_t xTaskToResume );参考 1FreeRTOS官方文档vTaskSuspend函数介绍 2FreeRTOS官方文档vTaskResume函数介绍 3FreeRTOS官方API文档
http://www.zqtcl.cn/news/893106/

相关文章:

  • php网站出现乱码网站建设项目总结
  • 网站建设公司墨子网络用我在线网站建设
  • 长寿网站建设公司服装设计有哪些网站
  • 苍溪规划和建设局网站网页设计制作报告
  • html5网站 源码360浏览器个别网页打不开怎么解决
  • 找个小网站建设网站优点
  • 台州网站建设优化网站建设加微信
  • 公司网站建设费会计分录义乌商城集团的网站建设
  • 彩票网站建设基本流程网站文章页做百度小程序
  • 在淘宝上做代销哪个网站好推广普通话喜迎二十大的手抄报怎么画
  • 知名网站建设开发受欢迎的唐山网站建设
  • 普洱网站搭建创建论坛网站需要多少钱
  • 自己做的网站如何在网络上展示wordpress 手动采集
  • 上海做网站要多少钱wordpress教程app
  • 房地产设计网站沈阳人流哪个医院好安全
  • 贵阳专业做网站微信小程序商城源代码
  • seo建站收费地震郑州做网站开发销售
  • 东莞整站优化推广公司找火速建设企业网站要多少钱
  • 网站备案 两个域名东莞保安公司联系电话
  • 网站专业制作公司律师如何在网上推广
  • 免费培训seo网站一直免费的服务器下载安装
  • 广州h5网站制作公司做竞价网站 要注意什么
  • 太原网站搭建推广id怎么编辑wordpress
  • 网站开发网站设计制作广告设计与制作基础知识
  • 企业建设H5响应式网站的5大好处网站备案后经营
  • 网站数据流分析怎么做河北搜索引擎推广方法
  • 哈尔滨网站建设咨询辽宁建设工程信息网怎么看项目经理是不是被锁住
  • 成立做网站的公司搭建网站有费用吗
  • 标志设计说明案例北京网站优化seo
  • 国外app设计网站佛山网站推广市场