我用C#的serialport 接收数据,每次都不能触发DataReceived。我知道DataReveived在辅助线程 5
1个回答
2016-05-22
展开全部
由于串口在不断的接收数据,DataReceived事件在不断的触发,所以数据处理放到委托里面,DataReceived只做数据接收,假如你把数据处理放在DataReceived事件中,可能会影响到数据的接收。
如果你对委托不太了解,可以查阅MSDN文档:http://msdn.microsoft.com/zh-cn/library/ms173171.aspx
另外,调试的话最好不要用MessageBox,用MessageBox后需要点击确定才能执行下面的代码,影响程序的执行。
用Console.WriteLine(text),在输出的调试列表即可看到信息。
如果你对委托不太了解,可以查阅MSDN文档:http://msdn.microsoft.com/zh-cn/library/ms173171.aspx
另外,调试的话最好不要用MessageBox,用MessageBox后需要点击确定才能执行下面的代码,影响程序的执行。
用Console.WriteLine(text),在输出的调试列表即可看到信息。
追问
问题是调试过程中发现DataReceived事件一直触发不了,还有,我没有使用MessageBox,我只是想让收到的数据在textbox里面显示,不过一直没有成功。因为触发不了DataReveived事件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询