STM32F0304FP6 定时器喂狗
单片机源程序如下:
- #include "IWDG.h"
- void IWDG_Init(void)
- {
- IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
- IWDG_SetPrescaler(IWDG_Prescaler_32);
- IWDG_SetReload(781);
- IWDG_ReloadCounter();
- IWDG_Enable();
- }
复制代码
- //=============================================================================
- //文件名称:main.c
- //功能概要:STM32F030F4核心板 IWDG测试
- //调试方式:J-Link OB ARM SWD ST-Link V2 SWD
- //=============================================================================
- //头文件
- #include "stm32f0xx.h"
- #include "USART1.h"
- #include "delay.h"
- #include "LED.h"
- #include "IWDG.h"
- #include "TIMER.h"
- #include "EXTI.h"
- //=============================================================================
- //文件名称:main
- //功能概要:主函数
- //参数说明:无
- //函数返回:int
- //=============================================================================
- int main(void)
- {
- delay_init();
- LED_Init();
- LED_ON; delay_ms(300); LED_OFF; delay_ms(300);
- LED_ON; delay_ms(300); LED_OFF; delay_ms(300); //开机闪两下确定LED正确
-
- USART1_Init(9600);
- printf("STM32F030F4P6已经开机。\r\n"); //确定串口发送正确
-
- EXTI_PA7_Init();
- TIM3_Init(4999,4799);
-
- IWDG_Init();
- if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
- {
- printf("IWDG复位\r\n");
- RCC_ClearFlag();
- }
-
-
- while(1)
- {
-
- delay_ms(500);
- printf("STM32F030F4P6正在运行。\r\n");
- // IWDG_ReloadCounter(); //去掉注解“喂狗”
-
- }
- }
- /*****END OF FILE****/
复制代码
Keil代码下载:
Keil程序.7z
(204.32 KB, 下载次数: 22)
|