- 위 코드는 standby mode에 들어갈때 입니다.
pin reset을 해주고 난 뒤에 stop mode로 들어갑니다.
- 현재는 GPIO설정한것이 적고 별다른 통신내용이 들어가있지 않지만, 많은 것들이 연결된 상황이라면 통신 UART등도 꺼줘야 합니다.
(모든 인터럽트들을 다 꺼줘야 합니다.)
- 5초를 대기한 뒤에 standby mode에 들어갑니다.
- 그 뒤에 clock 설정을 해주고 standby mode로 진입합니다.
[wakeup]
- standby mode에서는 깨어나기 위한 wakeup 소스는 매우 제한적입니다.
- External Reset, IWDG Reset, WKUP 핀 인터럽트, RTC Event로만 wakeup이 가능합니다.
[standby mode의 특징]
- standby mode는 wakeup을 할때 sleep, stop과 다르게 reset이 됩니다.
(sleep과 stop은 wakeup을 할 경우 기존 위치에서 시작합니다.)
- 그리고 다른 차이점은 SRAM과 레지스터의 내용을 유지하지 못 한다는 것입니다.
(sleep과 stop은 유지를 합니다.)
따라서 standby mode를 사용할 경우에는 외부의 비활성 메모리를 써야 합니다.
standby mode에 들어가기 전에 외부 비활성 메모리에 저장을 해두었다가 wakeup을 할 경우에 다시 정보를 가져오는 작업이 필요합니다.