نوشته اصلی توسط
avr_rva
سلام به همه مهندسین
من با coide یه فلشر نوشتم و میخواستم زمانی که وقفه خارجی فعال میشه led ها به اون صورت که من نوشتم تو یه حلقه بی نهایت ثابت بمونه اما زمانی که وقفه خارجی رو فعال میکنم led ها به یه صورت دیگه ثابت میمونه حتی اومدم و یه نوع فلشر با زمان متفاوت با فلشر خارج از حلقه رو توی حلقه نوشتم ولی باز ledها به همون صورت باقی موند.
این رو بگم که تا زمانی وقفه خارجی رو فعال نکردم کد خارج از وقفه درست کار میکنه که یه فلشر هست که سرعت اون کم وزیاد میشه(ضمنا من این برنامه رو روی برد lpc1768 فروشگاه تست کردم)
این هم کدش
[php]
#include"lpc17xx_gpio.h"
#include"delay.h"
int i,d,a;
d=2;
int main(void)
{
gpio_setdir(2,1<<11,0);
gpio_setdir(2,1<<12,0);
gpio_setdir(2,0x000000ff,1);
gpio_intcmd(2,1<<10,1);
nvic_enableirq(eint3_irqn);
while(1)
{
gpio_clearvalue(2,0x000000ff);
for(i=0;i<10;i++)
{
gpio_setvalue(2,0x0000000f);
if(d==0)
{
d=1;
}
delay_ms(d);
}
gpio_clearvalue(2,0x000000ff);
gpio_setvalue(2,0x000000f0);
delay_ms(10*d);
if(!(gpio_readvalue(2)&1<<11))
{
d++;
delay_ms(50);
}
if(!(gpio_readvalue(2)&1<<12))
{
d--;
delay_ms(50);
}
if(gpio_getintstatus(2,1<<10,1))
{
while(1)
gpio_setvalue(2,0x00000033);
}
}
}
[/php]