ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2016/10/21
    6
    0

    ارتباط سریال در C#

    سلام دوستان

    برای ارتباط سریال از یه برد به پی سی از سی شارپ استفاده کردم. مساله اینه که برد من پشت سر هم داده ی بیتی رو میفرسته و توی ارتباط سریال، اونو بصورت رشته میخونم. ولی برای نمایشش توی تکست باکس مشکل دارم و کاراکترهای بی معنا میبینم. ظاهرا تکست باکس بیت صفر و یک نشون نمیده. اگه بشه داده ها رو به صورت معادل دهدهی برای هر بایت هم نشون بدم، مشکل حل میشه. برنامه رو در ادامه گذاشتم. ممنون اگه کسی بتونه تغییرات لازمو بگه...
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO.Ports;


    namespace Serial_Test
    {
    public partial class Form1 : Form
    {
    string StrRecieve;


    public Form1()
    {
    InitializeComponent();
    }


    private void btnClose_Click(object sender, EventArgs e)
    {
    this.Close();
    }


    private void btnOpen_Click(object sender, EventArgs e)
    {
    serialPort1.DataBits = 8;
    serialPort1.Parity = Parity.None;
    serialPort1.StopBits = StopBits.One;
    serialPort1.BaudRate = 115000;
    serialPort1.PortName = "COM4";
    serialPort1.Open();
    }


    private void btnClosePort_Click(object sender, EventArgs e)
    {
    serialPort1.Close();
    MessageBox.Show("PORT Closed", "OK", MessageBoxButtons.OK);
    }


    private void DisplayText(object sender, EventArgs e)
    {
    textBox2.AppendText(StrRecieve);
    }


    private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
    // string StrRecieve;


    StrRecieve = serialPort1.ReadExisting();
    this.Invoke(new EventHandler(DisplayText));
    }
    }
    }


  2. #2
    2010/10/04
    تهران
    1,515
    431

    پاسخ : ارتباط سریال در C#

    با سلام
    اگه از پورتهای خود کامپیوتر استفاده میکنین و مبدل ندارین مقدار باودریت رو به 115200 تغییر بدین تا استاندارد باشه.
    بعد اینکه رشته ای که شما از پورت سریال میخونین از نوع بایت هست و باید به استرینگ تبدیل بشه.
  3. #3
    2016/10/21
    6
    0

    پاسخ : ارتباط سریال در C#

    نقل قول نوشته اصلی توسط نو رسیده

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    با سلام
    اگه از پورتهای خود کامپیوتر استفاده میکنین و مبدل ندارین مقدار باودریت رو به 115200 تغییر بدین تا استاندارد باشه.
    بعد اینکه رشته ای که شما از پورت سریال میخونین از نوع بایت هست و باید به استرینگ تبدیل بشه.
    اگه ممکنه نحوه ی تبدیل بایت به استرینگ و متدش رو بگید. ممنون
  4. #4
    2010/10/04
    تهران
    1,515
    431

    پاسخ : ارتباط سریال در C#

    ببخشید. من مدتهاست با سریال کار نکردم. تابع ReadExisting خروجیش از نوع استرینگ هست و نیازی به تبدیل نداره. من با tcp/ip قاطی کردم.
    احتمالا مشکل شما با اصلاح باودریت حل میشه.
  5. #5
    2016/10/21
    6
    0

    پاسخ : ارتباط سریال در C#

    بله این دستور استرینگ رو ایجاد میکنه. البته با اصلاح نرخ ارسال همچنان مشکل نمایش کاراکترای بی معنا برقراره. ممنون میشم اگه دوست دیگه ای بتونه کمک بکنه.
  6. #6
    2010/10/04
    تهران
    1,515
    431

    پاسخ : ارتباط سریال در C#

    پس احتمالا اطلاعاتی که میاد بصورت اسکی نیست. بنا بر این شما نباید از متد ReadExisting استفاده کنین. باید بجاش ReadByte رو بکار ببرین و مثلا با استفاده از Convert.toDecimal تبدیل به عدد اینتجرش بکنید. بعد با toString توی تکست باکس نمایشش بدین.
  7. #7
    2015/01/24
    Telegram: @Ashit_Axar
    395
    297

    پاسخ : ارتباط سریال در C#

    نقل قول نوشته اصلی توسط Z.TR

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام دوستان

    برای ارتباط سریال از یه برد به پی سی از سی شارپ استفاده کردم. مساله اینه که برد من پشت سر هم داده ی بیتی رو میفرسته و توی ارتباط سریال، اونو بصورت رشته میخونم. ولی برای نمایشش توی تکست باکس مشکل دارم و کاراکترهای بی معنا میبینم. ظاهرا تکست باکس بیت صفر و یک نشون نمیده. اگه بشه داده ها رو به صورت معادل دهدهی برای هر بایت هم نشون بدم، مشکل حل میشه. برنامه رو در ادامه گذاشتم. ممنون اگه کسی بتونه تغییرات لازمو بگه...
    کد PHP:

    using System
    ;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks
    using System.Windows.Forms;
    using System.IO.Ports;


    namespace 
    Serial_Test
    {
        public 
    partial class Form1 Form
        
    {
            
    string StrRecieve;


            public 
    Form1()
            {
                
    InitializeComponent();
            }


            private 
    void btnClose_Click(object senderEventArgs e)
            {
                
    this.Close();
            }


            private 
    void btnOpen_Click(object senderEventArgs e)
            {
                
    serialPort1.DataBits 8;
                
    serialPort1.Parity Parity.None;
                
    serialPort1.StopBits StopBits.One;
                
    serialPort1.BaudRate 115000;
                
    serialPort1.PortName "COM4";
                
    serialPort1.Open();
            }


            private 
    void btnClosePort_Click(object senderEventArgs e)
            {
                
    serialPort1.Close();
                
    MessageBox.Show("PORT Closed""OK"MessageBoxButtons.OK); 
            }


               private 
    void DisplayText(object senderEventArgs e)
            {
                
    textBox2.AppendText(StrRecieve);
            }


            private 
    void serialPort1_DataReceived(object senderSerialDataReceivedEventArgs e)
            {
                
    // string StrRecieve;


                
    StrRecieve serialPort1.ReadExisting();
                
    this.Invoke(new EventHandler(DisplayText));
            }
        }

    داده های شما چه چیزی هستش؟ اعداد ! حروف! یا ترکیبی از هر دو؟
    کاراکتر می فرستید یا رقم! (اعداد رو قبل از ارسال باید به رشته ی کاراکتری تبدیل کنید و بعد ارسال کنید)
    اون بخشی از کدها رو که میکرو ارسال میکنه رو هم بزارید تا مشخص بشه ایراد کجاست
نمایش نتایج: از 1 به 7 از 7

موضوعات مشابه

  1. پاسخ: 4
    آخرين نوشته: 2015/07/10, 19:08
  2. ارتباط سریال
    توسط 872622101 در انجمن NXP
    پاسخ: 1
    آخرين نوشته: 2013/09/19, 13:41
  3. ارتباط سریال
    توسط jfkfsa در انجمن Labview
    پاسخ: 8
    آخرين نوشته: 2012/02/25, 12:19
  4. ارتباط سریال
    توسط A.S.Roma در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2011/08/09, 18:05
  5. دو ارتباط سریال
    توسط baby_1 در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2010/04/13, 13:57

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •