日期:2014-05-17 浏览次数:21051 次
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方法中接收数据。
------解决方案--------------------