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

制作网站先做前端还是后端天津河北做网站的公司

制作网站先做前端还是后端,天津河北做网站的公司,做女朋友网站,嘉兴网站建设网站资料来源于硬件家园#xff1a;资料汇总 - FreeRTOS实时操作系统课程(多任务管理) 目录 一、独立看门狗介绍 二、看门狗监测多任务执行思路 1、监测目标 2、监测方案 3、应用注意事项 三、看门狗监测多任务编程 1、STM32cubeMX配置 2、代码编写 四、低功耗Tickless模…资料来源于硬件家园资料汇总 - FreeRTOS实时操作系统课程(多任务管理) 目录 一、独立看门狗介绍 二、看门狗监测多任务执行思路 1、监测目标 2、监测方案 3、应用注意事项 三、看门狗监测多任务编程 1、STM32cubeMX配置 2、代码编写 四、低功耗Tickless模式 1、Tickless模式介绍 2、Tickless模式配置 3、Tickless模式编程 一、独立看门狗介绍 二、看门狗监测多任务执行思路 1、监测目标 ① 监测系统死机 ② 监测任务执行 2、监测方案 说明 ①、监测任务通过独立看门狗监测自身如果长时间得不到执行看门狗将复位系统 ②、监测任务通过事件标志监控其它任务如果任一任务长时间得不到执行看门狗将复位系统 ③、监测任务收到全部被监测任务发来的事件标志后才进行喂狗。 3、应用注意事项 ①、监测任务优先级设置最高以便及时喂狗 ②、监测任务与被监测任务均不可以挂起或删除否则无法及时喂狗导致系统复位 ③、喂狗时间由被监测任务的最大发送事件标志间隔时间确定并且留有足够裕量 ④、考虑事件标志只有低24位可用被监测任务最多24个足够使用 三、看门狗监测多任务编程 1、STM32cubeMX配置 监控任务优先级需要设置最高。以便喂狗 2、代码编写 ①设置事件位 /* USER CODE BEGIN PD */ #define BIT_Task01_EVENT (EventBits_t)(0x0001 0) #define BIT_Task02_EVENT (EventBits_t)(0x0001 1) #define BIT_Task03_EVENT (EventBits_t)(0x0001 2) #define BIT_Task04_EVENT (EventBits_t)(0x0001 3) #define BIT_TaskAll_EVENT BIT_Task01_EVENT | BIT_Task02_EVENT | BIT_Task03_EVENT | BIT_Task04_EVENT /* USER CODE END PD */ ②创建事件 /* USER CODE BEGIN Init */MyEvent01Handle xEventGroupCreate();//创建事件/* USER CODE END Init */ ③监测任务 void IWDG_Monitor_Task(void const * argument) {/* USER CODE BEGIN IWDG_Monitor_Task */EventBits_t xEvent;const TickType_t xTicksToWait 6000 / portTICK_PERIOD_MS;//设置等待时间/* Infinite loop */for(;;){xEvent xEventGroupWaitBits(MyEvent01Handle,//事件句柄BIT_TaskAll_EVENT,//事件pdTRUE,//退出时清除事件位pdTRUE,//逻辑与满足所有事件xTicksToWait//等待时间);if((xEvent(BIT_TaskAll_EVENT)) (BIT_TaskAll_EVENT)){sprintf(buff,%s \r\n,喂狗,监测任务与被监测任务均正常执行);HAL_UART_Transmit(huart2, (uint8_t*)buff,strlen(buff), HAL_MAX_DELAY);HAL_IWDG_Refresh(hiwdg);}else{}}/* USER CODE END IWDG_Monitor_Task */ } ④被监测任务 void StartTask01(void const * argument) {/* USER CODE BEGIN StartTask01 *//* Infinite loop */for(;;){osDelay(1000);xEventGroupSetBits(MyEvent01Handle,BIT_Task01_EVENT);}/* USER CODE END StartTask01 */ }void StartTask02(void const * argument) {/* USER CODE BEGIN StartTask02 *//* Infinite loop */for(;;){osDelay(2000);xEventGroupSetBits(MyEvent01Handle,BIT_Task02_EVENT);}/* USER CODE END StartTask02 */ }void StartTask03(void const * argument) {/* USER CODE BEGIN StartTask03 *//* Infinite loop */for(;;){osDelay(3000);xEventGroupSetBits(MyEvent01Handle,BIT_Task03_EVENT);}/* USER CODE END StartTask03 */ }void StartTask04(void const * argument) {/* USER CODE BEGIN StartTask04 *//* Infinite loop */for(;;){osDelay(4000);xEventGroupSetBits(MyEvent01Handle,BIT_Task04_EVENT);}/* USER CODE END StartTask04 */ } 四、低功耗Tickless模式 ①电池类产品一般要求低功耗设计比如农业物联网的节点采集设备 ②低功耗设计除了MCU软件  硬件设计同等重要 ③Tickless模式主要针对睡眠模式当然也可以自行使用停机模式待机模式 1、Tickless模式介绍 Tickless 低功耗机制是当前小型 RTOS 所采用的通用低功耗方法比如FreeRTOSRTX 和 uCOS-III等。仅从字母上看Tick 是滴答时钟的意思less 是 Tick 的后缀表示较少的整体看就是表示减少滴答时钟节拍运行。 在FreeRTOS系统中当用户任务都被挂起或者阻塞时最低优先级的空闲任务会得到执行。那么 STM32 支持的低功耗模式就可以放在空闲任务里面实现。为了实现低功耗最优设计我们还不能直接把睡眠模式放在空闲任务就可以了。由于Tick中断停止将导致无法及时运行阻塞超时的任务进入空闲任务后首先要计算可以执行低功耗的最大时间也就是求出下一个要执行的高优先级任务还剩多少时间。然后就是把低功耗的唤醒时间设置为这个求出的时间(其实就是重载Systick)如果没有其它中断或事件唤醒STM32到时间后Systick中断会将STM32唤醒继续执行任务。 这个就是所谓的 Tickless 模式。从上面的讲解中可以看出实现Tickless模式最麻烦的是计算低功耗可以执行的时间。这个难题FreeRTOS 已为我们做好。 2、Tickless模式配置 ① 将宏定义configUSE_TICKLESS_IDLE设置为1即可 ② 配置 configEXPECTED_IDLE_TIME_BEFORE_SLEEP只有当系统可运行于低功耗模式的时钟节拍数大于等于这个参数时系统才可以进入到低功耗模式。此参数已在 FreeRTOS.h文件中定义了默认为2用户可以自定义时不能小于2 3、Tickless模式编程 ①STM32cubeMX配置 ②configEXPECTED_IDLE_TIME_BEFORE_SLEEP设置 进入低功耗的最小Tick如果实际比设置Tick小则不进入低功耗一般默认2个Tick就够了如果需要修改不要在源码里修改在FreeRTOSConfig.h里重定义宏 /* USER CODE BEGIN 1 */ #define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 10 /* USER CODE END 1 */ ③在进入与退出Tickless模式时增加代码通常是关闭外设等 这样写只是为了验证有没有开启低功耗成功 /* USER CODE BEGIN PREPOSTSLEEP */ __weak void PreSleepProcessing(uint32_t *ulExpectedIdleTime) {//进入休眠前关闭外设等 /* place for user code */HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin); }__weak void PostSleepProcessing(uint32_t *ulExpectedIdleTime) {//退出休眠开启外设等 /* place for user code */HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin); } /* USER CODE END PREPOSTSLEEP */
http://www.dnsts.com.cn/news/212286.html

