我有一个WPF应用程序,每隔几分钟从COM端口读取数据。我的理解是,如果你不断地从COM端口读取数据,最好让它们保持打开而不是每次打开和关闭。我需要一些帮助。
我已尝试在应用程序的OnStartup方法中设置并打开端口,然后将DataReceived方法粘贴到它上,但当我在其他页面上时,这似乎不起作用。窗口。该方法没有被调用。我尝试通过application.current.resources将COM端口实例传递到另一个页面并尝试从中读取,但这也会导致异常。
在应用程序启动时是否有任何打开端口的标准方法,并将全局事件处理程序附加到应用程序中的任何位置。如果我可以实现这一点,那么我可以将读取的数据存储在应用程序资源中并在整个应用程序中使用它。任何提示都将不胜感激。
拉扎
答案 0 :(得分:0)
使用com对象时,对象的DataReceived事件并不总是被触发正确。
这就是为什么即使在使用COM端口的MSDN示例中,他们也使用Thread。
因为你没有提供任何代码,所以这里是你如何使用.net中的com端口进行读写:
http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx
如果您需要更具体的内容,请提供更多详细信息。