اطلاعیه

Collapse
No announcement yet.

at 91 sam7x interrupt

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : at 91 sam7x interrupt

    نوشته اصلی توسط ramini
    سلام
    دوستان من میخوام وقفه خارجی رو با لبه بالا رونده فعال کنم اما اطلاعات کافی ندارم لطفا راهنمایی کنید... :smile:
    اگر یه مرجع آموزشی دارید واسه ما تازه کارا هم قرار بدید هرچی گشتم چیزه بدردبخوری پیدا نکردم. اگه مرجع انگلیسی هم دارید که چه بهتر :biggrin:
    در زیر کد مربوط به وقفه (IRQ0 (PA30 رو برات گذاشتم

    برای تابع وقفه این کد رو استفاده کن
    کد:
    void IRQ0_irq_handler(void) __irq 
    {
    	// Place your code
    	
    	
    
    	
    	
    	
    	AT91C_BASE_AIC->AIC_EOICR = 1;
    	AT91C_BASE_AIC->AIC_ICCR = (1 << AT91C_ID_IRQ0); /* Interrupt Ack*/
    	*AT91C_AIC_EOICR = 0; /* End of Interrupt*/
    }
    برای فعال کردن تابع وقفه توی برنامه اصلیت این کد رو استفاده کن
    کد:
    AT91C_BASE_AIC->AIC_SMR[AT91C_ID_IRQ0] = AT91C_AIC_SRCTYPE_POSITIVE_EDGE | 7;
    AT91C_BASE_AIC->AIC_SVR[AT91C_ID_IRQ0] = (unsigned long) IRQ0_irq_handler;
    AT91C_BASE_AIC->AIC_IECR = (1 << AT91C_ID_IRQ0);
    هدر AT91SAM7X256.h رو هم باید اینکلود کنی.
    زندگی یعنی امید و حرکت
    کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
    سوالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
    برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
    به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

    دیدگاه

    لطفا صبر کنید...
    X