ATtiny1616에서 소프트웨어 적으로 리셋을 사용해보겠습니다.
데이터시트를 찾아보니 Reset 방식이 6개가 존재합니다.
이번에 사용할 기능은 소프트웨어 리셋 (Software Reset)입니다.
사실상 리셋에 관련된 레지스터가 2개뿐이라 사용법은 간단합니다.
RSTFR은 어떤 리셋이 되었는지 확인할 수 있는 Flag형태의 레지스터입니다.
해당 bit는 각 6개 기능에 해당하는 리셋이 발생할 때 발생합니다. 해당 bit가 Set됩니다.
SWRR은 Software reset을 발생시키는 레지스터입니다.
코드는 다음과 같습니다.
static void resetToBoot(void)
{
_PROTECTED_WRITE(RSTCTRL.SWRR, RSTCTRL_SWRE_bm);
}
반응형
'b. 임베디드 > AVR' 카테고리의 다른 글
[ATtiny1616] Watchdog 사용하기 (0) | 2022.05.04 |
---|---|
[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 |