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

开发电子商务网站和开发新闻类网站什么异同做网站的为什么不给域名和密码

开发电子商务网站和开发新闻类网站什么异同,做网站的为什么不给域名和密码,百度广告登录入口,百度医生在线问诊引言:嵌入式系统的守护者在嵌入式系统开发中,程序的异常运行可能导致严重后果。STM32提供了两种看门狗机制:独立看门狗(IWDG)和窗口看门狗(WWDG)。本文将重点解析​​窗口看门狗(WWDG)​​的设计原理、应用场景和最佳实践,它是确保…

引言:嵌入式系统的守护者

在嵌入式系统开发中,程序的异常运行可能导致严重后果。STM32提供了两种看门狗机制:独立看门狗(IWDG)和窗口看门狗(WWDG)。本文将重点解析​​窗口看门狗(WWDG)​​的设计原理、应用场景和最佳实践,它是确保系统​​时序精确性​​的关键组件。

一、窗口看门狗的本质

1.1 核心定位

  • ​精准时序监控​​:解决任务执行时效性问题

  • ​窗口机制​​:防止过早或过晚操作关键资源

  • ​软错误防护​​:检测逻辑错误而非硬件故障

1.2 硬件结构剖析

  • ​7位递减计数器​​:最大值0x7F(127),下限0x40(64)

  • ​三重保护机制​​:

    1. 1.

      超时复位(计数器≤0x3F)

    2. 2.

      窗口违规复位(喂狗过早)

    3. 3.

      中断预警(计数器=0x40)

二、WWDG工作原理深度解析

2.1 时间窗口精密控制

无效区域       |     有效区域      |   危险区域(喂狗导致复位)    |   (安全喂狗区)   | (即将复位)
0x7F ----------- 0x5F ----------- 0x40 ----------- 0x3F窗口上限(W)          安全操作区         复位临界点

2.2 超时时间计算公式


  • ​PCLK1​​:APB1总线时钟频率(通常36MHz)

  • ​WDGTB​​:预分频系数(0-3,对应分频值1/2/4/8)

  • ​T[5:0]​​:计数器低6位值(0-63)

2.3 时间窗口计算示例

参数

超时时间(36MHz)

WDGTB

3

8分频

计数器初值

0x7F

127

T[5:0]

63

58.25ms

窗口值(W)

0x5F

95

最早喂狗点

-

29.13ms

最晚喂狗点

-

57.34ms

三、WWDG开发实战

3.1 配置步骤详解

// 步骤1:初始化结构体
WWDG_HandleTypeDef hwwdg;
hwwdg.Instance = WWDG;
hwwdg.Init.Prescaler = WWDG_PRESCALER_8; 
hwwdg.Init.Window = 0x5F;
hwwdg.Init.Counter = 0x7F;
hwwdg.Init.EWIMode = WWDG_EWI_ENABLE;// 步骤2:初始化WWDG
HAL_WWDG_Init(&hwwdg);// 步骤3:实现MSP初始化
void HAL_WWDG_MspInit(WWDG_HandleTypeDef* hwwdg) {__HAL_RCC_WWDG_CLK_ENABLE();HAL_NVIC_SetPriority(WWDG_IRQn, 0, 0);HAL_NVIC_EnableIRQ(WWDG_IRQn);
}// 步骤4:实现中断服务函数
void WWDG_IRQHandler(void) {HAL_WWDG_IRQHandler(&hwwdg);
}// 步骤5:实现提前唤醒回调
void HAL_WWDG_EarlyWakeupCallback(WWDG_HandleTypeDef* hwwdg) {// 必须在此喂狗!HAL_WWDG_Refresh(hwwdg);// 可添加故障处理逻辑
}

3.2 喂狗策略设计

​双重保护机制:​

​代码实现:​

void critical_task(void) {// 第一阶段任务task_phase1();// 安全点喂狗if(is_in_window()) {HAL_WWDG_Refresh(&hwwdg);}// 第二阶段任务task_phase2();
}void HAL_WWDG_EarlyWakeupCallback(...) {HAL_WWDG_Refresh(hwwdg); // 保底喂狗log_error(); // 记录异常
}

四、WWDG高级应用技巧

4.1 窗口时间动态调整

// 根据系统负载调整窗口
void adjust_wwdg_window(uint8_t load_level) {static const uint8_t window_table[] = {0x60, 0x58, 0x50};hwwdg.Init.Window = window_table[load_level];HAL_WWDG_Init(&hwwdg);
}

4.2 系统状态诊断

