3 ارسال در این موضوع قرار دارد

 

سلام
یه برنامه برای دریافت ورودی از پورت COM  نوشته ام، برنامه رو با C# تقریبا نوشته ام و مشکلی نداره، از طرفی یک برنامه (ارسال اطلاعات) با C# دارم که با کلیلک اجرا می شود. میخواهم زمانی که از پورت COM ورودی را دریافت کردم ( یعنی وقتی یک پنج ولت به پورت com اعمال می کنم)    برنامه ارسال اتواتیک اجرا شود.
یعنی به جای کلیلک کردن با گرفتن اطلاعات از پورت com اجرا شود.
البته خودم یه فکرهایی کردم ولی نمیدونم چه جوری اجراش کنم، خودم فکر کردم اگه یکif یا WHile بذارم و با if اگر پورت com وردوی گرفت اجرا شود  و تا زمانی که ورودی نگرفتن اجرا نشود یا اینکه با While بگم تا زمانی یک ورودی نگرفتی پورت com اجرا نشود.
اگر خواستید کدها رو ارسال کنم.
از راهنمایی تون ممنون می شوم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در ۱۳۹۷/۱۲/۱۲ در 01:54، ammar گفته است:

 

سلام
یه برنامه برای دریافت ورودی از پورت COM  نوشته ام، برنامه رو با C# تقریبا نوشته ام و مشکلی نداره، از طرفی یک برنامه (ارسال اطلاعات) با C# دارم که با کلیلک اجرا می شود. میخواهم زمانی که از پورت COM ورودی را دریافت کردم ( یعنی وقتی یک پنج ولت به پورت com اعمال می کنم)    برنامه ارسال اتواتیک اجرا شود.
یعنی به جای کلیلک کردن با گرفتن اطلاعات از پورت com اجرا شود.
البته خودم یه فکرهایی کردم ولی نمیدونم چه جوری اجراش کنم، خودم فکر کردم اگه یکif یا WHile بذارم و با if اگر پورت com وردوی گرفت اجرا شود  و تا زمانی که ورودی نگرفتن اجرا نشود یا اینکه با While بگم تا زمانی یک ورودی نگرفتی پورت com اجرا نشود.
اگر خواستید کدها رو ارسال کنم.
از راهنمایی تون ممنون می شوم.

بهترین راه همون if و else هستش دادا

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

https://docs.microsoft.com/en-us/dotnet/api/system.io.ports.serialport.datareceived?view=netframework-4.7.2


using System;
using System.IO.Ports;

class PortDataReceived
{
    public static void Main()
    {
        SerialPort mySerialPort = new SerialPort("COM1");

        mySerialPort.BaudRate = 9600;
        mySerialPort.Parity = Parity.None;
        mySerialPort.StopBits = StopBits.One;
        mySerialPort.DataBits = 8;
        mySerialPort.Handshake = Handshake.None;
        mySerialPort.RtsEnable = true;

        mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);

        mySerialPort.Open();

        Console.WriteLine("Press any key to continue...");
        Console.WriteLine();
        Console.ReadKey();
        mySerialPort.Close();
    }

    private static void DataReceivedHandler(
                        object sender,
                        SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
        Console.WriteLine("Data Received:");
        Console.Write(indata);
    }
}

  • دوست دارم که 2

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری