這是我做的一個實驗,實驗目的是研究獨立看門狗的喂狗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)
2020-7-1 03:00 上傳
點擊文件名下載附件
實驗代碼 下載積分: 黑幣 -5
|