اطلاعیه

Collapse
No announcement yet.

استفاده از روتین وقفه در ARM های Cortex مثلا در LPC1343 یا LPC 1768

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

    استفاده از روتین وقفه در ARM های Cortex مثلا در LPC1343 یا LPC 1768

    سلام
    در 2368 وقفه مورد نظر رو فعال می کردیم
    یک تابع می نوشتیم
    آدرس تابع رو در رجیستر های VECTADDR می نوشتیم
    با وقوع وقفه به اون تابع پرش میشد
    اما در 1343 و 1768 که Cortex هستند سیستم متفاوته
    1 - کسی بلده چطوری باید روتین وقفه رو معرفی و استفاده کرد ؟
    2 - در 2368 پرش به روتین با کد تولید شده با کیل انجام میشد اما با IAR نه ، احتمالا یک فایلی باید اضافه بشه !!
    .
    دنبال استفاده از روتین های وقفه ی i2c uart ssp spi timer pwm , ..... مثل کدویژن هستم

    #2
    پاسخ : استفاده از روتین وقفه در ARM های Cortex مثلا در LPC1343 یا LPC 1768

    نوشته اصلی توسط davoud.arabee نمایش پست ها
    - کسی بلده چطوری باید روتین وقفه رو معرفی و استفاده کرد ؟
    //************************************************** ********************************//
    LPC_PINCON->PINSEL4|=(1<<20)|(1<<22);
    LPC_GPIOINT->IO2IntEnF |=(1<<10)|(1<<11);
    LPC_SC->EXTMODE|=(1<<0)|(1<<1);
    LPC_SC->EXTPOLAR |=(0<<0)|(0<<1);
    NVIC_EnableIRQ(EINT0_IRQn);Delay(100);
    NVIC_EnableIRQ(EINT1_IRQn);Delay(100)

    //*************************************************//;
    void EINT1_IRQHandler(void)
    LPC_SC->EXTINT = (1<<1)
    void EINT0_IRQHandler(void)
    LPC_SC->EXTINT = (1<<0);

    ! Life doesn't get easier , you just get stronger

    دیدگاه


      #3
      پاسخ : استفاده از روتین وقفه در ARM های Cortex مثلا در LPC1343 یا LPC 1768

      نوشته اصلی توسط Amirlopez نمایش پست ها
      //************************************************** ********************************//
      LPC_PINCON->PINSEL4|=(1<<20)|(1<<22);
      LPC_GPIOINT->IO2IntEnF |=(1<<10)|(1<<11);
      LPC_SC->EXTMODE|=(1<<0)|(1<<1);
      LPC_SC->EXTPOLAR |=(0<<0)|(0<<1);
      NVIC_EnableIRQ(EINT0_IRQn);Delay(100);
      NVIC_EnableIRQ(EINT1_IRQn);Delay(100)

      //*************************************************//;
      void EINT1_IRQHandler(void)
      LPC_SC->EXTINT = (1<<1)
      void EINT0_IRQHandler(void)
      LPC_SC->EXTINT = (1<<0);

      ممنون
      ولی چند تا ایراد
      اول اینکه این توابع تعریف نشده هستند فایل هدرشون تو چیه ؟
      دوم اینکه در iar سوالم هست شاید در کیل نوشتید
      سوم اینکه مثلا نام روتین وقفه ی دریافت یوارت یا i2c چیه ؟
      و مهمتر اینکه وقفه خارجی نه فقط بلکه همه ی وقفه ها
      مثل یوارت spi i2c usb can timer wd pwm , ...................
      جدیدترین ویرایش توسط davoud.arabee; ۲۳:۴۵ ۱۳۹۶/۰۵/۰۷.

      دیدگاه


        #4
        پاسخ : استفاده از روتین وقفه در ARM های Cortex مثلا در LPC1343 یا LPC 1768

        یااااااااااااااااااااااااااااااااااااااااااااففففف ففففففتممممممممممممممممممممممممممممممممممممممممممم مممم

        دیدگاه

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