连接外接设备,用串口调试工具无法接受到数据。于是本人想先用串口调试工具发送数据,用程序接收数据测试一下,但是程序接收数据的时候不触发DataReceived事件。代码如下
public void OpenPort()
{
//设置串口
SerialPort1 = new SerialPort();
SerialPort1.PortName = “COM1”;
SerialPort1.BaudRate = 9600;//波特率
SerialPort1.Parity = Parity.None;//奇偶校验位
SerialPort1.DataBits = 8;//数据位
SerialPort1.StopBits = StopBits.One;//停止位
//准备就绪
SerialPort1.DtrEnable = true;
SerialPort1.RtsEnable = true;
//设置数据读取超时为1秒
SerialPort1.ReadTimeout = 1000;
SerialPort1.ReceivedBytesThreshold = 1;
//if (SerialPort1.IsOpen==false)
//{
// SerialPort1.Open();
//}
SerialPort1.DataReceived += Sp_DataReceived;
}
//接收数据事件处理
void Sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
SerialPort sp = sender as SerialPort;
//readBuffer 就是接收到的数据。
byte[] readBuffer = new byte[sp.ReadBufferSize];//扩大接收数据量
sp.Read(readBuffer, 0, readBuffer.Length);
}
private void Form6_Load(object sender, EventArgs e)
{
OpenPort();
}

串口发送数据为自动发送,串口参数和设备管理器里面的一样

就是不触发DataReceived事件,大哥们。求帮助啊。
public void OpenPort()
{
//设置串口
SerialPort1 = new SerialPort();
SerialPort1.PortName = “COM1”;
SerialPort1.BaudRate = 9600;//波特率
SerialPort1.Parity = Parity.None;//奇偶校验位
SerialPort1.DataBits = 8;//数据位
SerialPort1.StopBits = StopBits.One;//停止位
//准备就绪
SerialPort1.DtrEnable = true;
SerialPort1.RtsEnable = true;
//设置数据读取超时为1秒
SerialPort1.ReadTimeout = 1000;
SerialPort1.ReceivedBytesThreshold = 1;
//if (SerialPort1.IsOpen==false)
//{
// SerialPort1.Open();
//}
SerialPort1.DataReceived += Sp_DataReceived;
}
//接收数据事件处理
void Sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
SerialPort sp = sender as SerialPort;
//readBuffer 就是接收到的数据。
byte[] readBuffer = new byte[sp.ReadBufferSize];//扩大接收数据量
sp.Read(readBuffer, 0, readBuffer.Length);
}
private void Form6_Load(object sender, EventArgs e)
{
OpenPort();
}

串口发送数据为自动发送,串口参数和设备管理器里面的一样

就是不触发DataReceived事件,大哥们。求帮助啊。
解决方案
50
用串口工具向串口发数据,串口工具收不到数据?假如是这样你发的数据就有问题!