这是我做的一个实验,实验目的是研究独立看门狗的喂狗feed工作原理。
主要实验是观察程序在有喂狗和没有喂狗的两种情况下的输出,并且分析两者的不同之处
单片机源程序如下:
- #include "stm32f10x.h"
- #include <math.h>
- void Delay(vu32 nCount){//延时
- for(;nCount!=0;nCount--);
- }
- void GP_Init()
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA端口时钟
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //LED0-->PA.7 端口配置
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
- GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA.7
- GPIO_SetBits(GPIOA,GPIO_Pin_7); //PA.7 输出高
- }
- void IWDG_Init(u8 prer,u16 rlr)
- {
- IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
- IWDG_SetPrescaler(prer);
- IWDG_SetReload(rlr);
- IWDG_ReloadCounter();
- IWDG_Enable();
- }
- void IWDG_Feed(void)
- {
- IWDG_ReloadCounter();
- }
- int main(void)
- {
- GP_Init();
- Delay(2000000);
- GPIO_ResetBits(GPIOA,GPIO_Pin_7);
- IWDG_Init(4,625);
- while(1)
- {
- IWDG_Feed();//先直接仿真观察波形,再注释掉这句再仿真,观察波形变化。
- }
- }
复制代码
所有资料51hei提供下载:
13-WDT.7z
(242.96 KB, 下载次数: 20)
|