سلام بچه ها
بنده IAR رو تازه شروع کردم و مبتدی هستم
یه برنامه نوشتم برای پیاده سازی وقفه خارجی 1
با پروتیوس هم شبیه سازی کردم
میکرو انتخابی هم LPC2103
ولی نتونستم از IAR جواب بگیرم. همین برنامه رو با KEIL نوشتم و تو پروتیوس هم خروجی گرفتم و جواب داد به درستی.
ولی دقیقا همون برنامه رو وقتی با IAR می نویسم نمیتونم خروجی بگیرم. برنامه مثل هم هست فقط INCLUDE میکرو ها با هم تفاوت داره
توی IAR تایمر و UART رو هم راه اندازی کردم ولی مجددا وقفه این ها رو نتونستم پیاده سازی کنم
نمیدونم کجای کار مشکل داره شاید برنامه من ایراد داره (IAR ورژن 7.4)
ببینید صرفا وقفه ها کار نمیکنه و الا قسمت های دیگه مثل GPIO و TIMER و UART کار میکنه.
یه جوری انگار اصلا وارد روال وقفه خارجی یا داخلی نمیشه
بنده برنامه وقفه خارجی شماره 1 رو اینجا میزارم
واسه IAR دقیقا همین کد رو استفاده کردم ولی در اولش این رو #include "iolpc2103.h" جایگزین کردم تا با IAR هماهنگ بشه.
فقط مساله ای که وجود داره اینه که حتما میخوام با IAR جواب بگیرم
لطفا راهنماییم کنید. ممنون
بنده IAR رو تازه شروع کردم و مبتدی هستم
یه برنامه نوشتم برای پیاده سازی وقفه خارجی 1
با پروتیوس هم شبیه سازی کردم
میکرو انتخابی هم LPC2103
ولی نتونستم از IAR جواب بگیرم. همین برنامه رو با KEIL نوشتم و تو پروتیوس هم خروجی گرفتم و جواب داد به درستی.
ولی دقیقا همون برنامه رو وقتی با IAR می نویسم نمیتونم خروجی بگیرم. برنامه مثل هم هست فقط INCLUDE میکرو ها با هم تفاوت داره
توی IAR تایمر و UART رو هم راه اندازی کردم ولی مجددا وقفه این ها رو نتونستم پیاده سازی کنم
نمیدونم کجای کار مشکل داره شاید برنامه من ایراد داره (IAR ورژن 7.4)
ببینید صرفا وقفه ها کار نمیکنه و الا قسمت های دیگه مثل GPIO و TIMER و UART کار میکنه.
یه جوری انگار اصلا وارد روال وقفه خارجی یا داخلی نمیشه
بنده برنامه وقفه خارجی شماره 1 رو اینجا میزارم
کد:
/************************************************************/ /* PROJECT NAME: Vectored Interrupt */ /* Function: */ /* Example configuration of VIC for vectored interrupt */ /* Demonstrates serving the external interrupt as a */ /* vectored interrupt */ /* Oscillator frequency 12.000 Mhz */ /* Target board Keil MCB2100 */ /************************************************************/ #include <LPC2103.H> void EXTINTVectoredIRQ (void)__irq; int main (void) { IODIR = 0x00FF0000; //Set the LED pins as outputs IOSET = 0x00FF0000; //Clear the LED pins PINSEL0 = 0x20000000; //Enable the EXTINT1 interrupt VICVectCntl0 = 0x0000002F; //select a priority slot for a given interrupt VICVectAddr0 = (unsigned)EXTINTVectoredIRQ; //pass the address of the IRQ into the VIC slot VICIntEnable = 0x00008000; //enable interrupt while(1) { ; //Idle } } void EXTINTVectoredIRQ (void) __irq { IOCLR = 0x00FF0000; //Set the LED pins EXTINT = 0x00000002; //Clear the peripheral interrupt flag VICVectAddr = 0x00000000; //Dummy write to signal end of interrupt }
فقط مساله ای که وجود داره اینه که حتما میخوام با IAR جواب بگیرم
لطفا راهنماییم کنید. ممنون
دیدگاه