日期:2014-05-17 浏览次数:21208 次
void _DeviceCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//这里处理数据
int DataCount = _DeviceCom.BytesToRead;
byte[] ReCMD = new byte[DataCount];//存放接收到的数据
serialPort1.Read(ReCMD, 0, DataCount);
}
------解决方案--------------------
算了,我还是贴我自己的代码吧
SerialPort _DeviceCom = new SerialPort();
_DeviceCom.DataReceived += new SerialDataReceivedEventHandler(_DeviceCom_DataReceived);
void _DeviceCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//这里处理数据
int DataCount = _DeviceCom.BytesToRead;
byte[] ReCMD = new byte[DataCount];//存放接收到的数据
_DeviceCom.Read(ReCMD, 0, DataCount);
}
------解决方案--------------------
就是微软封装的串口接收到数据后会自动触发的一个事件.
------解决方案--------------------
已经说的很清楚了。
就是当有数据到当串口时,出发该事件。
你在其中写代码接收数据。
------解决方案--------------------
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
这句的意思是为serialPort1添加一个DataReceived事件,就是当串口有数据进来的时候,就会触发这个事件的。
你想接收数据的话,在DataReceived事件里添加接收数据的方法就好了。
------解决方案--------------------
DataReceivedHandler方法中接收数据。
------解决方案--------------------