اطلاعیه

Collapse
No announcement yet.

مشکل با راه اندازی تایمر 0 lpc2368

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

    مشکل با راه اندازی تایمر 0 lpc2368

    سلام دوستان
    من یک برنامه برای تایمر صفر نوشتم(lpc2368) اما کار نمی کنه ممنون می شوم اگه کمک کنید
    در ضمن کامپایلرم keil4.13a
    سخت افزار هم هدر برد eca
    :cry:

    کد:
    
    #include "LPC23xx.H"
    // #include <LPC23xx.h>
     
    
    
     void delay (void)
     {
     long int i;
     for(i=0;i<3000000;i++);
     
     }
    
    
    //char position=0;
    
    void FIQ_Handler(void) __irq
    {
    
       FIO0SET=0xffffffff;
    	 delay ();
    	 FIO0CLR=0xffffffff;
    	 delay ();
    	 FIO0SET=0xffffffff;
    	 delay ();
    	 FIO0CLR=0xffffffff;
    	 delay ();
    	 FIO0SET=0xffffffff;
      
    //	 FIO0SET0=0xff;	//ÓÊ ˜ÑÏä 8 ÈíÊ ÈÇáÇíí Çíä æÑÊ
    	  FIO0SETU=0xfFFf;	//ÓÊ ˜ÑÏä 16 ÈíÊ ÈÇáÇÇíä æÑÊ
    //		FIO0SET=0xffffffff;
    		delay();
    		FIO0CLR=0xffffffff;
      		delay();
    		 FIO0SET=0xffffffff;	//ÓÊ ˜ÑÏä 8 ÈíÊ ÈÇáÇíí Çíä æÑÊ
    	  FIO0SETU=0xfFFf;	//ÓÊ ˜ÑÏä 16 ÈíÊ ÈÇáÇÇíä æÑÊ
    //		FIO0SET=0xffffffff;
    		delay();
    		FIO0CLR=0xffffffff;
      		delay();
    
    	 T0IR=0x00000001;	 //acknowledge
    	 VICVectAddr=0x00000000;	 //acknowledge
      
    }
    
    int main()
    {
    	T0TCR=0x02;
    	T0PR=0x01;
    	T0MR0=6000000;//0x01E84800; //32000000
    	T0MCR=0x03;	 //enable interrupt on MR0 and reset timer0 when MR0=TC
    	T0TCR=0x01;
    	//VICVectAddr4=(unsigned long)timer0_isr;
    	VICIntSelect=0x00000010;	//set timer0 to FIQ interrupt mode
    	VICIntEnable=0x00000010;
    	SCS |=0x00000001;
    //	FIO0MASK=0x00000000;
    	FIO0DIR=0xFFFFFFFF;
    //	FIO0CLR=0x00000000;
    	
    	while(1);
    }

    #2
    پاسخ : مشکل با راه اندازی تایمر 0 lpc2368

    سلام کاربر گرامی
    بنده نیز در راه ندازی اینتراپت با تایمر مشکل داشتم البته تایمرم کار می کرد ولی اینتراپت فعال نمی شد
    البته من الآن برنامه ی شما را نمی دونم درسته یا نه چون رجیسترها یادم نیست ولی اگر درست نوشی و تایمر مربوطه را روشن کردی و بازم کار نمی کنه باید کارهای دیگری نیز انجام بدی
    من پست شما را کملا اتفاقی دیدم صبح روز یکشنبه می تونم جوابتو بدم فقط برای یادآوری یه ایمیل به آدرس
    m.hoseyni_110@yahoo.com
    بزنید تا جواب را در سایت بگذارم
    دکتر چمران در 1311 در تهران متولد شد
    وي در زمان اقامت در آمريکا انجمن اسلامي آمريکا را تأسيس کرد که منجر به قطع بورسيه وي توسط شاه شد.
    او با اينکه يکي از دانشمندان مطرح آمريکا به حساب مي آمد بدون توجه به مدرک به مصر رفت و آموزش نظامي ديد.

    دیدگاه


      #3
      پاسخ : مشکل با راه اندازی تایمر 0 lpc2368

      سلام دوست عزیز
      علتش اینه که در بالای برنامه از وقفه مدل IRQ استفاده کردی ولی برای فعال کردن منبع وقفه رفتی حالت FIQ رو انتخاب کردی یعنی به زبان راحت تر باید VICintselect رو برابر 0 قرار بدی چرا که بیت های متناظر با منابع وقفه اگر 0 باشند در حالت IRQ خواهند بود ولی اگر 1 باشند در حالت FIQ خواهند بود.پس =>
      Vicintselect=0x00000000

      دیدگاه

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