با سلام بر دوستان
من یه برنامه ساده نوشتم که وقتی یه لبه بالارونده در پایه اینتراپت خارجی 2 اتفاق بیفته، PORTB.0 رو به مدت یک ثانیه روش و بعد خاموش کنه. ولی نمیدونم چرا کار نمیکنه. برنامه ای هم که نوشتم اینه:
#include <mega32.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
#include <alcd.h>
void main (void)
{
DDRB=0x1;
MCUCSR=0x40;
MCUCR=0x03;
GICR=0xE0;
#asm("sei"
;
while(1);
}
interrupt [4] void int_2(void)
{
PORTB.0=1;
delay_ms(1000);
PORTB.0=0;
}
خواهش میکنم کمک کنید مشکلم زود حل بشه چون خیلی فوریه .
من یه برنامه ساده نوشتم که وقتی یه لبه بالارونده در پایه اینتراپت خارجی 2 اتفاق بیفته، PORTB.0 رو به مدت یک ثانیه روش و بعد خاموش کنه. ولی نمیدونم چرا کار نمیکنه. برنامه ای هم که نوشتم اینه:
#include <mega32.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
#include <alcd.h>
void main (void)
{
DDRB=0x1;
MCUCSR=0x40;
MCUCR=0x03;
GICR=0xE0;
#asm("sei"

while(1);
}
interrupt [4] void int_2(void)
{
PORTB.0=1;
delay_ms(1000);
PORTB.0=0;
}
خواهش میکنم کمک کنید مشکلم زود حل بشه چون خیلی فوریه .
دیدگاه