【发布时间】:2013-04-26 16:02:08
【问题描述】:
我为从串行端口接收数据创建了一个事件处理程序,它只有在我放置断点并且当我删除它时才能正常工作,函数不会调用这是我的代码 我已经将端口声明为 SerialPort 的对象
private static void DataReceivedHandler( object sender,SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
// sp.Open();
string indata = sp.ReadExisting();
Console.WriteLine("Data Received:");
if (indata == "kitchen_light_on\r\n")
f1.update_flag("living_light", 1);
else if(indata == "kitchen_light_off\r\n")
f1.update_flag("living_light", 0);
}
port.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
【问题讨论】:
-
通常这样的错误与调试本身无关。根据我的经验,我可以说这可能是一个时间问题(其他线程干扰了调用等)。你检查过这个方向吗?
-
为什么不使用
sp.ReadLine()?
标签: c# events serial-port visual-studio-debugging