와치독 타이머를 사용하는 방법과 리셋 스위치를 입력하는 방법이 있습니다.
와치독 타이머를 사용하면 진정한 리셋이 이루어 지지만 다음과 같은 간단한 방법으로
프로그램의 시작부로 간단하게 이동하는 방법도 있습니다.
void (*reset)(void) = 0x0000;
와 같이 함수 포인터를 이용해 점프할 위치를 정의하고
if(bit_is_set(PORTA, 0) ){
reset();
}
와 같이 하는 방법과
#asm("jmp 0x0000");
을 이용해서 점프 하는 방법도 있습니다.
와 같이 하는 방법과
#asm("jmp 0x0000");
을 이용해서 점프 하는 방법도 있습니다.
'Embedded system > AVR' 카테고리의 다른 글
winavr 버전에 따른 문제점 20081205 vs 20090313 (0) | 2010.09.02 |
---|---|
일광절약제(Daylight Saving) (0) | 2010.09.02 |
atmega128의 컴파일러 AVR-GCC의 모든 것 (0) | 2010.03.16 |
the problem of delay (0) | 2009.11.17 |
AVR studio optimization problem (0) | 2009.11.17 |