相关文章:

  • 知名电子商务网站有哪些网络规划设计师教程第二版 pdf
  • 邮箱网站架构网站备案组织机构代码
  • 便宜网站建设怎么样建平台跟建网站
  • 网站查询页面设计扬中市做网站
  • 建设部相关网站短视频seo代理
  • 邢台网站制作哪里有平面设计公司简介模板
  • 网站后台管理系统 静态页面吴江住房和城乡建设局官方网站
  • 成都市网站备案广陵建设局网站
  • 山西两学一做网站登录专门做团购的网站有哪些
  • 能源网站开发12306网站开发笑话
  • 网站建设辶首先金手指十四WordPress自动退出
  • 如何判断一个网站的关键词是否难做潍坊百度网站快速排名
  • 昆明做网站首选互维seo产品
  • 港口建设征收 申报网站桂林建网站
  • 代做网站微信号百度热搜的含义
  • 电子网站模板html网页框架
  • 上海网站建设网页制作导航网站备案
  • 广东圆心网站开发微商推广网站怎么做
  • 网站开发人才储备南宁手机企业网站定制公司
  • 郑州网站备案无锡seo代理
  • 新版大都会app超级优化还原
  • 黑色赚钱的网站wordpress系统架构
  • 物流的网站模板珠海企业网站建站
  • 德阳百度网站建设广告生成器在线制作
  • 怎么建立免费个人网站台州优秀关键词优化
  • 虚拟主机和服务器有什么区别对新网站做seo大概需要多久
  • 学校户网站建设方案青岛建设项目
  • 无锡网站设计厂家万网个人网站建设教程
  • 洛阳市涧西区建设局网站重庆建站程序
  • 网络服务商不提供哪项服务婚纱摄影网站seo方案