اطلاعیه

Collapse
No announcement yet.

مشکل با پورت سریال و C#

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

    مشکل با پورت سریال و C#

    سلام دوستان :wow:
    خسته نباشید...!
    امیدوارم دنیا به کامتون باشه...! :job:
    من یه برنامه با C# نوشتم که از طریق پورت سریال دو تا موتور DC رو کنترل می کنم مثلا با فرستادن کاراکتر Left موتور چپ گرد کار می کنه و...
    ولی یه مشکلی هست من موتور هارو خیلی راحت با Terminal بسکام کنترل می کنم ولی با C# اینطور نیست چون تو C# باید یک کاراکتر Enter هم بعد از کلمه ارسال بشه من (n\) این رو امتحان کردم ولی کار نکرد و با (r\n\) برای بار اول درست کار می کنه ولی برای بار دوم دیگه کار نمیکنه وقتی اطلاعات رسیده از پورت سریال رو تو ال سی دی دیدم متوجه کارکتر های اضافی در اول کلمه شدم کاراکتر ها به صورت (|||) سه تا خط بود..! :surprised:
    و به نظر من این کاراکتر ها مربوط به (r\n\) هستند حالا به نظرتون چیکار کنم؟! :NO: :angry:
    کد:
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    Config Lcdpin = Port , Db7 = Porta.7 , Db6 = Porta.6 , Db5 = Porta.5 , Db4 = Porta.4 , E = Porta.0 , Rs = Porta.1
    Enable Interrupts
    Config Portd.2 = Output
    Config Portd.3 = Output
    Config Portd.4 = Output
    Config Portd.5 = Output
    Portd.2 = 0
    Portd.3 = 0
    Portd.4 = 0
    Portd.5 = 0
    Cls
    Dim B As Byte
    Do
    Input B
    Locate 1 , 1
    Lcd B
    Select Case B
    Case Back:
    Cls
    Portd.2 = 1
    Portd.3 = 0
    Locate 1 , 1
    Lcd "Back"
    Waitms 50
    Case Forword:
    Cls
    Portd.2 = 0
    Portd.3 = 1
    Locate 1 , 1
    Lcd "Forword"
    Waitms 50
    Case Lef:
    Cls
    Portd.4 = 1
    Portd.5 = 0
    Locate 1 , 1
    Lcd "Left"
    Case Righ:
    Cls
    Portd.4 = 0
    Portd.5 = 1
    Locate 1 , 1
    Lcd "Right"
    Case Else:
    Portd.2 = 0
    Portd.3 = 0
    Portd.4 = 0
    
    Portd.5 = 0
    Locate 1 , 1
    Lcd "Waiting ..."
    End Select
    Loop
    End
    اميدوارم خدا پنجره باز اتاقتون باشه!

    #2
    پاسخ : مشکل با پورت سریال و C#

    کسی نیست؟
    بنظر من مشکل از Avr چون هربار که Avr رو ریست می کنم بازم یک بار درست کار میکنه ولی بار دوم نه!!
    اميدوارم خدا پنجره باز اتاقتون باشه!

    دیدگاه


      #3
      پاسخ : مشکل با پورت سریال و C#

      کسی تا حالا برای Avr با C# برنامه ننوشته؟ :surprised:
      اميدوارم خدا پنجره باز اتاقتون باشه!

      دیدگاه


        #4
        پاسخ : مشکل با پورت سریال و C#

        با تاخیر 10 ساله اومدم ولی برای کسانی که این مشکل رو دارن میگم
        دوست عزیز آخر دیتایی که میخوای بفرستی چون فرمتش ASCII هست باید انتهای کادر (CR) اضافه کنی یعنی در اخر باید r\ اضافه کنی
        برای مثال اگر بخوای بگی چپگرد بچرخه کافیه این رو ارسال کنی

        [LEFT];serialport1.Write("Left"+"\r")
        [/LEFT]

        دیدگاه

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