본문 바로가기

WATCHDOG

(2)
[MSP430] WATCHDOG 사용하기 [MSP430] WATCHDOG 사용하기 MSP430에서 Watchdog 사용하기위해 WDTCTL레지스터를 설정하면된다. 디폴트로 와치독은 동작하도록 되어 있고 내 코드에서는 SystemInit() 함수에서 와치독 사용하지 않도록 설정하고 있다. void SystemInit(void) { int result,i; WDTCTL = WDTPW +WDTHOLD; // Stop Watchdog Timer WDTCTL레지스터를 제어하기 위해서는 Passwoard를 상위 레지스터가 기입해야 하는데 0x69를 입력하면 된다. 아래는 WDTCTL레지스터 이다. 와치독 사용하기 위해서는 WDTHOLD, WDTTMSEL 비트를 0으로 설정하면된다. 와치독 타이머 초기화는 WDTCNTL비트를 셋하면 초기화되어 와치독 리셋을..
AVR 와치독(Watchdog) 타이머 사용하기 AVR 와치독(Watchdog) 타이머 사용하기 MCU가 예외 상황으로 멈춰 있을때 리셋을 걸어 주어야 하는데.. 이때 Watchdog를 사용할 수 있다. 초기화는 WDTCR레지스터의 비트3을 설정해주면 와치독 타이머가 동작한다. 이때 주의 사항은 MCUSR레지스터의 WDRF비트를 0으로 설정해 주어야 한다. 와치독 타이머가 동작하면 설정한 주기 이내로 레지스터 값을 클리어 해 주어야 하는데 #asm("WDR") 로 가능하다. WIN AVR을 이용하면 wdt.h에 기본 함수가 정의 되어 있어 간단히 사용할 수 있다. AVR Watchdoc 타이머 사용 예제 소스코드 #include #define WDTO_15MS 0 #define WDTO_30MS 1 #define WDTO_60MS 2 #define W..