我正在尝试从rs232读取。出于某种原因,有时(并非总是)在读取字符串后需要两个空格。
public static void Modem(Main ths)
{
mySerialPort = new SerialPort(Connection.ModemSerialPort);
mySerialPort.BaudRate = 115200;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.Handshake = Handshake.None;
mySerialPort.Open();
mySerialPort.WriteLine("AT+VCID=1\r");
mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
try
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
if (indata.Contains("=") == true)
{
string str = indata.Split('=').Last().Trim();
}
所以我的结果是'测试'
我不知道为什么会这样。