اطلاعیه

Collapse
No announcement yet.

وقفه gpio , کلید ؟؟

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

    وقفه gpio , کلید ؟؟

    سلام
    من وقفه gpio رو با کلید راه انداختم.
    ولی بانس کلید مشکل سازه . من وقفه رو تو لبه بالا رونده فعال کردم. ولی وقتی کلید رو فشار میدم (÷ایه متصل به کلید pull up شده ) وارد زیر روال وقفه میشه . که مشکل از bounce .
    نرم افزاری نتونستم کاری کنم !!
    آیا به صورت نرم افزاری راهی هست ؟؟؟
    إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
    کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

    #2
    پاسخ : وقفه gpio , کلید ؟؟

    راهش اضافه کردن یه تاخیر در زیر روال وقفه است.
    آیا جهالت نیست که آدمی ساعات شیرین امروز را فدای روزهای آینده کند؟

    دیدگاه


      #3
      پاسخ : وقفه gpio , کلید ؟؟

      مهندس ماجرا اینجا با قراءت به روش polling فرق داره.
      اینجا وقفه که بخوره دیگه خورده. این تاخیری که شما میفرمایید فقط باعث تاخیر در اجرای زیر روال میشه .
      در حالی که من میخوام وقتی کلید فشرده شد اصلا وقفه نخوره !
      إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
      کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

      دیدگاه


        #4
        پاسخ : وقفه gpio , کلید ؟؟

        اگر پایه GPIO رو pull up کردین، وقفه رو حساس کنید به لبه پایین رونده و نتیجه رو ببینید چقدر فرق خواهد کرد :smile:
        هر انسانی که احساس بی نیازی کند سرکش و طغیان گر می شود...

        دیدگاه


          #5
          پاسخ : وقفه gpio , کلید ؟؟

          باید موقع رها شدن کلید وقفه بخوره .
          pull up هم سخت افزاریه و کاری از دست من بر نمیاد. اصلا حق دست زدن به سخت افزار رو ندارم. وگر نه یه خازن باهاش موازی میکردم. حل میشد .

          نوشته اصلی توسط حمید لطفعلی زاده
          اگر پایه GPIO رو pull up کردین، وقفه رو حساس کنید به لبه پایین رونده و نتیجه رو ببینید چقدر فرق خواهد کرد :smile:
          باز هم تو این حالت موقع رها کردن کلید به دلیل بانس در لبه بالا رونده وقفه میخوره . برای حل این مشکل در زیر روال وقفه باید وقفه غیر فعال بشه و در خطوط نرم افزار دوباره فعال بشه .
          إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
          کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

          دیدگاه


            #6
            پاسخ : وقفه gpio , کلید ؟؟

            اگر در سخت افزار دستتون بازه می تونید از یکه فیلتر RC روی پایه برای حذف بانس استفاده کنید.
            هر انسانی که احساس بی نیازی کند سرکش و طغیان گر می شود...

            دیدگاه


              #7
              پاسخ : وقفه gpio , کلید ؟؟

              سلام,
              داخل وقفه یک تاخیر قرار بدید و بعد از تاخیر چک کنید اگر اون پین 1 بود ادامه روتین انجام بشه و اگر نبود بیاد بیرون.
              از این روش تو AVR استفاده کردم و جوابی که میخواستم رو داد.

              دیدگاه

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