USB 虚拟端口 当您为 USB 配置虚拟串行端口时,其中一个参数是数据速率。在 USB 实现的上下文中,这是没有意义的,对通信速度没有影响。我之前在 iMXRT1021 板的 USB 虚拟串行端口上运行了一些测试,并在端口配置为高速时设法获得大约 30Mbytes/s 的持续传输速率,缓冲区大小对此很重要。 因此,对于数据记录通信,USB 虚拟串行端口具有大量带宽,可以在不干扰正常操作的情况下使用。这就像将数据记录器永久连接到 GRBL 控制器,并使用简单的“M”代码将其打开或关闭。这提供了检查一切是否正常执行的能力,而无需加工任何东西。它将提供显示经过的路径所需的数据,以及该路径的动力学、速度/加速度。
我在 iMXRT1052 SEEED Arch Mix 板的 grblHAL 实现中添加了日志记录功能。该板能够在运行 GCode 时传达每个步骤及其时间(10us 分辨率)。它在执行实时任务时有效地记录了自己的数据。数据通过 USB 虚拟串行连接进行通信,每个字节都设置了 0x80 位以区别于正常的 GRBL 流量。在 PC 端,数据根据 0x80 位分为两个流,并将日志记录数据保存到文件,同时正常处理原始 GRBL 流量。
USB 虚拟端口
当您为 USB 配置虚拟串行端口时,其中一个参数是数据速率。在 USB 实现的上下文中,这是没有意义的,对通信速度没有影响。我之前在 iMXRT1021 板的 USB 虚拟串行端口上运行了一些测试,并在端口配置为高速时设法获得大约 30Mbytes/s 的持续传输速率,缓冲区大小对此很重要。
因此,对于数据记录通信,USB 虚拟串行端口具有大量带宽,可以在不干扰正常操作的情况下使用。这就像将数据记录器永久连接到 GRBL 控制器,并使用简单的“M”代码将其打开或关闭。这提供了检查一切是否正常执行的能力,而无需加工任何东西。它将提供显示经过的路径所需的数据,以及该路径的动力学、速度/加速度。
现在我只需要编写一个程序来解释数据:)
我知道这是 GRBL 而不是 grblHAL,但是实现它的代码非常简单并且同样适用于两种流。干杯。