首页 > 其他分享 >独立看门狗实验

独立看门狗实验

时间:2023-09-05 13:31:47浏览次数:37  
标签:引脚 步骤 代码 独立 看门狗 UART1 实验 按键

当我们需要保证系统稳定运行并防止意外崩溃时,独立看门狗(Independent Watchdog,简称IWDG)是一种非常有用的硬件功能。IWDG是一种硬件定时器,用于定期检测系统是否处于预期状态,并在系统出现异常或超时时进行重置。

在本篇博客文章中,我们将使用CubeMX工具和STM32微控制器来实现一个独立看门狗的实验。我们的要求是开启独立看门狗,设置溢出时间为1秒,并使用按键1进行喂狗操作。我们还将通过UART1串口将喂狗操作的结果打印出来。

硬件接线部分如下:

  • 按键1:连接到PA0引脚
  • UART1:连接到PA9(发送)和PA10(接收)引脚

所用公式

image.png

f的值粗略使用40

以下是实现步骤:

步骤 1:创建新的工程和配置器件

首先,我们需要打开STM32CubeMX,并创建一个新的工程。选择对应的微控制器型号,并确定所需的外设。

步骤 2:配置GPIO外设

在"Pinout & Configuration"选项卡中,配置PA0引脚作为输入引脚并启用上拉电阻。

步骤 3:配置UART1外设

在同一选项卡中,配置UART1外设。选择PA9为发送引脚和PA10为接收引脚,并设置波特率等配置参数。

步骤 4:配置独立看门狗

切换到"Configuration"选项卡,然后在左侧的"System Core"菜单中选择"IWDG(Independent Watchdog)"。

在右侧的配置窗口中,启用独立看门狗,并设置溢出时间为1秒(或者根据需要进行调整)。

image.png

步骤 5:生成代码并导出至IDE

点击"Project"菜单,选择生成代码。将生成的代码导出至所使用的集成开发环境(IDE)中。

步骤 6:编写代码

在IDE中打开生成的代码,找到main.c文件,然后按照以下方式进行修改:

  • main()函数中的while (1)循环中添加以下代码:
    • 在读取按键操作前,刷新独立看门狗:
  HAL_IWDG_Refresh(&hiwdg);
  • 在按键操作语句前,添加判断条件来检测按键1的按下:
  if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) == GPIO_PIN_RESET) // 判断按键1是否按下
  • 在按键操作结束后,通过UART1将喂狗结果打印出来:
  char uart_data[20];
  sprintf(uart_data, "Feed watchdog\r\n");
  HAL_UART_Transmit(&huart1, (uint8_t *)uart_data, strlen(uart_data), HAL_MAX_DELAY);

代码部分,懂意思就行.

步骤 7:编译和下载代码

完成代码编写后,进行编译并下载到微控制器板上。

步骤 8:测试和验证

启动开发板并连接串口调试工具,将波特率设置为与配置时一致的数值。

在串口调试工具中,可以观察到每隔1秒钟,独立看门狗会喂一次狗。当按下按键1时,可以在串口调试工具中看到"Feed watchdog"的输出。

至此,我们成功使用CubeMX工具和STM32微控制器实现了独立看门狗的实验。通过按键1进行喂狗操作,并且通过UART1串口将喂狗的结果打印出来。

独立看门狗在实际项目中起到了确保系统的可靠性的重要作用。希望这篇教程对您有帮助!

标签:引脚,步骤,代码,独立,看门狗,UART1,实验,按键
From: https://blog.51cto.com/u_16152459/7371337

