-1
我正在尝试读取和写入串行端口,似乎我无法清除缓冲区。 我试过DiscardIn/Out方法无济于事。从串口发送的数据已经被应该被清除的缓冲区抵销。从串行端口读取时堆栈溢出
public static SerialPort serialPort;
public static StringBuilder sendData { get { return sendData; } set { sendData = value;if (sendData.Equals("q")) quitEvent(); } }
static void Main(string[] args)
{
del ex = new del(StopThread);
serialPort = new SerialPort();
serialPort.PortName = "COM3";
serialPort.BaudRate = 9600;
serialPort.ReadTimeout = 2000;
_continue = true;
serialPort.Open();
serialPort.DiscardInBuffer();
serialPort.DiscardOutBuffer();
Thread readthread = new Thread(ReadFromSerial);
Thread writethread = new Thread(WriteToSerial);
readthread.Start();
writethread.Start();
readthread.Join();
writethread.Join();
serialPort.Close();
Console.ReadLine();
}
我的错误我纠正了autoproperty.Still事件没有触发。我的意思是我认为stringbuilder获取设置与他从串口收到的,但如果我按“q”它不会添加到收到的一行。 –