开源改变世界!!

更高 COM 端口号的问题 #329

推推 grbl 2年前 (2023-01-26) 148次浏览
关闭
BallscrewBob 打开了这个问题 2018 年 4 月 13 日 · 7条评论
关闭

更高 COM 端口号的问题#329

BallscrewBob 打开了这个问题 2018 年 4 月 13 日 · 7条评论

注释

更高 COM 端口号的问题 #329

它从 COM 25 标记开始。

Win 7 x65 pro 不错的机器规格和其他 GRBL 发送器似乎不介意更高的 COM 端口。
请不要让我删除我为 Arduino CREATE 测试的未使用的 COM 端口,因此总是有过多的带电板(Arduino 本身至少有 14 个,还有一些使用两个 COM 端口,例如 YUN 和 MKR 系列等)。

我遇到了与 COM 27 断开连接并关闭程序的问题。
重新启动程序,COM 27 仍被列为连接,到目前为止一切正常。
但是,在尝试连接时,我收到一条消息“端口‘COM2’不存在”。然而,它会连接到 25 以下的任何端口。
奇怪的是,它主要连接到那个端口,我用它做了一些激光测试,这使得它更加奇特。

更高 COM 端口号的问题 #329
所有者
阿尔基皮塔 评论了 2018 年 4 月 13 日  

我有一段代码可以处理蓝牙串行桥#31的一个已知问题,该问题需要尝试使用提供的 COM 编号打开端口,如果失败则尝试打开没有最后一位数字的相同端口。

我认为这就是当您打开“COM27”时错误“COM2”不存在的原因。

由于第一个打开被错误捕获,第二个打开没有被错误捕获,这就是为什么你在第二次尝试时使用第二个数字收到消息,但这并不意味着在端口 27 上进行了打开尝试。
恕我直言,第一个用 COM27 打开端口出错(可能已经打开了?)所以你在第二次尝试时遇到了错误。

查看您的会话日志以获取更多详细信息(菜单? – 打开会话日志)

try
{
	Logger.LogMessage("OpenCom", "Open {0} @ {1} baud {2}", com.PortName.ToUpper(), com.BaudRate, ResetDiagnosticString());

	com.Open();
	com.DiscardOutBuffer();
	com.DiscardInBuffer();
}
catch (System.IO.IOException ioex)
{
	if (char.IsDigit(mPortName[mPortName.Length - 1]) && char.IsDigit(mPortName[mPortName.Length - 2])) //two digits port like COM23
	{
		//FIX https://github.com/arkypita/LaserGRBL/issues/31
		com.PortName = mPortName.Substring(0, mPortName.Length - 1); //remove last digit and try again
		Logger.LogMessage("OpenCom", "Retry open {0} @ {1} baud", com.PortName.ToUpper(), com.BaudRate);

		com.Open();
	}
	else
	{
		throw ioex;
	}
}
更高 COM 端口号的问题 #329

会话日志将不得不等到它再次发生。
作为我使用 Arduino 进行调试的一部分,我使用 CCLEANER 和 WISE 注册表清理器来清除缓存等。
我已经运行它们以查看它是否有帮助,顺便说一句!

我怀疑它是浏览器缓存,但可能是临时文件或注册表项中的某些内容?

更高 COM 端口号的问题 #329
作者
滚珠丝杠鲍勃 评论了 2018 年 4 月 15 日  

我认为这是您需要从日志中获取的相关部分。
[…]
14/04/2018 7:41:24 PM 程序 —— LaserGRBL v2.8.42 START ——
14/04/2018 7:41:27 PM SetStatus 机器状态[断开连接]
14/04/2018 7:42:38 PM SetStatus 机器状态 [连接]
14/04/2018 7:42:38 PM OpenCom Open COM27 @ 115200 波特
14/04/2018 7:42:38 PM OpenCom 重试打开 COM2 @ 115200 波特
14/04/2018 7:42:38 PM OpenCom 错误:端口“COM2”不存在。
14/04/2018 7:42:38 PM SetStatus 机器状态 [断开]
14/04/2018 7:42:41 PM SetStatus 机器状态 [连接]
14/04/2018 7:42:41 PM OpenCom 打开 COM27 @ 115200波特率
14/04/2018 7:42:41 PM OpenCom 重试打开 COM2 @ 115200 波特
14/04/2018 7:42:41 PM OpenCom 错误:端口“COM2”不存在。
14/04/2018 7:42:41 PM SetStatus 机器状态 [断开]
14/04/2018 7:42:46 PM SetStatus 机器状态 [连接]
14/04/2018 7:42:46 PM OpenCom 打开 COM27 @ 115200波特
14/04/2018 7:42:46 PM OpenCom 重试打开 COM2 @ 115200 波特
14/04/2018 7:42:46 PM OpenCom 错误:端口“COM2”不存在。
14/04/2018 7:42:46 PM SetStatus 机器状态 [断开]
14/04/2018 7:43:54 PM SetStatus 机器状态 [连接]
14/04/2018 7:43:54 PM OpenCom 打开 COM27 @ 115200波特率
14/04/2018 7:43:54 PM OpenCom 重试打开 COM2 @ 115200 波特
14/04/2018 7:43:54 PM OpenCom 错误:端口“COM2”不存在。
14/04/2018 7:43:54 PM SetStatus 机器状态 [断开连接]
14/04/2018 7:49:49 PM 程序 ———— 程序停止 ——– —–
`

更高 COM 端口号的问题 #329
所有者

这证实了我所说的,但不幸的是没有提供更多信息,因为报告的错误与第二次尝试(重试打开 COM2)有关,并且没有报告导致无法打开 COM27 的错误:-(

我会尽快在下一个版本中为这个问题写一个更好的诊断