اطلاعیه

Collapse
No announcement yet.

وقفه های خارجیم درست کار نمیکنن.

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

    وقفه های خارجیم درست کار نمیکنن.

    سلام دوستان. من برای یه پروژه با زبان بیسیک با ATMEGA16 دارم کار میکنم. برای پروژه باید از وقفه های خارجی و وقفه سریال کار کنم. با وقفه سریال مشکلی ندارم اما وقتی میره تو روال وقفهINT0 اگه بینش وقفه سریال بیاد نمیره به اون. من نیاز دارم بینش وقفه مربوط به سریال رو اجرا کنم.
    مشکل دومم هم اینه که هر کاری که میکنم زیر روال مربوط به وقفه INT0 رو دو بار اجرا می کنهکه هر چی فککر می کنم نمیدونم چرا؟

    اگه نیازه بگید تا برنامه رو هم پ کنم

    اضافه شده در تاریخ :
    دوستان . آیا کسی هست به داد این بیچاره بی نوا برسد؟

    #2
    پاسخ : وقفه های خارجیم درست کار نمیکنن.

    مطلب اول این که دوتا وقفه تو هم اجرا نمی شن.
    مطلب دوم این که رزونانس پایه رو با تاخییر بگیرین.

    دیدگاه


      #3
      پاسخ : وقفه های خارجیم درست کار نمیکنن.

      برای مطلب اول هیچ راهی نداره؟
      مطلب دوم رو هم درست متوجه نشدم

      دیدگاه


        #4
        پاسخ : وقفه های خارجیم درست کار نمیکنن.

        وقفه خارجیت با چی تحریک میشه؟ کلید یا چیزه دیگه؟
        .The best question deserves a better answer
        =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
        «پناه»می برم «به خدا»
        از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
        محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

        دیدگاه


          #5
          پاسخ : وقفه های خارجیم درست کار نمیکنن.

          ,وقفه رو falling تعریف کردم و با یه کلید تحریک میشه

          دیدگاه


            #6
            پاسخ : وقفه های خارجیم درست کار نمیکنن.

            دست شما دارای لرزشه وقتی شما کلید رو فشار میدی در عمل چندین بار کلید رو فشار میدین
            به این عمل DEBUNCE گفته میشه که مبحث مفصلیه...
            یک خازن 1 میکرو فاراد تهیه کنید منفی خازن رو به پایه که میخاد ازش استفاده کنید وصل کنید و سر مثبت اونرو به مثبت وصل کنید.
            پایه میکرو با یک مقاومت 1 کیلو اهم به زمین وصل کنید.
            این مدار باعث میشه لرزش دست شما فیلتر بشه.
            .The best question deserves a better answer
            =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
            «پناه»می برم «به خدا»
            از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
            محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

            دیدگاه


              #7
              پاسخ : وقفه های خارجیم درست کار نمیکنن.

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

              دیدگاه


                #8
                پاسخ : وقفه های خارجیم درست کار نمیکنن.

                خوشحالم که براتون مفید بوده.
                بنده بیسیک بلد نیستم :NO:
                شما میتونید با خواندن ریجستر GIFR اطلاع حاصل کنید کدام وقفه اجازه اجرا رو میخاد که با یک نوشتن به روی بیت متناظر با با وقفه اون وقفه رو کنسل کنید.
                .The best question deserves a better answer
                =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                «پناه»می برم «به خدا»
                از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                دیدگاه


                  #9
                  پاسخ : وقفه های خارجیم درست کار نمیکنن.

                  ممنون. منم از تو رجیسترهاش این رجیستر رو پیدا کرده بودم اما اشتباها به جای 1 نوشت 0 رو می نوشتم روش.
                  البته من به جای این کاری که شما گفتید این کار رو کردم و جواب داد
                  Disable Interrupts

                  ENABLE INTERRUPTS
                  خب البته من تو این کار میخواستم پرچم تمام وقفه ها رو ریست کنم.
                  اما از روش شما هم که حالا امتحان کردم به خوبی جواب داد. خیلی ممنون.و بسیار عالی

                  دیدگاه

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