[an error occurred while processing this directive]
|
Вот такой цикл:
E-mail:
info@telesys.ru
do
{
PowerDown();
//Enable internal ADC
ADMUX = 0xE0;
ADCSRA = 0x87;
TestOn;
BataryVolume = StartADC();
// _WDR();
TestOFF;
ADMUX = 0x00;
}
while(BataryVolume
Так вот, если нажать и удерживать кнопку на INT0(при BataryVolume
{
WDTCR = 0x00;
PORTA = 0x00;
PORTB = 0x00;
PORTC = 0x00;
PORTD = B(0,0,0,0,0,0,0,0);
DDRA = B(0,0,0,0,0,0,1,0);
DDRB = B(0,0,0,0,0,0,0,0);
DDRC = B(0,0,0,0,0,0,0,0);
DDRD = B(0,0,0,1,0,0,0,0);
MCUCR = 0x20; //Power-down
ClrBit(GIFR,INTF0);
SetBit(GICR,INT0);
_SEI();
SetBit(MCUCR,SE);
_SLEEP();
_CLI();
ClrBit(GICR,INT0);
ClrBit(GIFR,INTF0);
ClrBit(MCUCR,SE);
while(!(PIND & (1<
}
Кто-нить может объяснить, почему эта хрень не может пахать при постоянном удержании кнопки?
Ответы