简体   繁体   中英

C# Serial Port Write Byte

Writing a single byte to the serial port in .NET 4.0 in C# causes a

InvalidOperationException was unhandled by user code

Every time a byte is sent to the SerialPort.

How do I write a single byte to the serial port?

    //Serial Init
    //Full fledged constuctor
    public NetCommManager(String portName, TransmissionType trans, String baud, String parity, String stopBits, String dataBits)
    {
        nc_baudRate = baud;
        nc_parity = parity;
        nc_stopBits = stopBits;
        nc_dataBits = dataBits;
        nc_portName = portName;
        nc_transType = trans;

        //now add an event handler
        comPort.DataReceived += new SerialDataReceivedEventHandler(netComm_DataReceived);
    }

Config:

       _commManger = new NetCommManager(commPortNumber,                        
       NetCommManager.TransmissionType.Text, "19200", "None", "One", "8");

The Byte to be written:

_commManager.WriteByte(Convert.ToByte( 0x7B));

And WriteByte function is:

public void WriteByte(byte data)
        {
            //change data to array
            //byte[] dataArray = new byte[1];
            var dataArray = new byte[] {data};
            //dataArray[0] = data;
            comPort.Write(dataArray, 0, 1);   // <-- Exception is thrown here
        }

The NetCommManager class is very much based on this example

你忘了Open() comPorthttp//msdn.microsoft.com/en-us/library/ms143551.aspx

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM