我试图使用一个变量将字符串传递给序列号。序列号函数。以下是我想要的:
port = serial.Serial("/dev/ttyAMA0", baudrate=9600,bytesize=serial.SEVENBITS,stopbits=serial.STOPBITS_ONE,parity=serial.PARITY_EVEN,timeout=3.0)
但是,如果我试图将字符串放入像这样的变量中,然后用变量调用函数,就会得到一个错误。在
^{pr2}$错误如下:
Traceback (most recent call last): File "./cncserver.py", line 34, in port = serial.Serial(serialString) File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 260, in init self.open() File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 276, in open raise SerialException("could not open port %s: %s" % (self._port, msg)) serial.serialutil.SerialException: could not open port "/dev/ttyAMA0",baudrate=9600,bytesize=serial.SEVENBITS,stopbits=serial.STOPBITS_ONE,parity=serial.PARITY_EVEN,timeout=3.0: [Errno 2] No such file or directory: '"/dev/ttyAMA0",baudrate=9600,bytesize=serial.SEVENBITS,stopbits=serial.STOPBITS_ONE,parity=serial.PARITY_EVEN,timeout=3.0'
我猜这是因为字符串中的文件路径没有被正确引用,但是我已经花了足够的时间试图弄明白,有人能帮我吗?在
谢谢, 洛恩
这是我修改后的代码:
#parameter settings of the serial port on the PI must match the control
serialPort = "/dev/ttyAMA0"
serialBaudRate = 9600
serialByteSize = serial.SEVENBITS
serialStopBits = serial.STOPBITS_ONE
serialParity = serial.PARITY_EVEN
serialTimeout = 3.0
port = serial.Serial(serialPort,serialBaudRate,serialByteSize,serialStopBits,serialParity,serialTimeout)
以下是新错误:
Traceback (most recent call last): File "./cncserver.py", line 39, in port = serial.Serial(serialPort,serialBaudRate,serialByteSize,serialStopBits,serialParity,serialTimeout) File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 250, in init self.parity = parity File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 344, in setParity if parity not in self.PARITIES: raise ValueError("Not a valid parity: %r" % (parity,)) ValueError: Not a valid parity: 1
不等于
^{pr2}$这不是字符串,而是作为键对值传递的函数参数。在
向函数发送6个不同的参数::-
/dev/ttyAMA0
波特率为9600
字节化为七位连环
停止位组件串行停止位
奇偶校验组件串行奇偶校验
超时为3.0
'"/dev/ttyAMA0",baudrate=9600,bytesize=serial.SEVENBITS,stopbits=serial.STOPBITS_ONE,parity=serial.PARITY_EVEN,timeout=3.0'
只发送一个参数作为
至于你想做什么
初始化:
你想打到哪里就打电话给他们
相关问题 更多 >
编程相关推荐