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

网页设计做一个网站天津网站建设开发有哪些

网页设计做一个网站,天津网站建设开发有哪些,苏州外贸网站建设制作方案,琼海做网站文章目录 前言一、Freertos可视化配置二、生成代码三、实验现象总结 前言 FreeRTOS#xff08;Real-Time Operating System#xff09;是一个开源的实时操作系统内核#xff0c;专注于嵌入式系统。它提供了一套用于管理任务、调度器、内存管理等的实时操作系统功能#xf… 文章目录 前言一、Freertos可视化配置二、生成代码三、实验现象总结 前言 FreeRTOSReal-Time Operating System是一个开源的实时操作系统内核专注于嵌入式系统。它提供了一套用于管理任务、调度器、内存管理等的实时操作系统功能为嵌入式应用程序提供了强大的任务管理和资源管理能力。 CubeMX集成了许多中间件和库包括FreeRTOS。通过简单的选择用户可以轻松地启用和配置FreeRTOS而不需要手动整合和调整。 一、Freertos可视化配置 配置外部高速时钟 根据芯片手册配置外部晶振使用外部晶振作为系统时钟源频率更准确 配置FreeRTOS 生成.c和.h文件对 生成代码时出现警告原因是FreeRTOS将systick作为时钟源因此需要设置另外一个定时器作为HAL库的时钟源 动态创建两个任务 一些基本参数的设置 二、生成代码 项目代码框架介绍 生成的创建进程的代码 const osThreadAttr_t Task_LED0_attributes {.name Task_LED0,.priority (osPriority_t) osPriorityNormal,.stack_size 128 * 4 }; /* Definitions for Task_LED1 */ osThreadId_t Task_LED1Handle; const osThreadAttr_t Task_LED1_attributes {.name Task_LED1,.priority (osPriority_t) osPriorityNormal,.stack_size 128 * 4 };void MX_FREERTOS_Init(void) {/* creation of Task_LED0 */Task_LED0Handle osThreadNew(AppTask_LED0, NULL, Task_LED0_attributes);/* creation of Task_LED1 */Task_LED1Handle osThreadNew(AppTask_LED1, NULL, Task_LED1_attributes);}在任务函数中实现让两个LED灯分别每隔500ms和1s进行亮灭的反转 /* USER CODE END Header_AppTask_LED0 */ void AppTask_LED0(void *argument) {/* USER CODE BEGIN AppTask_LED0 *//* Infinite loop */for(;;){HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);HAL_Delay(500);}/* USER CODE END AppTask_LED0 */ }/* USER CODE BEGIN Header_AppTask_LED1 */ /** * brief Function implementing the Task_LED1 thread. * param argument: Not used * retval None */ /* USER CODE END Header_AppTask_LED1 */ void AppTask_LED1(void *argument) {/* USER CODE BEGIN AppTask_LED1 *//* Infinite loop */for(;;){HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);HAL_Delay(1000);}/* USER CODE END AppTask_LED1 */ }三、实验现象 具有相同优先级时利用时间片调度算法每个任务都能得到CPU的使用权。LED0和LED1轮流执行LED0和LED1实现不同频率的闪烁。 当设置LED1任务优先级降低时由于Task_LED0任务优先级大于Task_LED1HAL_Delay(500)是执行空语句实现的因此不会实现任务的切换。Task_LED0一直占用CPU的使用权。现象如下图所示。 当代码HAL_Delay(1000)改为osDelay(1000);两个小灯又可以同时执行任务因为osDelay(1000)会将任务变为阻塞状态交出CPU的使用权。 void AppTask_LED0(void *argument) {/* USER CODE BEGIN AppTask_LED0 *//* Infinite loop */for(;;){HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);osDelay(1000);}/* USER CODE END AppTask_LED0 */ }总结 本文介绍了如何利用CUBEMX快速开发FreeRTOS。本文介绍了如何创建任务并通过实验说明了HAL_Delay()函数和osDelay()函数的区别。如果你在一个裸机环境中没有使用RTOS那么使用 HAL_Delay 是合适的。如果你在使用RTOS那么应该使用RTOS提供的 osDelay 来确保任务调度器正常工作而不会因为延时而阻塞其他任务。
http://www.zqtcl.cn/news/518600/

相关文章:

  • 青岛网站设计案例全栈网站开发
  • 欢迎访问中国建设银行网站个人客户网站建设需要经历什么步骤
  • 建设银行怀柔支行营业部网站企业官网手机版
  • cms那个做网站最好大连网站开发平台
  • 佛山建设外贸网站公司可信网站图标
  • 沈阳.....网站设计连云港优化网站团队
  • 网站添加白名单想学ui设计从哪里入手
  • 做期货与做网站的关系淮安市城市建设档案馆网站
  • 网站建设的技术亮点单位宣传册设计样本
  • 网站建设与维护服务敦化市建设局网站
  • 官方网站建设思路wordpress改成织梦
  • 网站建设推广方法网站调优
  • 苏州做企业网站wordpress前台发布文章
  • 怎么建个私人网站网络营销就业前景和薪水
  • 专业的网站开发团队京东电商平台
  • 做网站手机微信小程序怎么加入我的小程序
  • 做网站困难吗公司如何注册网站
  • 可信网站认证收费吗建设化工网站的目的
  • 查网站死链必用工具微信 wordpress
  • 做网站凡科新手如何开微商城店
  • 网站空间维护个人怎么注册一个品牌
  • 连云港网站设计城乡建设网站 资料员
  • 网络优化工程师有多累seo前线
  • 囊谦县公司网站建设新沂网页定制
  • 公众平台网页版wordpress换主题影响seo吗
  • 网站建设什么是静态网页设置wordpress文章标题高亮的代码
  • 男女做那事是什 网站wordpress怎么上传ppt
  • 电商网站图片处理东莞网络营销策划
  • 做知识产权相关的网站网站怎么做登录界面
  • 网站空间备份东莞企业网站教程