편집 :이 질문은 잘못되었습니다. stm325105에는 웨이크 업 핀이 하나만 있습니다. 그러나 다른 ST- 파트에는 하나 이상의 웨이크 업 핀이 있으므로 주어진 답변이 유효합니다.
웨이크 업 입력에 연결된 두 개의 순간 버튼이있는 stm32f105가 있습니다. 프로세서가 대기 모드로 설정됩니다. 버튼을 누르거나 RTC 타이머가 작동하면 CPU가 작동합니다.
문제는 어떤 웨이크 업 입력이 트리거되었는지에 따라 CPU가 다른 작업을 수행하기를 원한다는 것입니다. 에 따르면 5.3.5 에서 ST stm32f105xx 참조 설명서 , 더 레지스터는 우리가 깨어했습니다 있음을 나타내는 상태 레지스터를 제외하고 보존되지 않습니다 (하지만 사람에 의해), 42 개 백업 레지스터.
대기 모드를 사용하면 전력 소비를 최소화 할 수 있습니다. 전압 조정기가 비활성화 된 Cortex ® -M3 딥 슬립 모드를 기반으로합니다. 1.8V 도메인의 전원이 꺼졌습니다. PLL, HSI 오실레이터 및 HSE 오실레이터도 꺼집니다. 백업 도메인 및 대기 회로의 레지스터를 제외하고 SRAM 및 레지스터 내용이 손실됩니다.
대기 모드에서 깨어 난 후 리셋 (부팅 핀 샘플링, 벡터 리셋 페치 등)과 같은 방식으로 프로그램 실행이 다시 시작됩니다. 전원 제어 / 상태 레지스터 (PWR_CSR)의 SBF 상태 플래그는 MCU가 대기 모드에 있음을 나타냅니다.
이 ST 포럼 게시물, 대기 모드에서 Wakeup의 출처를 확인하는 방법은 무엇입니까? , 소프트웨어에서 트리거 된 웨이크 업을 감지 할 수 없음을 나타냅니다. 더 많은 깨달음을주는 다른 게시물을 찾지 못했습니다.
깨어 난 후 어떤 웨이크 업 입력이 트리거되었는지 결정하기 위해 소프트웨어 또는 하드웨어를 어떻게 사용할 수 있습니까?