답변:
데이터 시트를 파고 들자 이것을 찾았습니다.
14.2.6 연결되지 않은 핀
일부 핀을 사용하지 않는 경우 이러한 핀의 레벨이 정의되어 있는지 확인하는 것이 좋습니다. 위에서 설명한대로 대부분의 디지털 입력이 딥 슬립 모드에서 비활성화되어 있지만 디지털 입력이 활성화 된 다른 모든 모드 (재설정, 활성 모드 및 유휴 모드)에서 전류 소비를 줄이려면 플로팅 입력을 피해야합니다.
사용되지 않는 핀의 정의 된 레벨을 보장하는 가장 간단한 방법은 내부 풀업을 활성화하는 것입니다. 이 경우 재설정 중에 풀업이 비활성화됩니다. 재설정 중 낮은 전력 소비가 중요한 경우 외부 풀업 또는 풀다운을 사용하는 것이 좋습니다. 사용하지 않는 핀을 VCC 또는 GND에 직접 연결하는 것은 권장하지 않습니다. 실수로 핀이 출력으로 구성된 경우 과도한 전류가 발생할 수 있습니다.
의견 / 질문과 관련하여 업데이트 :
표 14-1에 따르면 풀업 저항은 다음 조건이 충족 될 때만 활성화됩니다.
풀업 저항을 통해 상당한 전류가 흐르게하는 유일한 방법은 풀업이 활성화 된 상태에서 핀의 레벨이 낮은 경우입니다. 이것은 Atmel이 심하게 엉망이되거나 (풀지 않게) 풀업이 활성화 된 상태에서 핀이 입력으로 구성되었고 핀이 어떻게 든 접지에 연결되어 있음을 의미합니다.
이 섹션 14.2.5에서는 디지털 입력 활성화 및 절전 모드에 대해 설명합니다. 요약하자면, 핀이 외부 인터럽트로 구성되지 않은 경우 디지털 입력은 슈미트 트리거의 입력에서 접지에 고정되어 슬립 모드에있는 동안 플로팅 레벨을 방지합니다. 휴면 모드에서 디지털 출력이 비활성화되어 있는지 알 수 없습니다. figure에 따라 비활성화 된 것처럼 보이지 14-2는 않지만 너무 놀랐지는 않습니다. 가장 좋은 방법은 내부 또는 외부 풀업 저항을 사용하는 것입니다.
나는 1) 갈 것이다 : 내부 풀업으로 입력; 외부 부품이 필요하지 않습니다. FMEA 5)에서는 더 나은 요금을 지불 할 수 있지만 내부 풀업을 사용하는 것을 잊어 버린 위험을 얼마나 높게 평가 하느냐에 따라 다릅니다. 소프트웨어 설계 전문가 검토를 통해 보험에 가입해야합니다.
핀은 대개 큰 차이를 만들지 않습니다. 각 핀에는 특정 기능이 있습니다. 핀 기능을 비활성화하십시오.
volatile uint8_t timer2sum; // see interrupt handler
void Initialize()
{
// configure pin for output
DDR_LED |= LED;
// set Power Reduction Register
PRR = (1<<PRTWI) // turn off TWI
| (1<<PRTIM0) // turn off Timer/Counter0
| (1<<PRTIM1) // turn off Timer/Counter1 (leave Timer/Counter2 on)
| (1<<PRSPI) // turn off SPI
| (1<<PRUSART0) // turn off USART (will turn on again when reset)
| (1<<PRADC); // turn off ADC
// select POWER SAVE mode for sleeping, which allows Timer/Counter2 to wake us up
set_sleep_mode(SLEEP_MODE_PWR_SAVE);
// configure Timer/Counter2 to wake us up as infrequently as possible
TCCR2B |= (1<<CS22) | (1<<CS21) | (1<<CS20); // clock at 14400 Hz
TIMSK2 |= (1<<TOIE2); // interrupt on overflow, 56.25 Hz
timer2sum = 0; // see interrupt handler
sei(); // enable interrupts
}
동일한 칩을 사용하는 http://www.nerdkits.com/library/lowpowerexample/ 에서 가져온 것입니다 .