如果我用Pyserial打开一个端口,然后尝试将GCode写入打印机控制器板两次,则第二个命令不会执行。如果我在第一次写入数据后关闭端口,然后重新打开并再次写入,则可以正常工作。我发现了another stackoverflow篇文章详细描述了相同的问题,但解决方案不适用于我的代码,因为串行对象实例化默认为dsrdtr=False
。这是我的密码:
from serial import Serial
from typing import cast
import time
serial = Serial(str('COM4'), 115200, timeout=2, writeTimeout=3) # Open port
time.sleep(1) # Wait for board to boot
serial.write(b'G00 X25\n') # Rotate stepper motor
time.sleep(2) # Wait 2 seconds or else the port will close before the motor stops rotating
serial.close()
serial.open()
time.sleep(1) # Wait for board to boot
serial.write(b'G00 X25\n') # Rotate stepper motor
什么能解释这种行为
已解决:问题与软件无关。我发现我的电路板的端点总是通过使用
serial.write(b'M119\n')
触发的。通过连接常闭配置中的止动块进行修复相关问题 更多 >
编程相关推荐