NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2698 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 9 از 9

موضوع: مشکل با وقفه تایمر 0 / lpc1788

  1. #1
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2013
    نام
    م.مقصودی
    نوشته ها
    45
    تشکر
    108
    تشکر شده 35 بار در 13 پست

    پیش فرض مشکل با وقفه تایمر 0 / lpc1788

    سلام
    تو یه برنامه که نوشتم وقتی میخوام وقفه تایمر 0 رو فعال کنم میکرو به دستور فعال کردن وقفه تایمر 0 ( NVIC_EnableIRQ(TIMER0_IRQn)که میرسه انگار هنگ کرده و دیگه کاری انجام نمیده / برنامه رو این خط وای میسته /
    کد:
    void timer0_capture_init()
    {
    LPC_TIM0->TCR = TCR_RESET; /* Counter Reset */
    LPC_TIM0->PR = 0x00; /* count frequency:Fpclk Fpclk = 25M Hz = Fcpu/4 */

    LPC_TIM0->CCR = (1<<3)|(1<<5) ;

    LPC_TIM0->TCR = TCR_CNT_EN; /* counter enable */

    LPC_IOCON->P1_27=3;// P1_27 >>> CAP0.1

    NVIC_EnableIRQ(TIMER0_IRQn);
    //VICIntEnable = 0x00000010;
    }

    لطفا راهنمایی بفرمایید مشکل چی هست؟
    کامپایلر هم keil هست هم با ورژن 5 و هم 4 تست کردم /
    نشد که نشد
    ویرایش توسط mohamad0 : 01-11-2016 در ساعت 12:05

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    سلام
    احتمالا به محض فعال کردن اینتراپت، وارد تابع اینتراپت میشه که اگه تابع رو ننوشته باشی میکرو هنگ میکنه یا اگه فلگش رو توی تابع اینتراپت پاک نکنی از اون تابع بیرون نمیاد.

  4. کاربران : 2 تشکر کرده اند از شما mstkmn برای ارسال این پست سودمند:


  5. #3
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2013
    نام
    م.مقصودی
    نوشته ها
    45
    تشکر
    108
    تشکر شده 35 بار در 13 پست

    پیش فرض

    #include "LPC177x_8x.h"

    unsigned int counter;
    void timer_counter_init(void);
    //void TIMER1_IRQHandeler(void);
    //void TIMER0_IRQHandeler(void);


    void timer_counter_init(void)
    {
    LPC_SC->PCONP|=3;// timer0,1 =on
    LPC_TIM1->CTCR=0;// timer mod
    LPC_TIM1->PR=120;
    LPC_TIM1->MR0=1000;
    LPC_TIM1->TCR=2;
    LPC_TIM1->MCR=3;

    //NVIC_SetPriority(TIMER1_IRQn,0);
    NVIC_EnableIRQ(TIMER1_IRQn);
    LPC_TIM1->TCR=1;//start timer1
    //---------- counter init --------------------------------------
    LPC_TIM0->CTCR=0x05; // counter mod - rising edge on cap0.1
    LPC_TIM0->PR=0;
    LPC_TIM0->MR0=65000;
    LPC_TIM0->TCR=2;
    LPC_TIM0->MCR=3;
    // NVIC_SetPriority(TIMER0_IRQn,0);
    // NVIC_EnableIRQ(TIMER0_IRQn);
    LPC_TIM0->TCR=1;//start counter0

    LPC_IOCON->P1_27=3;//counter_pulse p1.27
    }

    //************************************************** ****
    void TIMER1_IRQHandeler(void)
    {
    unsigned int regVal;

    regVal = LPC_PWM1->IR;
    counter=LPC_TIM1->TC;
    LPC_TIM1->TC=0;

    //LPC_TIM1->IR=(1UL<<0);
    LPC_PWM1->IR |= regVal; /* clear interrupt flag on match 0 */
    return;
    }
    //************************************************** ****
    void TIMER0_IRQHandeler(void)
    {
    LPC_TIM1->TC=0;


    LPC_TIM0->IR=(1UL<<0);
    }
    تنظیمات بشکل بالا هست /
    نمیدونم که ایراد از کجا هست .
    وقتی وقفه رو (چه تایمر و چه کانتر0 و 1 فعال میکنم اصلا تو روتین وقفه نمیره . (انگار هنگ کرده )
    امتحان کردم .وقتی وقفه اتفاق می افته احتمالا برنامه به یه جای نا معلوم پرش میکنه و دیگه بر نمیگرده .
    تو فیلما مهندس زرکوب هم همینجور نوشته .
    لطفا راهنمایی کنید .

    - - - Updated - - -

    نقل قول نوشته اصلی توسط mstkmn نمایش پست ها
    سلام
    احتمالا به محض فعال کردن اینتراپت، وارد تابع اینتراپت میشه که اگه تابع رو ننوشته باشی میکرو هنگ میکنه یا اگه فلگش رو توی تابع اینتراپت پاک نکنی از اون تابع بیرون نمیاد.
    سلام
    ممنون بابت پاسخ گویی تون
    تابع رو نوشتم و فلگ وقفه رو هم پاک میکنم .
    اصلا وارد زیر برنامه وقفه نمیشه . (امتحان کردم )
    ویرایش توسط mohamad0 : 01-11-2016 در ساعت 12:23

  6. #4

  7. تشکرها از این نوشته :


  8. #5
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2013
    نام
    م.مقصودی
    نوشته ها
    45
    تشکر
    108
    تشکر شده 35 بار در 13 پست

    پیش فرض

    سلام
    مهندس جان دستور خاصی داره ؟
    یا باید یکی کی این کارو کنم ؟
    (با دستورات cmsis ) هم همین مشکل هست
    ممنون

  9. #6
    عضو جدید
    تاریخ عضویت
    Dec 2015
    نوشته ها
    10
    تشکر
    7
    تشکر شده 1 بار در 1 پست

    پیش فرض

    به نظرم برنامت شروع میشه اجرا بعد میاد تنظیمات اولیه رو انجام میده تایمر 1 شروع میشه هنوز داری تنظیمات اولیه انجام میده بعد میپری میره تابع وقفه اونجا هم که وقفه پاک نمیشه اونجا گیر میکنه. اول همه تنظیمات و انجام بده بعد تنظیمات وقفه بعد تایمر 1 رو فعال کن. یکم به نظرم بهره ( خودم با ای وی آر همچین مشکلی داشتم) اما تو آرم با cmsis همچی هلو برو تو گلو شده

  10. تشکرها از این نوشته :


  11. #7
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2013
    نام
    م.مقصودی
    نوشته ها
    45
    تشکر
    108
    تشکر شده 35 بار در 13 پست

    پیش فرض

    سلام
    ببینید برنامه اصلی شروع میشه / به مخض اینکه اولین وقفه تایمر اتفاق افتاد برنامه به جای نا معلومی میره و بر نمیگرده.
    ممنون بابت پاسخگویی تون

  12. #8
    کاربر فعال
    تاریخ عضویت
    Feb 2012
    نام
    مصطفی
    نوشته ها
    273
    تشکر
    195
    تشکر شده 128 بار در 93 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mohamad0 نمایش پست ها
    سلام
    ببینید برنامه اصلی شروع میشه / به مخض اینکه اولین وقفه تایمر اتفاق افتاد برنامه به جای نا معلومی میره و بر نمیگرده.
    ممنون بابت پاسخگویی تون
    سلام
    احتمالا اسم تابع اینتراپت رو اشتباه نوشتید.
    توی دیباگر نگاه کن ببین تابع اینتراپت فعاله یا نه مثلا ببین میشه روی یکی از دستوراش breakpoint گذاشت یانه.

  13. کاربران : 2 تشکر کرده اند از شما mstkmn برای ارسال این پست سودمند:


  14. #9
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2013
    نام
    م.مقصودی
    نوشته ها
    45
    تشکر
    108
    تشکر شده 35 بار در 13 پست

    پیش فرض

    سلام
    مشکل حل شد .
    Handler را به اشتباهHandeler نوشته بودم .





    دوستان بابت راهنمایی تون متشکرم .
    موفق باشید
    یا علی

  15. تشکرها از این نوشته :


موضوعات مشابه

  1. [سوال] Lpc1788 adc
    توسط fazel459 در انجمن LPC series (NXP)
    پاسخ: 60
    آخرين نوشته: 24-11-2019, 13:48
  2. پاسخ: 2
    آخرين نوشته: 06-05-2015, 15:03
  3. [سوال] مشکل در کامپایل lpc1788
    توسط cmose در انجمن LPC series (NXP)
    پاسخ: 1
    آخرين نوشته: 06-09-2014, 13:15
  4. [سوال] مشکل در lpc1788
    توسط cmose در انجمن LPC series (NXP)
    پاسخ: 0
    آخرين نوشته: 26-08-2014, 23:14
  5. مثال برای هدر برد lpc1788
    توسط jalil_211 در انجمن LPC series (NXP)
    پاسخ: 2
    آخرين نوشته: 30-12-2013, 19:10

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •