سلام یک برنامه نوشتم که میکرو به خاب بره و به وسیله وقفه خارجی صفر بیدار بشه. که پس از وارد شدن به مد خاب از طریق وقفه هارجی صفر بیدار نمیشه و روتین اجرا نمیشه بیدار نمیشه
جساس به سطح 1
کد:
#include <mega8.h>
#include <delay.h>
#include <sleep.h>
#define IN PIND.2
#define OUT PORTD.0
interrupt [EXT_INT0] void ext_int0_isr(void)
{
OUT=1;
delay_ms(1000);
OUT=0;
powerdown();
}
void main(void)
{
PORTD=0x00;
DDRD=0x03;
GICR|=0x40;
MCUCR=0x03;
GIFR=0x40;
#asm("sei")
sleep_enable();
while (1)
{
PORTD.1=~PORTD.1;
delay_ms(100);
PORTD.1=~PORTD.1;
delay_ms(100);
powerdown();
}
}