[stm32] standby mode 사용

이채윤·2022년 5월 12일
0

임베디드

목록 보기
30/70

  • 위 코드는 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을 할 경우에 다시 정보를 가져오는 작업이 필요합니다.

0개의 댓글