سلام بچه ها
بنده 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 جواب بگیرم
لطفا راهنماییم کنید. ممنون


دیدگاه