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

河北省住房和建设厅网站有口碑的常州网站优化

河北省住房和建设厅网站,有口碑的常州网站优化,高港区住房和城乡建设局网站,网站建设和实现论文CubeMX配置独立看门狗(IWDG)前言一、独立看门狗的介绍二、实验过程1.STM32CubeMX配置独立看门狗2.代码实现3.硬件连接4.实验结果总结前言 本章介绍使用STM32CubeMX对独立看门狗定时器进行配置的方法。门狗本质上是一个定时器,提供了更高的安…

CubeMX配置独立看门狗(IWDG)

  • 前言
  • 一、独立看门狗的介绍
  • 二、实验过程
    • 1.STM32CubeMX配置独立看门狗
    • 2.代码实现
    • 3.硬件连接
    • 4.实验结果
  • 总结


前言

本章介绍使用STM32CubeMX对独立看门狗定时器进行配置的方法。门狗本质上是一个定时器,提供了更高的安全性、时间的精确性和使用的灵活性。STM32F1xx提供两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的障,重点掌握超时时间的计算,理解LSI温漂较大的使用场景,以及独立定时器的使用;

一、独立看门狗的介绍

独立看门狗IWDG有一个输出端,可以输出复位信号。该定时器是一个 12 位的递减计数器,当计数器的值减到 0 的时候,就会产生一个复位信号。如果在计数没减到 0 之前,重置计数器的值的话,那么就不会产生复位信号,这个动作我们称为喂狗。看门狗功能由 VDD 电压域供电,在停止模式和待机模式下仍然可以工作。

独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。

独立看门狗框图
在这里插入图片描述
从上图我们可以看到独立看门狗主要由下面几个部分组成:
独立看门狗时钟
独立看门狗的时钟由独立的 RC 振荡器 LSI 提供,即使主时钟发生故障它仍然有效,非常独立。LSI 的频率一般在 30~60KHZ 之间,根据温度和工作场合会有一定的漂移,我们一般取 40KHZ,所以独立看门狗的定时时间并不一定非常精确,只适用于对时间精度要求比较低的场合。
计数器时钟
递减计数器的时钟由 LSI 经过一个 8 位的预分频器得到,我们可以操作预分频器寄存器IWDG_PR 来设置分频因子,分频因子可以是: [4,8,16,32,64,128,256,256],计数器时钟 CK_CNT=40/ 42^PRV,一个计数器时钟计数器就减一。
计数器
独立看门狗的计数器是一个 12 位的递减计数器,最大值为 0XFFF,当计数器减到 0 时,会产生一个复位信号:IWDG_RESET,让程序重新启动运行,如果在计数器减到 0 之前刷新了计数器的值的话,就不会产生复位信号,重新刷新计数器值的这个动作我们俗称喂狗。
重装载寄存器
重装载寄存器是一个 12 位的寄存器,里面装着要刷新到计数器的值,这个值的大小决定着独立看门狗的溢出时间。超时时间 Tout = (4
2^prv) / 40 * rlv (s) , prv 是预分频器寄存器的值, rlv 是重装载寄存器的值。
键寄存器
键寄存器 IWDG_KR 可以说是独立看门狗的一个控制寄存器,主要有三种控制方式,往这个寄存器写入下面三个不同的值有不同的效果。
在这里插入图片描述

二、实验过程

1.STM32CubeMX配置独立看门狗

选择芯片stm32f103c6t6,新建工程

在这里插入图片描述

设置时钟源,最小系统外部晶振8Mhz,作为外部高速HSE时钟源。由于没有外接外部低速晶振,这里低速时钟源选择旁路时钟源。

在这里插入图片描述

配置时钟树,这里使用官方推荐的配置

在这里插入图片描述

在这里插入图片描述
IWDG的时钟为40kHz,此时设置计数器时钟为64分频,递减基础器重载值(down-counter reload value)配置为625,当计数器的值大于窗口值时,如果执行重载操作,则会产生复位。
超出(溢出)时间计算:

                                               Tout=((4×2^PRER) ×RLR)/LSI时钟频率=(64 * 625)/40 000 =  1s

在这里插入图片描述

在这里插入图片描述

Code Generator中设置只拷贝使用到的库,分离.c和.h文件

在这里插入图片描述

设置好项目名称和路径,点击GENERATE CODE即可,生成后使用keil5 IDE打开。

在这里插入图片描述

2.代码实现

这里通过打印来查看iwdg的情况,注意喂狗时间不要太接近临界值,因为rc的温漂很大,所以如果很接近临界值可能导致复位

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_DMA_Init();MX_USART1_UART_Init();MX_IWDG_Init();/* USER CODE BEGIN 2 */printf("IWDG start\r\n");/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */printf("\n\r Refreshes the IWDG !!!\n\r");/* Refresh IWDG: reload counter */HAL_IWDG_Refresh(&hiwdg);HAL_Delay(800);}/* USER CODE END 3 */
}

3.硬件连接

烧录器ST-LINK V2和最小系统板的连接如图所示: 四线连接 SWDIO,GND,SWCLK,和3.3V电源

在这里插入图片描述

4.实验结果

每经过800ms喂一次狗,喂狗成功,程序不会重启
在这里插入图片描述
为了体现喂狗失败的复位现象,这里修改下代码

  while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */printf("\n\r Refreshes the IWDG !!!\n\r");/* Refresh IWDG: reload counter */HAL_IWDG_Refresh(&hiwdg);HAL_Delay(1100);}

可以看到喂狗失败,程序不停的重启
在这里插入图片描述

总结

本章介绍了STM32F103系列设备中独立看门狗,并通过实验验证了前面所讲的理论,这里要注意,LSI的温漂比较大,使用时不可用于精准定时的场景。

http://www.yayakq.cn/news/212081/

相关文章:

  • mysql asp网站展厅策划设计公司
  • 自媒体平台企业网站怎么设置建设信息门户网站的条件
  • 江门营销型网站建设多少钱简单的企业网站源码
  • 90设计网站会员全站通与电商模板的区别智慧团建手机登录入口
  • 彩票网站开发制作wordpress 自动超链接
  • 自己做网站nas做网页局域网站点配置
  • 网站建设管理规范淘宝客 网站选择WORDPRESS
  • 网站做商业计划书吗网站的域名做邮箱
  • 龙华做手机网站美橙表业手表网站
  • 做微信平台图片网站济南莱芜金点子信息港
  • linux上安装wordpress网站排名优化多少钱
  • 昆明做网站多少钱wordpress主题域名授权破解版
  • 男女做爰视频网站在线织梦可以做淘宝客网站吗
  • 青岛房地产网站建设wordpress首页添加js
  • 少儿编程培训网站更换域名seo
  • 建设的网站大连哪里有手机自适应网站建设
  • 网站制作容易吗怎么样大庆互联网公司
  • 威海好的网站建设公司做国外网站翻译中国小说赚钱
  • 如何创建网站教程视频天津外贸seo推广
  • wordpress数据库地址惠州网站seo排名优化
  • 找合伙做网站的百度手机助手下载正版
  • wordpress 修改ssl东莞网站seo推广优化
  • 如何做外贸品牌网站建设青岛seo网站推广
  • 广州免费推广网站建设国外比较好的建筑设计网站
  • 企业模板网站建设优势分析企业建站框架
  • 北京网站公司制作大连自己的网站
  • 公关策划网站建设微网站界面尺寸
  • 织梦转WordPress插件云浮seo
  • 刘涛做的婴儿玩具网站网站更新提醒
  • 天津 网站建设工商注册登记网