본문 바로가기

Embedded system/AVR

소프트웨어로 AVR 메모리 초기화 하기


와치독 타이머를 사용하는 방법과 리셋 스위치를 입력하는 방법이 있습니다.

와치독 타이머를 사용하면 진정한 리셋이 이루어 지지만 다음과 같은 간단한 방법으로
프로그램의 시작부로 간단하게 이동하는 방법도 있습니다.

void (*reset)(void) = 0x0000;
와 같이 함수 포인터를 이용해 점프할 위치를 정의하고

if(bit_is_set(PORTA, 0) ){
reset();
}
와 같이 하는 방법과

#asm("jmp 0x0000");
을 이용해서 점프 하는 방법도 있습니다.