اطلاعیه

Collapse
No announcement yet.

چرا این برنامه بعد از مدتی از کار میافتد؟

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

    چرا این برنامه بعد از مدتی از کار میافتد؟

    سلام
    من برنامه زیر رو برای میکرو نوشتم اما بعد از حدود 5 دقیقه دیگه حلقه DO-LOOP کار نمیکنه و متغیر VALUE اضافه نمیشه. اما اینتراپت سریال درسته.
    دلیش رو کسی میدونه؟

    $regfile = "M32DEF.dat"
    $crystal = 8000000

    Config Graphlcd = 128 * 64 , Dataport = Porta , Controlport = Portc , Ce = 5 , _
    Cd = 4 , Wr = 3 , Rd = 2 , Reset = 6 , Fs = 7 , Mode = 8
    Cursor Off
    Cls

    $baud = 19200

    On Urxc Urx_lable
    Enable Urxc

    Dim Receive As Byte
    Dim Value As Word

    Enable Interrupts
    '------------------------------
    Do
    Locate 1 , 1
    Lcd "DATA: " ; Value ; " "
    Waitms 200
    Incr Value
    Loop
    '------------------------------
    Urx_lable:
    Receive = Udr
    Locate 2 , 1
    Lcd Receive
    Return

    #2
    پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

    دستور نمایشت مال LCD معمولی نه کاراکتری!
    دستور LCD کاراکتری اینه
    lcdat 1,1,"Data: ",value
    طول کاراکتر از اندازه طول LCD بیشتر نشه فکر کنم 16 کاراکتر
    بعد از پیکره بندی LCD باید فونت LCD رو معرفی کنی Setfont Font8x8
    در آخر برنامه بعد از END هم از دستور $include "font8x8.font"
    استفاده کن
    در آخر به آدرس سایت استاد عزیز جناب کی نژاد قسمت فارسی نویسی در بسکام مقاله رو دانلود کن مشکلت حل میشه
    ضمنا" همیشه یادت باشه دستور END هیچ موقع یادت نره ! چون یک شاخص برای کامپایلر برای تعیین محدوده ی عمل کرد برنامه در حافظه است

    دیدگاه


      #3
      پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

      ممنونم از پاسختون. ال سی دی 128*64 با چیپ T6963 هست و فکر نکنم به خاطر این باشه

      سوال اینه که چرا حلقه DO-LOOP بعد مدتی اجرا نمیشه. اگه نه تو وقفه به خوبی رو ال سی دی نمایش داده میشه.
      مثلا تو حلقه DO-LOOP که متغیر هر 200 میلی ثانیه یکی اضافه میشه رو هم اگه تو زیربرنامه وقفه نمایشش بدیم دیگه اضافه نمیشه و ثابت میمونه

      دیدگاه


        #4
        پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

        سلام
        احتمال زیاد شاید حتما به خاطر عدم وجود دستور end در برنامه هست که بعد از loop باید باشه
        محک

        دیدگاه


          #5
          پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

          word دو بایت هست متغییر Value آخر کار سریز می کنه با یه شرط کنترلش کن

          دیدگاه


            #6
            پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

            رئیس جان !
            تنظیمات stack کجاست ؟ نیست تو برنامت
            اگر این مورد رو تنظیم نکنی . پیش فرض بسکام تنظیم میشه که اونوقت اگر اون رو هم تنظیم نکرده باشی ، پیش فرض اولین میکرو خودش هست و این عامل باعث درست کار نکردن خیلی از برنامه ها میشه . این مورد رو چک کن حتما
            موفق باشی
            همیشه به یاد خدا باش !

            دیدگاه


              #7
              پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

              ممنونم از ژاسخ هاتون
              end تو برنامه جدید هست و استک ها هم
              $hwstack = 480
              $swstack = 150
              $framesize = 600

              اما بازم مشکل داره.

              یه چیزی فهمیدم اکه توی حلقه DO-LOOP دستور نمایش رو ال سی دی نباشه برنامه از کار نمیوفته اما باید باشه

              دیدگاه


                #8
                پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

                اگه می دونی با برداشتن قسمت نمایشگر مشکل حل میشه اون رو منتقل کن به وقفه یکی از تایمر ها و در اون وقفه دیتا رو نمایش بده.
                به امتحانش می ارزه!
                چرا ناراحتی پاتریک!
                + امروز ی بچه دیدم سرچهارراه گل میفروخت
                - از دیدنش ناراحت شدی؟
                + نه
                پس چی ناراحتت کرده
                + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                ------------------------------------------------------------------------------------------------------
                تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                ------------------------------------------------------------------------------------------------------
                محصولات

                دیدگاه


                  #9
                  پاسخ : پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

                  نوشته اصلی توسط سوران آراسته
                  اگه می دونی با برداشتن قسمت نمایشگر مشکل حل میشه اون رو منتقل کن به وقفه یکی از تایمر ها و در اون وقفه دیتا رو نمایش بده.
                  به امتحانش می ارزه!
                  ممنونم. اینو عصر آزمایش میکنم الان شلوغه.
                  من خیلی برام سواله که چطور میشه وقفه ها کار بکنه اما برنامه دیگه تو حلقه DO-LOOP نباشه. یعنی این جور وقتا کجا گیر میکنه؟

                  دیدگاه


                    #10
                    پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

                    میشه بگی منظورت از گیر کردن چیه ؟
                    چرا ناراحتی پاتریک!
                    + امروز ی بچه دیدم سرچهارراه گل میفروخت
                    - از دیدنش ناراحت شدی؟
                    + نه
                    پس چی ناراحتت کرده
                    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                    ------------------------------------------------------------------------------------------------------
                    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                    ------------------------------------------------------------------------------------------------------
                    محصولات

                    دیدگاه


                      #11
                      پاسخ : چرا این برنامه بعد از مدتی از کار میافتد؟

                      اگه میآ‌خوای ببینی برنامه به قول خودت کجا گیر میآ‌کنه، داخل پروتئوس از بخش دیباگ استفاده کن

                      دیدگاه

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