【发布时间】:2012-03-29 02:26:47
【问题描述】:
我正在尝试从 c# 应用程序中的数字秤读取重量,发现 this 问题 这正是我想要做的 但对我来说,下面的函数永远不会运行。
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
this.Invoke(new EventHandler(DoUpdate));
}
我在设备管理器中检查了比例,它的位置设置为Port_#0004.Hub_#0003 并且似乎工作正常
我不确定秤的端口号,所以我做了
var test = SerialPort.GetPortNames();
只有COM1 被返回
【问题讨论】:
-
也许秤没有给你任何数据?使用 portmon 查看计算机是否正在接收任何数据。
-
如果你还没有,你可能需要一个驱动把USB连接变成一个虚拟的COMM端口,否则打开串口将无法连接到USB设备。编辑 SamFisher83 的观点很好,您可能需要以某种方式对其进行初始化以使其发送信息。
-
@SamFisher83 我正在使用 win 7 (x64) portmon,现在可以使用,还有其他选择吗?
-
秤收到指令后总会返回响应。响应可能是说命令未被理解或用户传递了错误的参数,但只要接收到某些内容就会返回。
-
如果这是 USB 连接而不是真正的串行端口连接(使用 d-sub 连接器直接连接到计算机上的物理端口),那么 COM1 可能是错误的。检查 Windows 控制面板上的设备管理器,查看 Windows 是否看到虚拟 COM 端口。如果您不确定,请将其拔下并重新插入,然后查看哪个端口消失然后重新出现。如果您没有看到任何内容,则可能是缺少驱动程序。
标签: c# .net usb serial-port