我正在研究激光切割机/雕刻机,这是Lasersaur开源激光切割机/雕刻机项目的一部分。我完成了硬件构建,没有意识到涉及到一些软件编程,在这种情况下是Python。我完全不了解Python以及我在C#中从头开始构建自定义CMS的编码经验。
这是我的设置。
电脑:东芝Satellite A-105
操作系统:Windows XP,SP3
代码:Python 2.7
开发板:Arduino Uno
Arduino客户端与Uno董事会谈话很好,所有测试和上传工作。使用Arduino网站上的入门指南,我能够设置一个COM端口供它使用,在这种情况下是COM7。问题是,当我运行Python GUI并编译Lasersaur提供的代码时,我收到此错误:
Traceback (most recent call last):
File "C:\LASERSAUR\lasersaur_Grbl\stefanix-LasaurGrbl-dac1a86\flash.py", line 128, in <module>
devices = os.listdir("/dev")
WindowsError: [Error 3] The system cannot find the path specified: '/dev/*.*'
Lasersaur的人说我需要在代码中设置COM端口。我只是不知道自己做得还是提出正确的问题。然而,经过大量的阅读和盯着我的屏幕,我相当确定我需要在这里设置端口:
## define serial port
##
if len(sys.argv) == 2:
# (1) get the serial device from the argument list
SERIAL_PORT = sys.argv[1]
print "Using serial device '"+ SERIAL_PORT +"' from command line."
else:
if os.path.isfile(CONFIG_FILE):
# (2) get the serial device from the config file
fp = open(CONFIG_FILE)
line = fp.readline().strip()
if len(line) > 3:
SERIAL_PORT = line
print "Using serial device '"+ SERIAL_PORT +"' from '" + CONFIG_FILE + "'."
if not SERIAL_PORT:
# (3) try best guess the serial device if on linux or osx
devices = os.listdir("/dev")
for device in devices:
if device[:len(GUESS_PPREFIX)] == GUESS_PPREFIX:
SERIAL_PORT = "/dev/" + device
print "Using serial device '"+ SERIAL_PORT +"' by best guess."
break
我相当肯定当我看到它时,这将是一个额头拍打答案。但任何帮助将不胜感激。如果您需要更多详细信息,请与我们联系。
答案 0 :(得分:0)
从命令行运行此脚本时是否传递任何参数?好像你不是。 从命令行尝试:
C:\>python flash.py COM7
如果仍然无效(或者这就是你一直在做的事情),那么你可能最好将#'s
放在上面发布的代码中的每一行前面,并替换它与
SERIAL_PORT = "COM7"