137 看门狗

#include "bat32g137.h"
#include "EventRecorder.h"              // Keil.ARM Compiler::Compiler:Event Recorder
#include "stdio.h"
// 看门狗时钟源为15K的 fil
uint32_t i;
int main(void)
{
	SystemCoreClockUpdate();
	EventRecorderInitialize(0,0);
	EventRecorderStart();
	PORT->PM0 &= ~(1<<5); 
	PORT->PMC0 &= ~(1<<5); 
	
	while(1)
	{
		
	}
}


void NMI_Handler(void)
{
	//printf("wdt = %08ld\n",i++);
	
	WDT->WDTE = 0xACU;     /* restart watchdog timer */
	if(PORT->P0 & (1<<5))
	{
		PORT->P0 &= ~(1<<5); 
		EventStartA(0);
	}
	else
	{
		PORT->P0 |= (1<<5); 
		EventStopA(0);
	}
	
}

1.看门狗使用的时钟源为内部的低速时钟15K

2.看门狗中断入口为NMI,这个很特别。

3.注意75% 是开启窗口看门狗功能,如果在溢出时间75% 以内复位看门狗计数器就会造成复位。

100% 随时都可以复位看门狗,可以理解没有窗口看门狗功功能。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值