ATtiny1616에 있는 와치독 특징을 보겠습니다.
1. 8ms ~ 8s까지 와치독 시간 설정이 가능합니다.
2. 모드는 Normal 모드랑 Window 모드가 있습니다.
다음은 블럭다이어 그램입니다.
클럭은 CLK_WDT로 사용하고 CTRLA로 설정 및 동작 시키는 것을 확인 가능합니다.
다음은 소스코드입니다.
int main(void)
{
uint32_t pre_time;
deviceInit();
_PROTECTED_WRITE(WDT_CTRLA, WDT_PERIOD_1KCLK_gc); // 와치독 Set
sei();
pre_time = millis();
while (1)
{
_PROTECTED_WRITE(WDT_CTRLA, WDT_PERIOD_1KCLK_gc); // 와치독 Clear
appRun();
if(millis() - pre_time >= 500)
{
pre_time = millis();
DEBUG_TOGGLE;
}
}
}
한줄로 와치독 설정과 클리어가 모두 가능합니다.
반응형
'b. 임베디드 > AVR' 카테고리의 다른 글
[ATtiny1616] 소프트웨어 리셋(Reset) 사용하기 (0) | 2022.05.07 |
---|---|
[ATtiny1616] TCA 타이머 사용하기 (0) | 2022.05.03 |
[ATtiny1616] ADC 함수 만들기 (0) | 2022.05.02 |
[ATtiny1616] TCB를 이용한 millis()함수 만들기 (0) | 2022.04.30 |
[ATtiny1616] GPIO 예제 (0) | 2022.04.28 |
[ATtiny1616] 메인 Clock 설정 (0) | 2022.04.27 |
[AVR128DA48] 타이머 TCB0 예제 (0) | 2022.04.06 |
[AVR128DA48] TWI (I2C) 동작 (PCA9685) (0) | 2022.04.05 |