void HAL_WWDG_EarlyWakeupCallback(...) {static uint8_t ewi_count = 0;HAL_WWDG_Refresh(hwwdg);if(ewi_count++ > MAX_EWI_COUNT) {emergency_reboot(); // 连续异常触发深度恢复}
}

五、与IWDG的联合使用

5.1 双重看门狗架构

+---------------------+
|   应用程序任务       |
+----------+----------+|
+----------v----------+
|   WWDG喂狗点        |  <- 精确时序监控
+----------+----------+|
+----------v----------+
|   IWDG喂狗点        |  <- 整体运行监控
+----------+----------+|
+----------v----------+
|   硬件外设           |
+---------------------+

5.2 配置示例

// IWDG配置(1秒超时)
IWDG_HandleTypeDef hiwdg;
hiwdg.Instance = IWDG;
hiwdg.Init.Prescaler = IWDG_PRESCALER_256;
hiwdg.Init.Reload = 4095; // 32.768s/8 ≈ 1s
HAL_IWDG_Init(&hiwdg);// WWDG配置(100ms窗口)
hwwdg.Init.Prescaler = WWDG_PRESCALER_8;
hwwdg.Init.Counter = 0x7F;
hwwdg.Init.Window = 0x70; 
HAL_WWDG_Init(&hwwdg);

六、常见问题及解决方案

6.1 喂狗冲突问题

​现象​​:主循环喂狗导致EWI中断永不触发

​解决方案​​:

// 在主循环中增加窗口判断
void main_loop() {while(1) {if(should_feed_wwdg() && is_in_window()) {HAL_WWDG_Refresh(&hwwdg);}// ... 其他任务}
}

6.2 复位源识别

void check_reset_source(void) {if(__HAL_RCC_GET_FLAG(RCC_FLAG_WWDGRST)) {debug_print("WWDG复位!");__HAL_RCC_CLEAR_RESET_FLAGS();}// ... 其他复位源检查
}

结语:精准守护的艺术

窗口看门狗是STM32提供给开发者的精密守护者。通过对其原理的深入理解和合理配置,可以构建出既安全又实时的嵌入式系统。建议在以下场景优先采用WWDG:

  1. 1.

    实时控制系统(如无人机飞控)

  2. 2.

    通信协议处理(如CAN总线调度)

  3. 3.

    安全关键任务(如医疗设备控制)

  4. 4.

    多任务协同系统

​警示​​:在EWI中断中必须喂狗!这是防止复位的最后防线。

附录:计算工具

// WWDG超时时间计算器
float calc_wwdg_timeout(uint32_t pclk1, uint8_t prescaler, uint8_t counter) {uint8_t t_low6 = counter & 0x3F; // 取低6位float divider = 1 << (prescaler & 0x03); // 2^WDGTBreturn (4096.0f * divider * (t_low6 + 1)) / (pclk1 / 1000000.0f); // 返回微秒数
}

http://www.dtcms.com/a/591517.html

相关文章:

  • 官网如何被AI精准抓取?维星AI GEO优化让信息传递效率提升3倍
  • 网站建设ftpwordpress主题免费
  • 网站建设怎么入账做卷皮网类似网站
  • 网站效果检测开淘宝店要自己做网站吗
  • 个人动漫网站怎么做页面网站顶部轮播怎么做的
  • 自己做图片的网站吗wordpress图片添加字体
  • 个人手机网站动力做网站
  • 桂林生活网新闻中心保定网站关键词优化
  • 龙游做网站吉林省最新消息今天新增
  • 网站已经备案更换主机访问网站 流程图
  • 产品毕业设计代做网站产品推广方案模板
  • 网站上的地图怎么做网站建设技术方面的体会
  • 提供网站建设公wordpress一数据库多网站
  • 陕西建设厅继续教育网站企业网站 设
  • 上海网站设计网页设计百杭网络推广公司
  • 在拼多多开网店的流程优化推荐
  • 空间网站模板题库制作助手app
  • 网站建设与规划方向网站搭建技术
  • 网站的折线图怎么做seo网站关键词优化哪家好
  • 行业网站怎么做英雄联盟网站模板
  • 厦门做网站最好的公司宁波互联网企业排名
  • 站长之家网站建设泰安建设企业网站
  • 银川网站开发培训想重装wordpress
  • 网站如何做IPV6支持网站人员队伍建设薄弱
  • 做cpa用什么类型的网站好大学生网页设计期末作业
  • 做网站什么主题比较好在线网站seo诊断
  • 房产建设网站百度seo优
  • 怎么做hello官方网站男生都知道的微信公众号
  • 北京矿建建设集团有限公司网站创建微信公众号平台
  • 网站建设中的问题上海专业网站建设排行