اطلاعیه

Collapse
No announcement yet.

اینتراپت در lpc1768

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

    اینتراپت در lpc1768

    سلام
    آیا در همه سرویس روتین های وقفه مربوط به lpc1768 می بایست فلگ مربوط به اینتراپت رو دستی پاک کرد؟
    یا مانند AVR پس از اجرای وقفه خودش بشکل سخت افزاری پاک میشه؟
    با تشکر
    مشخصات من در لینک زیر
    http://www.eca.ir/forum2/index.php?topic=1721.msg698645#msg698645

    www.********

    #2
    پاسخ : اینتراپت در lpc1768

    باید خودت پاک کنی
    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

    دیدگاه


      #3
      پاسخ : اینتراپت در lpc1768

      نوشته اصلی توسط Abbas Sarami
      باید خودت پاک کنی
      مطمئنی؟
      آخه برنامه نمونه توی انجمن کاری نکرده و فک کنم توی 1788 خودش پاک میشه
      کد:
      /*-------------------------------------------------------------------------------
      																 www.ECA.ir
      												  LPC1768 Dev Board Rev.A
      --------------------------------------------------------------------------------*/
      #include "lpc17xx.h"
      
      unsigned int j;
      
      void delay(){
      	int i=3000000;
      	while(i--);
      }
      
      void EINT0_IRQHandler(void){
      	LPC_SC->EXTINT = 1;
      	
      	j++;
      	if ( j & 0x01 )	
       {
      	LPC_GPIO2->FIOSET = 0x30;	
      	LPC_GPIO2->FIOCLR = 0xC0;	
       }
       else
       {
      	LPC_GPIO2->FIOSET = 0xC0;
      	LPC_GPIO2->FIOCLR = 0x30;
       }
      
      }
      
      int main(){
      	
      	LPC_PINCON->PINSEL4 = 1<<20;
      	
      	LPC_GPIO2->FIODIR = 0x000000FF;	
       LPC_GPIO2->FIOCLR = 0x000000FF;	
      	
      	LPC_SC->EXTMODE = 1 ;
       LPC_SC->EXTPOLAR = 0 ;
      	
      	NVIC_EnableIRQ(EINT0_IRQn);
      	
      	while(1){
      		LPC_GPIO2->FIOSET0 = 0x0f ;
      		delay();
      		LPC_GPIO2->FIOCLR0 = 0x0f ;
      		delay();
      	}
      }
      البته توی SAM7X باید خودت پاک کنی ولی توی 1768 بعید میدونم چون تو مثال بالا کاری نکرده
      زندگی یعنی امید و حرکت
      کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
      سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
      برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
      به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

      دیدگاه


        #4
        پاسخ : اینتراپت در lpc1768

        باید خودت پاک کنی فقط امکان داره استثنائات باشه مثل uart که باخواندن دیتا خودش پاک میشه

        دیدگاه


          #5
          پاسخ : اینتراپت در lpc1768

          پس چرا توی برنامه ای که بالا هست انتهای تابع اینتراپت هیچی ننوشته؟
          مگه نباید اونجا پاک بشه؟
          زندگی یعنی امید و حرکت
          کارهایتان را آغاز کنید، توانایی انجام دادنش را بدست خواهید آورد
          سؤالاتی که در انجمن قابل طرح شدن هستند در پیام خصوصی جواب داده نمی شود.
          برای تشکر از دکمه تشکر کنار هر پست استفاده کنید، پست هایی که فقط حاوی تشکر هستند پاک می شوند.
          به دلیل کار بر روی پایاننامه و دفاع، مدتی نیستم!

          دیدگاه


            #6
            پاسخ : اینتراپت در lpc1768

            خوب اینم از همون استثنائات هست
            کد:
            LPC_SC->EXTINT = 1;
            لینم نگاه کن
            کد:
            void EINT3_IRQHandler()					
            {
             LPC_SC->EXTINT = 0x00000008;  
            	
             
             LED_Off();             
                        
            }
            void EINT2_IRQHandler()					
            {
             LPC_SC->EXTINT = 0x00000004;  
            	
             
             LED_Off();             
                        
            }
            حتما نباید صفر نوشد بعضی وقت ها با نوشتن یک هم پاک میشه

            دیدگاه


              #7
              پاسخ : اینتراپت در lpc1768

              در ارتباط UART یک پرچم (یک بیت از رجیستر ) توی رجیستر IIR ست میشه وقتی این رجیستر رو بخونی اون پرچم پاک میشه . وقتی پرچم ست هست یعنی وقفه اتفاق افتاده و داده خونده نشده ! پس این رجیستر رو یک بار در روتین وقفه میخونیم تا میکرو بفهمه داده از روی رجیستر بافر برداشته شده و میکرو آماده دریافت داده جدیده .

              دیدگاه

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