اطلاعیه

Collapse
No announcement yet.

استفاده از وقفه خارجی

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

    استفاده از وقفه خارجی

    یه سوال دارم شاید خیلی مسقره باشه چون کمر من رو به خاک نشونده
    من از وقفه خارجی int0استفاده کردم به اون پالس میدم عمل میکنه و میپره روی لیبل ولی مشکل اینجاست از دوباره برنمیگرده سر جای اولش از jmp وcallاستفاده کردم بازم نشد :angry: :angry: :angry: :angry: :angry: :NO: :NO: :NO:
    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = _
    Pinc.5 , E = Pinc.1 , Rs = Pinc.0
    Config Lcd = 16 * 2
    Config Int0 = Falling
    Enable Interrupts
    Enable Int0
    On Int0 Hgh Nosave
    Declare Sub Main
    Declare Sub Hgh
    Main:
    Do
    Cls
    Home
    Lcd "asd"
    Waitms 100
    Cls
    Home
    Lcd "456"
    Waitms 100
    Cls
    Loop
    Hgh:
    Home
    Lcd "int0 ok"
    Waitms 100
    Return
    Return
    End
    انجام پروژه های برنامه نویسی اندروید
    [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
    http://cafebazaar.ir/app/?id=com.atxdroid

    #2
    پاسخ : استفاده از وقفه خارجی

    پایه Int0 از لحاظ سخت افزاری در چه وضعیتیه؟
    اگه این پایه رها باشه این اتفاق می افته. با یک مقاومت Pull up اون رو امتحان کن. این طوری تو حالت عادی مطمئنا وضعیت پایه تو یک منطقیست و لبه پایین رونده نداری. حالا اگه یه سطح صفر به پایه بیاد وقفه اتفاق می افته.
    در ضمن برای برگشتن به برنامه اصلی یک دستور Return کافیه. نیازی به استفاده از jmp و Call نیست.

    دیدگاه


      #3
      پاسخ : استفاده از وقفه خارجی

      آقا منم به همین درد مبتلا شدم.برنامه از روتین وقفه(int0)بر نمیگرده! :angry: :angry:
      Be sure your sin will find you out

      دیدگاه


        #4
        پاسخ : استفاده از وقفه خارجی

        حامد جان درست میگن.

        return کافیه ولی اگه بر نمیگرده از دستورات دیگه هم استفاده کنید بدک نیست یعنی تست کنید.

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

        چک کن ببین وقتی اینتراپت تحرریک میشه پین مورد نظر به حالت قبلی بر میگرده؟
        www.icesi.ir

        دیدگاه


          #5
          پاسخ : استفاده از وقفه خارجی

          من فکر میکنم دلیل برنگشتنش وجود nosave باشه >>>>> on int0 Hgh nosave رو بدون nosave بنویسید

          دیدگاه

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