اطلاعیه

Collapse
No announcement yet.

مشکل این 2 خط برنامه کجاست؟؟؟

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

    مشکل این 2 خط برنامه کجاست؟؟؟

    :angry:
    فقط میخوام با یه پالس , خروجیم یه دونه اضافه شه...با وقفه که مینویسم میشه با debounce نه...
    [regfile = "m323def.dat"
    $crystal = 12000000
    Config Portc = Input
    Config Portd = Output
    Dim A As Byte
    Do
    Debounce Pinc.0 , 0 , B
    Loop
    End
    B:
    Incr A
    Portd = A
    Return
    صفر و یک میکنه ولی دوباره که میزنم یک و دو نمیکنه

    سوزدو افروزدو نابود شود هر که بخندد به شب تار کسی
    بی گمان دست به آغوش نگارش ببرند هرکسی بوسه ستاند ز لب یار کسی

    #2
    پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

    نوشته اصلی توسط masoud28314
    :angry:
    فقط میخوام با یه پالس , خروجیم یه دونه اضافه شه...با وقفه که مینویسم میشه با debounce نه...
    [regfile = "m323def.dat"
    $crystal = 12000000
    Config Portc = Input
    Config Portd = Output
    Dim A As Byte
    Do
    Debounce Pinc.0 , 0 , B
    Loop
    End
    B:
    Incr A
    Portd = A
    Return
    صفر و یک میکنه ولی دوباره که میزنم یک و دو نمیکنه
    بعد .dat در خط اول اون اکولاد رو حذف کن اون علامت دلار رو هم بعد12000000 حذف کن
    به جای return بزار end sub B
    در اول برنامه A رو مقدار دهی کن A=0

    sigpic

    دیدگاه


      #3
      پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

      :sad:
      اون دلارو که نمیشه برداشت
      به جای Return هم که نمیشه همینجوری end sub گذاشت
      بازم نشد ولی
      سوزدو افروزدو نابود شود هر که بخندد به شب تار کسی
      بی گمان دست به آغوش نگارش ببرند هرکسی بوسه ستاند ز لب یار کسی

      دیدگاه


        #4
        پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

        به صورت سخت افزاری پول پ کردی پورت ورودی رو؟
        اگه نه این خط رو به برنامه اضافه کن:
        Set PORTC یا PORTC = &HFF
        قبل از تعریف متغیر بذارش...

        «پشتکار» «پشتکار» «پشتکار»

        دیدگاه


          #5
          پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

          نوشته اصلی توسط masoud28314
          :sad:
          اون دلارو که نمیشه برداشت
          به جای Return هم که نمیشه همینجوری end sub گذاشت
          بازم نشد ولی
          البته علامت دلار باید قبل از کریستال باشه ولی خوب فکر کنم تو اینجا افتاده اون ور
          اتفاقا باید به جای دستور return از دستور end sub B استفاده کنی تست کن ببین

          sigpic

          دیدگاه


            #6
            پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

            اینم یادم رفت بگم که باس اینطور بنویسی وقتی یک سابروتین رو میخوای فراخونی کنی:
            Debounce Pinc.0 , 0 , B, Sub
            در انتهای سابروتین هم Return بذار
            ولی مهم همون PullUp کردنس... انجامش بده درست میشه

            «پشتکار» «پشتکار» «پشتکار»

            دیدگاه


              #7
              پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

              بیا این هم برنامه اصلاح شده :
              کد:
              $regfile = "m323def.dat"
              $crystal = 12000000
              Config Portc = Input
              Config Portd = Output
              Portc = 255
              Declare Sub B
              Dim A As Byte
              Main:
              Do
              Debounce Pinc.0 , 0 , B
              Loop
              End
              Sub B:
              Incr A
              Portd = A
              Goto Main
              End Sub B

              sigpic

              دیدگاه


                #8
                پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

                خیلی کار جالبه نیست که توی یک تابع/زیربرنامه از دستور Goto استفاده بشه! (همچین اصولی نیس)
                مشکل برنامه ایشون هم همون PullUp کردنه باید باشه یحتمل و الا باقیش خیلی مشکلی نداشت

                «پشتکار» «پشتکار» «پشتکار»

                دیدگاه


                  #9
                  پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

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

                  sigpic

                  دیدگاه


                    #10
                    پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

                    سلام ....
                    برنامه شما ایراد از $hwstack میگیره ...
                    برنامتونو باید به اینصورت شه :
                    کد:
                    $regfile = "m32def.dat"
                    $crystal = 12000000
                    $hwstack = 150                       '200                       ' default use 32 for the hardware stack
                    
                    Config Portc = Input
                    Config Portd = Output
                    
                    Dim A As Byte
                    Do
                    Debounce Pinc.0 , 0 , B
                    Loop
                    End
                    B:
                    Incr A
                    Portd = A
                    Return
                    موفق باشید ...
                    طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

                    دیدگاه


                      #11
                      پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

                      حرف هر دوی شما دوستان عزیز متین، ولی الان این کدی که بنده از اول عرض کردم به درستی کار می کنه:
                      با پول پ کردن
                      و اضافه کردن , Sub به خط Debounce
                      کد:
                      $regfile = "m32def.dat"
                      $crystal = 12000000
                      Config Portc = Input
                      Config Portd = Output
                      Portc = &HFF
                      Dim A As Byte
                      Do
                      Debounce Pinc.0 , 0 , B , Sub
                      Loop
                      End
                      B:
                      Incr A
                      Portd = A
                      Return

                      «پشتکار» «پشتکار» «پشتکار»

                      دیدگاه


                        #12
                        پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

                        دوست عزیز برنامه شما درسته ...
                        دقت به برنامتون نکرده بودم فقط برنامه خودشونو رفع ایراد کردم ...
                        طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

                        دیدگاه


                          #13
                          پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

                          خب قضیه همینه که الان اگه شما برنامه خودتونو اجرا کنید (مثلا تو پروتئوس) جواب نمیده...
                          چون باید به صورت سابروتین فراخونده بشه توی دستور Debounce

                          «پشتکار» «پشتکار» «پشتکار»

                          دیدگاه


                            #14
                            پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

                            نمیدونم من فقط ایراد ارورشونو برطرف کردم ....
                            طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

                            دیدگاه


                              #15
                              پاسخ : مشکل این 2 خط برنامه کجاست؟؟؟

                              دوستان عزیز ممنون...حل شد مشکل
                              سوزدو افروزدو نابود شود هر که بخندد به شب تار کسی
                              بی گمان دست به آغوش نگارش ببرند هرکسی بوسه ستاند ز لب یار کسی

                              دیدگاه

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