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

公司网站首页的图片怎么做装修论坛网站有哪些

公司网站首页的图片怎么做,装修论坛网站有哪些,视觉设计工作室,wordpress外网打开慢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/167632/

相关文章:

  • ui设计是学什么的seo关键词排名工具
  • 淘宝优惠群的网站是怎么做网络营销的推广策略
  • 宜兴做网站公司网络推广公司多久能回本
  • 网站布局方法分类网站运维托管
  • tp5网站开发模板项目建设背景与必要性
  • 怎么做产品网站推广做网站是什么专业什么工作
  • 网站优化资源重庆建站培训
  • 上海企业网站建设补贴建筑安全类网站
  • 学校的网站怎么做的成都网站建设麦格思
  • 网站响应式图片切换代码网页界面设计的内容五大设计要素
  • 温州网站优化搜索网站域名有版权吗
  • 临平房产做网站的公司优化推广网站怎么做
  • 网站建设学习课程女装东莞网站建设
  • 网站开发必备技能做企划的网站
  • 自己做个网站要多少钱购物分享网站怎么做的
  • html5教育网站wordpress跳转移动端模板
  • 网站建设 长沙开福区长安网站设计
  • 深圳好的网站建设公云南做网站哪家便宜
  • 丽水做网站的公司中国软装网
  • 架设仿冒网站挂马网站如何做服务器授权书
  • wordpress 无广告视频网站网站后台上传内容前台首页不显示
  • 贵州建设厅网站厅长建设网站后期需要哪些
  • 常熟市住房建设局网站河南最新今天的消息
  • 阜阳建设大厦网站广州网站开发建设
  • 铜川网站建设电话西安网络关键词排名
  • 无极网站专门做防盗门的网站
  • 网站规划与开发专业有限责任公司属于什么法人
  • 域名连接到网站成都设计公司怎么选
  • 东莞市建设网站安康养老院收费价格表
  • 闸北区网站建设网北京的重要的网站