gpt4 book ai didi

c# - 如何自动检测连接到 COM 端口的设备

转载 作者:行者123 更新时间:2023-11-30 22:31:53 25 4
gpt4 key购买 nike

我想自动检测连接到计算机 COM 端口的设备。能够使用 SerialPort 类使我能够轻松获得可用 COM 端口的列表。

我想遍历它们并轮询(发送命令)到每个端口并等待响应。但是,似乎大多数教程都建议使用 DataReceived 事件。我不知道如何进行串行发送,然后等待 xx 秒,直到收到设备的响应。

最佳答案

当您需要与可以在非常不可预测的时间发送内容的设备通信时,DataReceived 事件非常有用。您不必耗尽一个只会阻塞并等待设备发送内容的线程。

但这与您想要实现的目标完全相反,您确实期望得到一些东西。所以不要使用 DataReceived,使用 Read() 并将 ReadTimeout 属性设置为适当的低值。现在很简单了。还可以考虑使用 DsrHolding 属性。当有一个设备连接到端口并且它已通电时,这是真的。

我应该注意到这样做是相当危险的。你不知道机器上连接了什么样的设备,向它们发送它们不是设计用来处理的东西是相当棘手的。如果有什么“你在吗?”您发送的命令恰好意味着机器人 Controller “以 1G 加速度回家”,那么有人很容易受伤。你不能在任何类型的工业环境中这样做。

到目前为止,最好的方法是让其他人负责把这件事做好。添加一个选项菜单,让用户设置端口名称。还有设置,它们也很重要,没有办法自动检测它们。选项对话框可以有一个“帮我找到设备”按钮,现在它很安全而且很有用。

关于c# - 如何自动检测连接到 COM 端口的设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9015956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com