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

网站建设网上商城网站规划和建设的基本要求

网站建设网上商城,网站规划和建设的基本要求,公司网页制作设计,icp备案综合查询网站STM32中的看门狗(Watchdog)是一种用于监控系统运行状态并在系统故障或死锁时执行自动复位的硬件功能。在本文中#xff0c;我将介绍如何在STM32微控制器中使用看门狗来实现系统的自动复位。下面是详细的解释#xff1a; 一、看门狗原理简介 看门狗是一种独立的硬件计时器我将介绍如何在STM32微控制器中使用看门狗来实现系统的自动复位。下面是详细的解释 一、看门狗原理简介 看门狗是一种独立的硬件计时器在启动看门狗计时器之后系统需要在一定的时间内喂狗即清除计时器计数值否则看门狗将会超时触发系统自动复位。这是一种预防系统死锁或异常情况的安全机制。 二、看门狗的配置 在STM32中看门狗的配置主要涉及以下几个方面时钟源、预分频系数、重载值和使能位。 1. 时钟源通常可以选择LSI低速内部时钟或LSI的2倍作为看门狗的时钟源。 2. 预分频系数预分频系数用于控制看门狗计时器的时钟频率根据系统需求选择合适的预分频系数。 3. 重载值重载值决定了看门狗计时器的定时时长当看门狗计时器达到重载值时将会触发系统复位。 4. 使能位使能位用于启用或禁用看门狗功能。 下面是一个使用STM32Cube HAL库配置看门狗的示例代码 c #include main.h #include stm32f4xx_hal.hWWDG_HandleTypeDef hwwdg;void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_WWDG_Init(void);int main(void) {HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_WWDG_Init();while (1){// 喂狗HAL_WWDG_Refresh(hwwdg);} }void SystemClock_Config(void) {RCC_OscInitTypeDef RCC_OscInitStruct {0};RCC_ClkInitTypeDef RCC_ClkInitStruct {0};RCC_OscInitStruct.OscillatorType RCC_OSCILLATORTYPE_HSE;RCC_OscInitStruct.HSEState RCC_HSE_ON;RCC_OscInitStruct.PLL.PLLState RCC_PLL_ON;RCC_OscInitStruct.PLL.PLLSource RCC_PLLSOURCE_HSE;RCC_OscInitStruct.PLL.PLLM 25;RCC_OscInitStruct.PLL.PLLN 336;RCC_OscInitStruct.PLL.PLLP RCC_PLLP_DIV2;RCC_OscInitStruct.PLL.PLLQ 7;if (HAL_RCC_OscConfig(RCC_OscInitStruct) ! HAL_OK){Error_Handler();}RCC_ClkInitStruct.ClockType RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;RCC_ClkInitStruct.SYSCLKSource RCC_SYSCLKSOURCE_PLLCLK;RCC_ClkInitStruct.AHBCLKDivider RCC_SYSCLK_DIV1;RCC_ClkInitStruct.APB1CLKDivider RCC_HCLK_DIV4;RCC_ClkInitStruct.APB2CLKDivider RCC_HCLK_DIV2;if (HAL_RCC_ClockConfig(RCC_ClkInitStruct, FLASH_LATENCY_5) ! HAL_OK){Error_Handler();}HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000);HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0); }static void MX_WWDG_Init(void) {hwwdg.Instance WWDG;hwwdg.Init.Prescaler WWDG_PRESCALER_8;hwwdg.Init.Window 127;hwwdg.Init.Counter 127;if (HAL_WWDG_Init(hwwdg) ! HAL_OK){Error_Handl‌er();} }以上代码中我们首先初始化系统时钟System Clock然后初始化GPIO和看门狗计时器。在main函数中在一个无限循环中我们通过调 用HAL_WWDG_Refresh函数来喂狗确保看门狗计时器的计数值不会超时从而防止系统自动复位。 在以上代码中我们配置了一个预分频系数为8重载值为127的看门狗计时器并在无限循环中调用HAL_WWDG_Refresh函数来喂狗以保证系统的正常运行。如果系统中出现了死锁或其他异常情况导致程序未能及时喂狗导致计数器超时看门狗将会触发系统复位从而实现系统自动复位的功能。 三、注意事项 在使用STM32中的看门狗功能时需要注意以下几点 1. 重载值的选择重载值的选择需要根据系统运行时间和所需的复位间隔来确定。如果重载值太小可能会导致看门狗频繁触发复位影响系统的稳定性如果重载值太大可能会导致看门狗计数器无法及时超时从而无法实现自动复位的功能。 2. 喂狗的频率在使用看门狗功能时需要定时喂狗否则看门狗会在计时器超时时触发系统复位。喂狗的频率应该在重载值的一半以上以保证系统能够正常运行。 3. 系统的初始化时间看门狗计数器的启动时间需要一定的时间因此在初始化系统时需要保证计时器已经启动并工作正常。 4. 发生异常时的处理如果程序发生异常例如死锁或死循环等情况可能会导致看门狗计时器无法及时喂狗从而触发系统复位。因此需要注意程序的稳定性和安全性尽可能避免出现异常情况并进行针对性的处理。 总结 在STM32中使用看门狗实现系统自动复位需要进行时钟源、预分频系数、重载值和使能位的配置。通过定时喂狗可以保证看门狗计时器的正常工作防止系统出现异常情况实现系统的自动复位功能。 嵌入式物联网的学习之路非常漫长不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心我为大家整理了一份150多G的学习资源基本上涵盖了嵌入式物联网学习的所有内容。点击这里0元领取学习资源让你的学习之路更加顺畅记得点赞、关注、收藏、转发哦。  ​ 点击链接扫码进入嵌入式交流群 ​https://fss.mpay8.cn/article/dmrjinh2C6fjejm​
http://www.sadfv.cn/news/269746/

相关文章:

  • 模板下载网站哪个好教育网站报名
  • 百度站长工具怎么查排名南京那些公司做网站
  • 大型网站制作小程序电子商务网站的设计要素
  • 别人做的网站不能用了友情链接网站
  • wordpress站群有什么好的书写网站
  • 淘宝网网站建设外包公司排行
  • 在哪个网站找水利工地做建站平台软件
  • 云网站开发wordpress静态分页
  • 怎么做个手机版的网站网站建设电脑和手机有区别吗
  • 网站运行费用预算软件网站建设基本流程
  • go语言 网站开发帮朋友做网站 知乎
  • dede网站文章同步淮南发布网
  • 网站建设算行政工作吗怎样建设自己网站
  • 营销手机网站制作大连网站平台研发
  • 网站邮箱代码张掖网站建设培训班
  • 谁能赐教内蒙网站建设seo优化
  • 您与此网站建立的连接不安全公司简介100字范文
  • 苏州外贸网站建设运营制作网站策划书
  • 网站建设借鉴2018年靖边建设项目招投标网站
  • 做网站通过什么挣钱新化 网站开发
  • 宁波做网站十大公司哪家好武安市城乡建设局网站
  • 网站维护的主要工作网络营销方式方法有哪些
  • 青岛网站制作价格商城网站建设合同范本
  • 免费网站seo诊断网站建设与设计大作业
  • 做线上兼职的网站鲜花网站开发毕业设计
  • 怎么查看网站空间某公司的网站建设的资金预算书
  • 河南中原建设网站微信群阿里网站空间
  • 启用中文域名大网站wordpress会员评论
  • 用WordPress的网站有哪些社交网站建设内容
  • 手机网站解析域名商务网站建设与维护试卷