//初始化串口
_serial_port.PortName = cb_COM.SelectedItem.ToString();
_serial_port.BaudRate = 2400;
_serial_port.StopBits = StopBits.One;//不支持stopbits.none
_serial_port.Parity = Parity.None;
_serial_port.DataBits = 8;
_serial_port.ReadTimeout = 2000;
_serial_port.WriteTimeout = 5000;
_serial_port.RtsEnable = true;
_serial_port.Open();
_serial_port.DiscardInBuffer();
_serial_port.DiscardOutBuffer();char[] config = new char[35];
char[] rxbuffer = new char[32];config[10] = 'c';
//1表示发送配置信息,0表示发送数据
config[32] = Convert.ToChar(0x01);
string str = new string(config);
//发送
_serial_port.WriteLine(Convert.ToString(str));
//停顿1-2秒
Thread.Sleep(1000); try
{
int num = _serial_port.Read(rxbuffer,0,32) ;//串口助手发现收到的是发的数据
string stringstr = _serial_port.ReadLine();//这里直接超时或异常跳到catch
//config = tempstring.ToCharArray();
string tmstr = new string(rxbuffer);
//验证是否连接成功
MessageBox.Show("一共读取"+tmstr+"字节","提示");
}
catch
{
_serial_port.DiscardInBuffer();
_serial_port.DiscardOutBuffer();
}C#
_serial_port.PortName = cb_COM.SelectedItem.ToString();
_serial_port.BaudRate = 2400;
_serial_port.StopBits = StopBits.One;//不支持stopbits.none
_serial_port.Parity = Parity.None;
_serial_port.DataBits = 8;
_serial_port.ReadTimeout = 2000;
_serial_port.WriteTimeout = 5000;
_serial_port.RtsEnable = true;
_serial_port.Open();
_serial_port.DiscardInBuffer();
_serial_port.DiscardOutBuffer();char[] config = new char[35];
char[] rxbuffer = new char[32];config[10] = 'c';
//1表示发送配置信息,0表示发送数据
config[32] = Convert.ToChar(0x01);
string str = new string(config);
//发送
_serial_port.WriteLine(Convert.ToString(str));
//停顿1-2秒
Thread.Sleep(1000); try
{
int num = _serial_port.Read(rxbuffer,0,32) ;//串口助手发现收到的是发的数据
string stringstr = _serial_port.ReadLine();//这里直接超时或异常跳到catch
//config = tempstring.ToCharArray();
string tmstr = new string(rxbuffer);
//验证是否连接成功
MessageBox.Show("一共读取"+tmstr+"字节","提示");
}
catch
{
_serial_port.DiscardInBuffer();
_serial_port.DiscardOutBuffer();
}C#
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货