ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 8 از 8
  1. #1
    2012/07/21
    834
    26

    غیرفعال شدن وقفه تایمر dsPIC

    دوستان، یه مشکلی دارم که احتمالاً به خاطر تجربه کم منه. میکروکنترلرم حتماً باید ریست بشه تا وقفه تایمرش کار کنه. یعنی وقتی پروگرامر رو درمیارم، و مدار رو روشن می کنم وقفه غیرفعاله. بقیه برنامه درست کار می کنه.
    میکرو dsPIC30F59011، کامپایلر MikroC Pro، فرکانس 20MIPS، کلاً برنامه خاصی نیست، ولی مجبورم تو وقفه تایمر، یه پورت رو صفر و یک کنم و یکم محاسبه انجام بدم. راه اندازی تایمر یک:
    کد:
    //---- Timer1 init: -------
     IPC0  = IPC0 | 0x5000;  // Interrupt priority level = 5
     T1IF_bit = 0;       // Clear T1IF
     T1IE_bit = 1;       // Enable Timer1 interrupts
     PR1 = 500 - 1;      //20.0MHz / 500 = 40.0kHz
     T1CON = 0x8000;      // Timer1 ON, internal clock Freq, prescaler 1:1
    تابع وقفه تایمر یک:
    کد:
    void Timer1Int() iv IVT_ADDR_T1INTERRUPT {
     T1IF_bit = 0;       // Clear T1IF
     R_20kHz=!R_20kHz;     // Invert 'R'
     // do a little calculation
    }
    هان، POR به قدر 64ms فعاله. غیرفعالش هم که کردم درست نشد. دیگه اینکه، تغذیه سریع میاد بالا و MCLR با خازن 470n و مقاومت 1K ولتاژ دار شده. همینا دیگه. هر چی جُستم نتونستم درستش کنم. اولویت ها رو هم دست کاری کردم، نشد.
    لازمه بگم، وقتایی که دستی ریستش می کنم همه چی ردیفه ها. ولی اوقاتی که خودش می خواد شروع به کار کنه وقفه ش کار نمی کنه.
    خوب، حالا چی از قلم افتاده که وقفه غیر فعال میشه؟!
    بیایید با Google آشتی کنیم!
  2. #2
    2006/08/16
    867
    17

    پاسخ : غیرفعال شدن وقفه تایمر dsPIC

    فکر کنم مشکل ریست داری. nMCLR خازنشو نزار تست کن. توی main هم یه پین دیگه رو تاگل کن تا مطمئن شی میکرو داره کار میکنه.

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  3. #3
    2012/07/21
    834
    26

    پاسخ : غیرفعال شدن وقفه تایمر dsPIC

    نقل قول نوشته اصلی توسط محمد رستمی
    ...
    وقفه غیرفعاله. بقیه برنامه درست کار می کنه.
    ...
    عرض کردم که بقیه برنامه (یا به قول شما، برنامه main) درست کار می کنه.
    POR رو هم همه جوره دستکاری کردم فایده ای نداشت. درباره مشکلِ ریست یکم بیشتر توضیح بدید لطفاً. چون کلاً باید MCLR خازن داشته باشه که ییهو میکرو وسط کار ریست نشه.
    بیایید با Google آشتی کنیم!
  4. #4
    2006/08/16
    867
    17

    پاسخ : غیرفعال شدن وقفه تایمر dsPIC

    من با 30F کار نکردم ولی خوندم که خازن ممکنه بعضاً مشکل ایجاد کنه. 470 نانو هم کمی زیاده.
    من خبره نیستم فقط گفتم شاید مشکل این باشه. در کل یه تست بکن ضرری نداره که! :smile:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  5. #5
    2012/07/21
    834
    26

    پاسخ : غیرفعال شدن وقفه تایمر dsPIC

    نقل قول نوشته اصلی توسط freedom_truth
    من با 30F کار نکردم ولی خوندم که خازن ممکنه بعضاً مشکل ایجاد کنه. 470 نانو هم کمی زیاده.
    من خبره نیستم فقط گفتم شاید مشکل این باشه. در کل یه تست بکن ضرری نداره که! :smile:
    باشه. آقا دستت درد نکنه. هفته دیگه برم پیش صاحابش، خازن رو کمتر می کنم ببینم چی میشه.
    تو یه فروم دیدم یه بابایی همچین مشکلی براش پیش اومده بود، گفت میکرو رو عوض کرده درست شده. آخه حیفه عوضش کنم، میکروش داره کار می کنه :biggrin:
    بیایید با Google آشتی کنیم!
  6. #6
    2012/07/21
    834
    26

    پاسخ : غیرفعال شدن وقفه تایمر dsPIC

    دوستان، کسی چیزی در این باره نمی دونه؟!

    --------
    مشکل به صورت نرم افزاری حـل شد
    بیایید با Google آشتی کنیم!
  7. #7
    2007/11/22
    تبریز
    2,483
    492

    پاسخ : غيرفعال شدن وقفه تايمر dsPIC

    نقل قول نوشته اصلی توسط محمد رستمي
    دوستان، کسي چيزي در اين باره نمي دونه؟!

    --------
    مشکل به صورت نرم افزاري حـل شد
    سلام.
    ببخشيد يه مدت نبودم.
    ممکنه توضيح بيشتري بفرمايين تا ما هم استفاده کنيم؟ چطوري حل شد؟

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

  8. #8
    2012/07/21
    834
    26

    پاسخ : غيرفعال شدن وقفه تايمر dsPIC

    نقل قول نوشته اصلی توسط شاهرخ مستقيمي
    سلام.
    ببخشيد يه مدت نبودم.
    ممکنه توضيح بيشتري بفرمايين تا ما هم استفاده کنيم؟ چطوري حل شد؟
    دوستان استقبال نکردند، منم گفتم مزاحم وقت اساتید نشم!
    بعد از بالا اومدن تغذیه، وقفه ها [به دلیلِ نامعلوم] غیرفعال میشه. تو یه سایت خارجی نوشته بود مشکل با تعویض میکرو حل میشه. ولی از یه مهندس خبره پرسیدم، گفت که این مشکل چند بار براش پیش اومده و دلیلش رو نمی دونست. اما راه حلش رو گفت؛
    با راه اندازی Watchdog و پاک کردنش توی روتین وقفه تایمر، اگه وقفه ها غیر فعال باشند یه بار Watchdog سرریز میشه (بعد از یه زمانِ چند ده میلی ثانیه ای) و میکرو ریست میشه، بعد از اون دیگه همه وقفه ها فعال هستند و کار به خوبی و خوشی از سر گرفته میشه و دیگه مشکلی از این بابت وجود نخواهد داشت. جریمۀ این کار هم فقط چند ده میلی ثانیه تأخیر اولین ریست میکروئه.
    بیایید با Google آشتی کنیم!
نمایش نتایج: از 1 به 8 از 8

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

  1. تداخل وقفه سریال با وقفه تایمر در بیسکام
    توسط حامد رحیمی در انجمن میکروکنترلرهای AVR
    پاسخ: 11
    آخرين نوشته: 2015/03/25, 19:41
  2. تایمر و وقفه
    توسط s.tj در انجمن ATMEL
    پاسخ: 4
    آخرين نوشته: 2014/10/03, 21:32
  3. میکرو کنترلر dspic و کامپایلر mikrobasic for dspic
    توسط POLIZEI در انجمن دانلود نرم افزارهای برق و الکترونیک
    پاسخ: 0
    آخرين نوشته: 2013/07/30, 04:37
  4. راهاندازی وقفه تایمر 0
    توسط mohsen.hex در انجمن ATMEL
    پاسخ: 6
    آخرين نوشته: 2011/09/14, 11:08
  5. تعريف وقفه در mikroc-dspic
    توسط pooya1360 در انجمن میکروکنترلرهای PIC
    پاسخ: 2
    آخرين نوشته: 2008/05/30, 10:57

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

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

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