Dog*_*Dog 3 c# byte serial-port send
在C#中将单个字节写入.NET 4.0中的串行端口会导致a
用户代码未处理InvalidOperationException
每次将一个字节发送到SerialPort.
如何将单个字节写入串行端口?
//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);
}
Run Code Online (Sandbox Code Playgroud)
配置:
_commManger = new NetCommManager(commPortNumber,
NetCommManager.TransmissionType.Text, "19200", "None", "One", "8");
Run Code Online (Sandbox Code Playgroud)
要写的字节:
_commManager.WriteByte(Convert.ToByte( 0x7B));
Run Code Online (Sandbox Code Playgroud)
而WriteByte函数为:
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
}
Run Code Online (Sandbox Code Playgroud)
NetCommManager类非常基于此示例