نمایش نتایج 1 تا 8 از 8

نام تاپیک: خواندن همزمان از سه پورت RS232

  1. #1

    خواندن همزمان از سه پورت RS232

    سلام دوستان
    چطور میتونم همزمان از 3پورت RS232 اطلاعات بخونم؟
    چه کدی باید بنویسم که بتونم همزمان هر رو رو معرفی کنم و ورودی هاش رو بخونم؟
    ممنون میشم راهنماییم کنید

  2. #2

    نقل قول: خواندن همزمان از سه پورت RS232

    سلام
    3 تا پورت سریال بزار تو برنامت (با property های مختلف). بعد هر جای برنامه که خواستی هر 3 تا رو بخون.

    serialPort1.ReadExisting();
    serialPort2.ReadExisting();
    serialPort3.ReadExisting();

  3. #3

    نقل قول: خواندن همزمان از سه پورت RS232

    مرسی ولی میشه بیشتر توضیح بدین
    من این Propertyها رو کجا باید تعریف کنم؟
    من با یه پورت تعریف کردم ولی این پیغام رو میده:


    The Port is Closed
    یه بار میزنه
    The port is already Open


    اینم کد

    private void Form1_Load(object sender, EventArgs e)
    {
    if (comPort3.IsOpen)
    comPort3.Close();
    else
    {
    comPort3.BaudRate = 4800;
    comPort3.Parity = Parity.None;
    comPort3.RtsEnable = true;
    comPort3.StopBits = StopBits.One;
    comPort3.DataBits = 8;
    comPort3.ReadBufferSize = 1000;
    comPort3.ReadTimeout = 1000;
    comPort3.WriteBufferSize = 1000;
    comPort3.WriteTimeout = 1000;
    comPort3.PortName = "COM3";
    comPort3.ReceivedBytesThreshold = 1;
    try
    {
    // Open the port
    comPort3.Open();
    }
    catch (Exception ex)
    {
    MessageBox.Show("Error:" + ex.Message);
    }
    }
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
    try
    {
    var va1 = comPort3.ReadExisting();
    label3.Text = va1;
    }
    catch (Exception ex)
    {
    MessageBox.Show("ERROR: " + ex.Message);
    }
    }


    اگه با یکی جواب بگیرم تنظمش برا بقیه سخت نیست

  4. #4

    نقل قول: خواندن همزمان از سه پورت RS232

    اون تیکه ای که try نوشتی رو پاک کن به جاش این رو بذار

    if (!comPort3.IsOpen)
    comPort3.Open();

    و یه نکته دیگه، از component ها سریال پورت رو بنداز تو برنامت (که فکر کنم این کار رو کردی) و همون جا قبل از این که کامپایل کنی ویژگی ها رو بهش بده. اگه متوجه نشدی بگو بیشتر توضیح بدم

  5. #5

    نقل قول: خواندن همزمان از سه پورت RS232

    مرسی از راهنماییتون
    منظورتون قبل از کامپایل چه زمانیه؟
    یعنی Propertyها رو کجای Code بزارم؟

  6. #6
    کاربر جدید
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    15

    نقل قول: خواندن همزمان از سه پورت RS232

    سلام
    به نظرم میاد شما از کنترل Serial port به تعداد 3 عدد باید استفاده کنی .
    این کنترول رو میتونی تو لیست کامپوننتهای موجود پیدا کنی. (تو لیست کنترول ها رو نگاه کن )
    بعد اسم 3 تا کنترول رو به serial port 1 تا serial port 3 تغییر بده.
    حالا خصوصیاشون رو می تونی به راحتی تغییر بدی.

  7. #7

    نقل قول: خواندن همزمان از سه پورت RS232

    من این رو برا بالا تعریف کردم

    SerialPort comPort3 = new SerialPort();


    مشکل من اینه که با همین یکی هم نمیخونه اگه این یکی درست شه با دوتای دیگه مشکلی ندارم
    چون زمانی که با Hyper Terminal تست می کنم ورودی رو میگیرم

  8. #8

    نقل قول: خواندن همزمان از سه پورت RS232

    نقل قول نوشته شده توسط ehsanara مشاهده تاپیک
    من این رو برا بالا تعریف کردم

    SerialPort comPort3 = new SerialPort();


    مشکل من اینه که با همین یکی هم نمیخونه اگه این یکی درست شه با دوتای دیگه مشکلی ندارم
    چون زمانی که با Hyper Terminal تست می کنم ورودی رو میگیرم
    از بخش component ها serialport رو بذار تو برنامت. منظورم از بخش componentها اون جایی که button, textbox و ... رو انتخاب میکنی و میندازی تو برنامه. توی اونجا دنبال serialport بگرد، پیداش که کردی سه تا تو form بنداز. فقط حواست باشه که به صورت فیزیکی وارد فرم نمیشن، پایین فرم نشونشون میده. وقتی رو هر کدوم کلیک بکنی برات properties و eventها رو همون جوری که واسه component های دیگه نشون میده، نشون میده. تو برنامه ای که الآن نوشتی پورت سریال رو دستی تعریف کردی، اگه از componentها بیاریش دیگه احتیاجی به تعریف کردنش نیست. باز اگه سوالی بود در خدمتم

قوانین ایجاد تاپیک در تالار

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