Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

LPC2104 INTERRUPT SORUNU

Başlatan coderun, 18 Ağustos 2013, 20:37:21

coderun

Arkadaşlar öncelikle forumda tum aramalarıma rağmen sorunuma tam bir cevap bulamadığımdan yeni bir başlık açıyorum. ARM olayına yeni geçtim ve Barış SAMANCI' nın LPC200 kitabından çalışıyorum. Barış SAMANCI nın kitabında kesmeler konusunda IRQ ve FIQ kesmelerine verilen örnekleri çalıştıramadım. işlemcinin user guide pdf lerinide incelememe rağmen proteusta istediğim cevabı alamadım. yapmak istediğim EINT1 kesmesini kullanmam. program bir turlu kesme fonksiyonuna dallanmıyor. Keil herhagi bir hata vermiyor. Barış SAMANCI nın kitabını okuyup bu sorunu halleden arkadaşlardan bir cevap bekliyorum.


STARTUP.S dosyasında bir değişiklik yapmamız gerekiyormu. Yapılacak ise nasıl bir düzenleme.
Yazdığım kod:
#include<LPC21XX.H>
void IRQ_Handler(void)__irq;

int main()
{
	char i=1;
	IODIR0=0X00F00001;   // GIRIS CIKIS AYARLARI P0.14 GIRIS EXTINT KESMESI ICIN
	PINSEL0=0X20000000; // P0.14 EINT1 GIRISI YAPILDI	
	IOCLR0=0X00F00001;

  
	VICVectCntl0=0x0000002F; //EXTINT1 KESMESI KANLA 0 AKTARILDI
              VICVectAddr0=(unsigned)IRQ_Handler; // KESME FONK. ADRESI B
	VICIntEnable=0x00008000; // EXTINT1 KESMESI AKTIF EDILDI
  
	while(1);
	

 	
}
void IRQ_Handler(void)  __irq
{
	IOSET0=0X00F00000;
	EXTINT=0X00000002;
	VICVectAddr=0X00000000;
}


kurumahmut

#1
Bariş Samancının notlarını okumadım. Nette baktım. Keil üzerinde uygulamaları simule ettim demiş kitabıyla ilgili olarak. Sen hangi IDE yi kullanıyorsun. Interruptlar thumb modda çalışmaz startup dosyasında supervisor modda geçme gibi birşeyler olması gerekir. Derleyici ayarları filanda önemli olabilir.

LPC2138 li kitte FreeRTOS çalıştırmıştım. Temel örneklerde interruptlar sıkıntı olmuştu ama en sonunda çalışmıştı :) IDE ne kullanıyorsun birde Keilin 3 veya 4 versiyonu ise projeni upload et bakim bir ara...

MC_Skywalker

Bariş Samancı'nın kitabın daki örnek kodlar konuyu anlatmak için verilmiş kodlardır.  tam çalışır kod değildir.


http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/#lpcio_irq  deki örnekleri inceleyin. 

coderun

#3
Arkadaşlar sorunu birkaç gün önce çözdüm. Buraya cevap yazmayı atlamışım.
şuradaki örnekler çözüm için yardımcı oldu... Herkese kolay gelsin.

https://320volt.com/lpc2103-ornekleri/