اطلاعیه

Collapse
No announcement yet.

کمک در مورد پورت سریال

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

    کمک در مورد پورت سریال

    سلام .
    من وقتی با avr به کامپیوتر با پورت سریال وصل می شم کلمه ای که به کامپیوتر می فرستم کامل دریافت میشه،ولی وقتی با کامپیوتر کلمه می فرستم فقط حرف آخرش تو lcd دیده میشه(بیت به بیت دریافت میشه)میشه راهنماییم کنید ک کلمه کامل تو lcd نمایش داده بشه.
    $regfile = "m32def.dat"
    $crystal = 11059200
    $baud = 9600
    $swstack = 64
    $hwstack = 128
    $framesize = 128
    Config Lcd = 20 * 4
    Config Lcdpin = Pin , Db4 = Pinc.3 , Db5 = Pinc.2 , Db6 = Pinc.1 , Db7 = Pinc.0 , Rs = Pinc.4 , E = Pinc.5
    Dim D As String * 4
    do
    print "ali"
    waitms20
    d=inkey()
    waitms 10
    lcd d
    loop
    end

    #2
    پاسخ : کمک در مورد پورت سریال

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

    دیدگاه


      #3
      پاسخ : کمک در مورد پورت سریال

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

      دیدگاه


        #4
        پاسخ : کمک در مورد پورت سریال

        با دستور Input به هیچ مشکلی برنمیخورید...

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

        دیدگاه


          #5
          پاسخ : کمک در مورد پورت سریال

          با دستور input هم مشگلم حل نشد.چیکار باید بکنم؟

          دیدگاه


            #6
            پاسخ : کمک در مورد پورت سریال

            نوشته اصلی توسط ali_elect62
            با دستور input هم مشگلم حل نشد.چیکار باید بکنم؟
            سلام
            دوست عزیز دستور input برای ارتباط با سریال باید جواب بده برنامه هر وقت به این دستور برسد منتظر می ماند تا اطلاعات توسط پورت سریال ارسال شود و اطلاعات را دریافت کرد به خط بعدی برنامه می رود.
            این دستور باید جواب بده اگر جواب نده برنامه ات ایراد داره.برنامه کامپیوتری تو هم بزار تا ببینم مشکل کارت چیه.

            دیدگاه


              #7
              پاسخ : کمک در مورد پورت سریال

              می تونی از اینتراپت RX استفاده کنی و به همراه یک بافری که تعریف می کنی هر چی اطلاعات وارد بشه بره داخل اون بافره و بعد از مدتی که وقت کردی و خواستی بخونی می تونی بری و اطلاعات رو بخونی
              من برای اینکه دو تا سیستم رو با هم ارتباط سریال داشته باشند از کامند استفاده می کنم و نحوه برنامه نویسی رو با CODE VISION می تونی تو اینجا ببینی .http://www.eca.ir/forum2/index.php?topic=39855.0

              دیدگاه


                #8
                پاسخ : کمک در مورد پورت سریال

                اینو یه تست بزن نتیجشو بگو/
                کد:
                 $regfile = "m32def.dat"
                $crystal = 11059200
                $baud = 9600
                Config Lcd = 20 * 4
                Config Lcdpin = Pin , Db4 = Pinc.3 , Db5 = Pinc.2 , Db6 = Pinc.1 , Db7 = Pinc.0 , Rs = Pinc.4 , E = Pinc.5
                Dim S As String * 25
                do
                  Input S
                  Lcd S
                
                loop
                End
                آن دم که مرا مي زده بر خاک سپاريد زير کفنم خمره اي از باده گذاريد
                تا در سفر دوزخ از اين باده بنوشم
                آنلحظه که با دوزخيان کنم ملاقات يک خمره شراب ارغوان برم به سوغات
                هرقدر که در خاک ننوشيدم از اين باده صافي ، بنشينم و با دوزخيان کنم تلافي

                دیدگاه


                  #9
                  پاسخ : کمک در مورد پورت سریال

                  وقتی از دستور input استفاده میکنم میکرو قفل میکنه.چرا؟
                  اگر برنامهای با وقفه در سریال در یسیک دارید ممنون می شم برام بذارید.
                  $regfile = "m32def.dat"
                  $crystal = 11059200
                  $baud = 9600

                  Config Lcd = 20 * 4
                  Config Lcdpin = Pin , Db4 = Pinc.3 , Db5 = Pinc.2 , Db6 = Pinc.1 , Db7 = Pinc.0 , Rs = Pinc.4 , E = Pinc.5
                  Config Porta = Input
                  Dim S As String * 4
                  Dim D As String * 24
                  Dim H As Byte
                  Do
                  S = "1234"
                  Waitms 2
                  Print "ali"
                  Waitms 2
                  Input D
                  Waitms 2
                  Print S
                  Locate 1 , 1
                  Lcd "ali"
                  Locate 2 , 4
                  Lcd D
                  H = Len(d)
                  Locate 3 , 1
                  Lcd H
                  Loop

                  End

                  دیدگاه

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