اطلاعیه

Collapse
No announcement yet.

مشکل با وقفه سخت افزاری

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

    مشکل با وقفه سخت افزاری

    دوستان سلام.
    سوالی دارم در خصوص وقفه سخت افزاری، من وقفه رو حساس به سطح فعال میکنم به صورت زیر:
    کد:
      PORT_ConfigurePins(&PORTC,
                REC_bm,
                true,
                false,
                PORT_OPC_PULLUP_gc,
                PORT_ISC_LEVEL_gc);
      PORT_SetPinAsInput(&PORTC,0);
      delay_us(1000);
      PORT_ConfigureInterrupt0(&PORTC,PORT_INT0LVL_MED_gc,REC_bm);
    بعد زمانی که وقفه فعال شد در خود وقفه با دستور زیر وقفه رو غیر فعال میکنم:
    کد:
      PORT_ConfigureInterrupt0(&PORTC,PORT_INT0LVL_OFF_gc,REC_bm);
      PORT_ConfigurePins(&PORTC,
                REC_bm,
                true,
                false,
                PORT_OPC_PULLUP_gc,
                PORT_ISC_LEVEL_gc);
      PORT_SetPinAsInput(&PORTC,0);
    الان مشکلم اینه که آیا این روش کار صحیح هست؟ حقیقت من به نظرم میاد این روش به درستی کار نمیکنه.
    کسی از دوستان نظری، پیشنهادی داره؟
    شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
    هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
    چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

    #2
    پاسخ : مشکل با وقفه سخت افزاری

    آیا عملا امتحان کرده اید که جواب نمی دهد؟ اگر در عمل مشکلی وجود دارد، پیشنهاد می شود در روتین وقفه و بعد از غیر فعال کردن وقفه، روی flag تولید کننده وقفه هم یک بنویسید.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه

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