일반적으로 5V @ 8MHz (Arduino Pro 3.3V 8MHz 프로파일 및 부트 로더 사용)에서 실행되는 사용자 지정 Arduino ATMega328 보드가 있습니다. 이 설정을 사용하는 주된 이유는 주 전원이 연결 해제되고 배터리 전원 (코인 셀에서 3V)이 소진 될 때 보드를 절전 모드로 전환 할 수 있기 때문입니다. 5V 및 3V 소스는 다이오드 OR로 연결되며 5V 입력은 INT0에 연결됩니다. 코드에서 INT0이 낮아졌다는 것을 감지하면 내부 모드를 유지하고 칩이 다시 깨워 졌는지 확인하기 위해 1Hz 사이클을 유지하는 워치 독 타이머를 제외하고 슬립 모드를 초기화하고 모든 전원이 꺼집니다. 이 작품 아름답게 5V 전원이 다음 배터리가 삽입되어, 먼저 적용 할 때 다음5V가 분리되었습니다. 절전 모드로 전환되고 5V가 다시 켜지면 깨어나고 카운트가 손실되지 않은 것을 알 수 있습니다.
그러나 3V를 먼저 적용하면 문제가 발생 합니다. 부팅 중인지 확실하지 않습니다. 그러나해야 할 일은 부팅, INT0 (Digital 2)이 부족한지 확인하고, 그렇다면 잠자기 상태로 전환하십시오. 전류 인출을 보면서 몇 초 동안 최대 몇 mA까지 전원을 공급 한 다음 약 0.3mA로 떨어짐을 알 수 있습니다 (여전히 절전 모드에있는 것보다 높음). 그러나 5V를 다시 적용하면 아무것도 없습니다 . 전원이 다시 공급되지만 FTDI 직렬을 통해 응답하지 않습니다.
3V에서 부팅 할 수없는 것이 누락 되었습니까? 이론적으로는 잘 작동해야합니다.
업데이트 : LED를 D13에 놓고 깜박임 스케치를 시도했습니다. 3V 또는 5V에서 시작할 때 잘 작동합니다. 그러나 펌웨어를 실행하고 3V에서 시작하면 LED가 크게 깜박이기 시작합니다. D13을 코드에 아무것도 설정하지 않았기 때문에 무엇이 원인인지 전혀 모릅니다. 그러나 그것은 부트 로더와 관련이있는 일을합니다.