How to read the serial port (scales) from c # [closed]

1

I have a problem wanting to read a serial port from c # (Scale)

the "DataReceivedHandler" method is never released

private static SerialPort puertoSerial;

    public static void InitSerialInterface(string puerto, int baudios)
    { 
        mySerialPort.PortName = "COM1";
        mySerialPort.BaudRate = 9600;
        mySerialPort.Parity = Parity.Even;
        mySerialPort.StopBits = StopBits.One;
        mySerialPort.DataBits = 7;
        mySerialPort.Handshake = Handshake.None;
        mySerialPort.DtrEnable = true;
        mySerialPort.RtsEnable = true;
        mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
        mySerialPort.Open();
    }
    //Este metodo nunca es lanzado :(
    private static void DataReceivedHandler(object sender,SerialDataReceivedEventArgs e)
    {
        SerialPort sp = (SerialPort)sender;
        string indata = sp.ReadExisting();
        Console.WriteLine("Data Received:");
        Console.Write(indata);
    }
}
    
asked by maickol rodriguez 14.06.2018 в 19:36
source

1 answer

1

I see that you are opening the port but the event is not the right one

mySerialPort.DataReceived += new SerialDataReceivedEventHandler(mySerialPort_DataReceived);

with this line you indicate that your serial receiver event is called mySerialPort_DataReceived and not DataReceivedHandler

changes

 private static void DataReceivedHandler(object sender,SerialDataReceivedEventArgs e)

for

 private static void mySerialPort_DataReceived(object sender,SerialDataReceivedEventArgs e)
    
answered by 14.06.2018 в 22:34