اطلاعیه

Collapse
No announcement yet.

خطاهای برنامه بسکام

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

    خطاهای برنامه بسکام

    سلام ،
    من یه برنامه ساده برای avr با بسکام نوشتم ، ولی خطای Error: 7 line : 0 if then expected[81], in file می دهد .
    آیا کسی می تواند کمکی به من بکند .
    ممنون میشم اگه راهنمایی کنید
    برای علوم مهندسی هیچ راه بن بستی وجود ندارد . آنها یا راهی پیدا می کنند یا راهی می سازند.

    #2
    پاسخ : خطاهای برنامه بسکام

    برنامه تو بذار تا اشکالشو بهت بگم ... :nice:
    تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
    علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

    دیدگاه


      #3
      پاسخ : خطاهای برنامه بسکام

      $regfile = At90s2333
      $crystal = 8000000
      Config Portb = Input
      Config Portd = Output
      Dim A As Word
      Dim B As Word
      Dim D As Word
      D = A + B
      While Portb.0 = 1
      Debounce Portb.1 , 1 , Am1
      Debounce Portb.2 , 1 , Am2
      If D > 0 Then Gosub Filling
      If A > 0 Then Gosub Washing
      If D > 0 Then Gosub Filling
      If B > 0 Then Gosub Drying
      If D > 0 Then Gosub Filling
      If B > 0 Then Gosub Drying
      If D > 0 Then Gosub Filling
      If B > 0 Then Gosub Drying
      Else
      Set Portd.5
      Wend
      End

      Am1:
      A = 10
      Return

      Am2:
      A = 20
      Return

      Filling:
      B = 5
      Do
      Reset Portd.2
      Set Portd.1
      Loop Until Portb.4 = 1
      Waitms 2000
      Reset Portd.1
      Return


      Washing:
      If
      While Portb.0 = 1
      Do
      Set Portd.0
      Set Portd.3
      Waitms 3000
      Reset Portd.0
      Reset Portd.3
      Waitms 3000
      Set Portd.4
      Waitms 3000
      Reset Portd.4
      Waitms 3000
      dec a
      Loop Until A > 0
      Wend
      Return

      Drying:
      While Portb.0 = 1
      Do
      Set Portd.3
      Waitms 3000
      Reset Portd.3
      Waitms 3000
      Set Portd.4
      Waitms 3000
      Reset Portd.4
      dec b
      Loop Until B > 0
      Reset Portd.1
      Do
      Set Portd.2
      Loop Until Portb.4 = 0
      Waitms 3000
      Reset Portd.2
      Return
      برای علوم مهندسی هیچ راه بن بستی وجود ندارد . آنها یا راهی پیدا می کنند یا راهی می سازند.

      دیدگاه


        #4
        پاسخ : خطاهای برنامه بسکام

        شما باید برا هر دستور if یک end if بزاری به این صورت دستور های if رو بنویس:

        if a=1 then
        goto aa
        end if
        اینا رو درست کن ببین کامپایل میشه
        من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
        آلبرت اینشتین
        منبع: http://fa.wikiquote.org

        دیدگاه


          #5
          پاسخ : خطاهای برنامه بسکام

          اگه دستوری که باید در صورت برقراری شرط اجرا بشه رو در ادامه if بنویسی مثل If D > 0 Then Gosub Filling دستور end if نمی خواد ولی اگه برنامه رو در خط بعدی بنویسی باید از end if استفاده کنی مثل کاری که در ادامه برنامت انجام دادی که منجر به خطا دادن کامپایلر شده
          ولی خودمونیما خیلی داغون برنامه نوشتیا یکم با نظم و مرتب تر بنویسی همیشه در عیب یابی کمتر به مشکل بر می خوری :agree:
          خداوند بی نهایت است اما به قدر نیاز تو فرود می آید ، به قدر آرزوی تو گسترده می شود و به قدر ایمان تو کارگشاست.
          [hr]

          دیدگاه

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