找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1669|回复: 0
收起左侧

STM32看门狗定时器实验程序

[复制链接]
ID:792268 发表于 2020-6-29 07:31 | 显示全部楼层 |阅读模式
这是我做的一个实验,实验目的是研究独立看门狗的喂狗feed工作原理。
主要实验是观察程序在有喂狗和没有喂狗的两种情况下的输出,并且分析两者的不同之处

单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include <math.h>

  3. void Delay(vu32 nCount){//延时
  4.         for(;nCount!=0;nCount--);
  5. }

  6. void GP_Init()
  7. {
  8.         GPIO_InitTypeDef  GPIO_InitStructure;
  9.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);         //使能PA端口时钟
  10.        
  11.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;                                 //LED0-->PA.7 端口配置
  12.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽输出
  13.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO口速度为50MHz
  14.         GPIO_Init(GPIOA, &GPIO_InitStructure);                                         //根据设定参数初始化GPIOA.7
  15.         GPIO_SetBits(GPIOA,GPIO_Pin_7);                                                 //PA.7 输出高
  16. }

  17. void IWDG_Init(u8 prer,u16 rlr)
  18. {       
  19.         IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
  20.         IWDG_SetPrescaler(prer);
  21.         IWDG_SetReload(rlr);
  22.         IWDG_ReloadCounter();
  23.         IWDG_Enable();
  24. }

  25. void IWDG_Feed(void)
  26. {   
  27.         IWDG_ReloadCounter();                                                                                  
  28. }

  29. int main(void)
  30. {
  31.         GP_Init();
  32.         Delay(2000000);
  33.         GPIO_ResetBits(GPIOA,GPIO_Pin_7);
  34.         IWDG_Init(4,625);
  35.         while(1)
  36.         {
  37.                 IWDG_Feed();//先直接仿真观察波形,再注释掉这句再仿真,观察波形变化。
  38.         }
  39. }
复制代码

所有资料51hei提供下载:
13-WDT.7z (242.96 KB, 下载次数: 19)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表