相关文章

  • 嵌入式DSP教学实验箱_数字信号处理教程:3-5 AAC音频编码实验
    1、实验目的本次实验操作教程是基于创龙教仪DSP教学实验箱:TL6748-PlusTEB演示录制的。本次实验的目的是了解AAC音频格式,掌握AAC音频编码的原理,并实现将WAV格式的音频编码为AAC格式。2、实验原理音频编解码的主要对象是音乐和语音,音频的编解码格式可分为无压缩的格式、无损压缩格式......
  • 基于SSM的实验室预约系统
    项目介绍:本系统采用SSM框架,数据层采用mybatis,数据库使用mysql,下面是大概的功能,系统适合于基础一般的同学使用。项目技术:后端:ssm前端:layui、js、css等开发工具:idea数据库:mysql5.7JDK版本:jdk1.8服务器:tomcat8功能概述:系统分为三个角色,分别为管理员、教师、学生。管理员:实验......
  • 生物信息-转录组实验记录09/04
    8.29流程:使用Trimommatic软件进行过滤,bwa构建参考基因组索引,bwamem算法比对失败(sam文件无内容)'[M::bwa_idx_load_from_disk]read0ALTcontigs':BWA在加载参考基因组索引时,未读取到任何备选(ALT)的contigs。这可能意味着你的参考基因组没有额外的备选序列,只有主要序列。'[......
  • 看门狗
    独立看门狗(IWDG)本质:产生系统复位信号的计数器(RCC_CSR控制寄存器复位状态标志位进行查看)。NRST引脚上的低电平(开发板上的复位按键)窗口看门狗计数终止(WWDG复位)独立看门狗计数终止(IWDG复位)软件复位(SW复位)低功耗管理复位特性:计数器是递减的计数器,时钟有独立的RC振荡......
  • 向量搜索技术:基于Elasticsearch/PostgreSQL/Redis扩展的向量搜索数据库或独立向量搜索
    理论基础与研究向量数据库用于非结构化文本、图片、音频、视频搜索、推荐,将他们转换为数字向量表示来进行相似性(ANN)搜索。存储和搜索高维向量是其特征之一,通常采用高级索引技术和算法如HNSW,Annoy,或Faiss来实现。不同于SQL数据库,向量数据库更像nosql,用户接受使用sdk/API......
  • Redisson看门狗机制你了解多少
    前言谈到Redisson就不得不说Redis了,一想到Redis就不得不想到并发编程锁机制,一想到锁机制那么就不能不考虑一个很头疼的问题,如何保证原子性的问题,高QPS请求量的系统对每次执行数据的原子性由为的关键,保证不了原子性就会导致一系列重复提交的操作,重复的数据导致在某些逻辑运算的时候......
  • matlab用马尔可夫链蒙特卡罗 (MCMC) 的Logistic逻辑回归模型分析汽车实验数据|附代码
    原文链接:http://tecdat.cn/?p=24103此示例说明如何使用逻辑回归模型进行贝叶斯推断 ( 点击文末“阅读原文”获取完整代码数据 )。统计推断通常基于最大似然估计(MLE)。MLE选择能够使数据似然最大化的参数,是一种较为自然的方法。在MLE中,假定参数是未知但固定的数值,并在一定......
  • 1-7可编程并行接口 8255 实验
    COM_8255EQU0273H ;8255控制口PA_8255EQU0270HPB_8255EQU0271HPC_8255EQU0272H_STACKSEGMENTSTACKDW100DUP(?)_STACKENDSDATASEGMENTWORDPUBLIC'DATA'DATAENDSCODESEGMENTSTARTPROCNEARASSUMECS:CODE,DS:DATA,SS:_STACK......
  • 实验4:拼图游戏
    一、实验目标综合应用所学知识创建完整的拼图游戏项目;熟练掌握<canvas>组件。二、实验步骤根据实验手册上的网址,下载项目需要用到的文件。然后进入微信开发者工具,创建一个新项目jigsawGame。本项目有两个页面文件,需要在pages目录下创建index(首页页面)和game(游戏页面......
  • 如何建设跨境电商独立站(跨境电商独立站建设步骤)
    现如今,电商行业在飞速发展,而跨境电商这个市场也成为香饽饽,受到企业以及个人商家的青睐。那么如何建设一个成功的跨境电商独立站呢?接下来广州名锐讯动带大家一起了解跨境电商独立站建设的步骤。第一步:市场调研与定位在建设跨境电商独立站之前,首先要进行充分的市场调研和定位。了解目......