워치독과 저전력 모드
프로그램이 멈추면 스스로 리셋하는 워치독, 배터리 기기를 위한 슬립, 스톱, 스탠바이 모드.
워치독
정해진 시간 안에 "아직 살아 있다"고 신호를 주지 않으면 MCU를 리셋합니다.
| 종류 | 특징 |
|---|---|
| IWDG (독립) | 별도 LSI 클럭, 메인 클럭이 죽어도 동작 |
| WWDG (윈도우) | 너무 늦어도, 너무 빨라도 리셋 |
올바르게 쓰기
- 타이머 인터럽트 안에서 워치독을 갱신하면 메인 루프가 멈춰도 리셋되지 않습니다. 메인 루프나 모든 태스크가 정상임을 확인한 곳에서 갱신합니다.
- RTOS라면 각 태스크가 "살아 있음" 플래그를 세우고, 감시 태스크가 모두 확인했을 때만 갱신합니다.
- 리셋 후
RCC->CSR의 리셋 원인 플래그로 워치독 리셋이었는지 기록합니다.
저전력 모드 (STM32 일반)
| 모드 | 멈추는 것 | 깨우는 방법 | 소비 전류 |
|---|---|---|---|
| Sleep | CPU만 | 아무 인터럽트 | mA |
| Stop | 대부분 클럭 | 외부 인터럽트, RTC | µA |
| Standby | 거의 전부, RAM 소실 | 웨이크업 핀, RTC | 1µA 이하 |
Stop에서 깨어나면 클럭이 HSI로 돌아와 있어서 PLL을 다시 설정해야 합니다. 배터리 수명은 "깨어 있는 시간 × 동작 전류 + 잠든 시간 × 대기 전류"로 계산합니다.
영상으로 이어 보기회로와 하드웨어 시리즈 8편전자제품 속 회로 소자는 어떻게 동작할까? · 저항 · 커패시터 · 인덕터 완벽 정리PROJECT COURSE레지스터 설정을 실제 보드에서 해 보고 싶다면밸런싱 로봇 하나를 요구사항, 회로와 PCB, 펌웨어, 앱까지 실무 순서대로 만드는 강의입니다. 10파트 165강.강의 살펴보기 →FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →