为此,我使用的是Windows7、Python2.7.3和PySerial2.6。我用COM6做我的Arduino。在
我试图从Python程序发送数据到Arduino进行读取,它一直返回一个“SerialException error”。在
下面是Python代码:
import serial
import time
ser = serial.Serial('COM6', 9600, timeout=0)
var = raw_input("Enter something: ")
ser.write(var)
while 1:
try:
print ser.readline()
time.sleep(1)
except ser.SerialTimeoutException:
print('Data could not be read')
以下是Arduino代码:
^{pr2}$以下是运行脚本时在Python中遇到的错误:
Traceback (most recent call last):
File "C:/Users/admin/Desktop/test", line 3, in <module>
ser = serial.Serial('COM6', 9600, timeout=0)
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 34, in __init__
SerialBase.__init__(self, *args, **kwargs)
File "C:\Python27\lib\site-packages\serial\serialutil.py", line 261, in __init__
self.open()
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 62, in open
raise SerialException("could not open port %s: %s" % (self.portstr, ctypes.WinError()))
SerialException: could not open port COM6: [Error 5] Access is denied.
我如何解决这个错误?Python可以很好地从Arduino中读取数据,但不会写入它。在
除了确保港口关闭,还有几件事需要注意。。。在
使用PySerial发送的数据只能是
byte
(对于超过1个字节的数据,只能是bytestream
)类型。不能按原样发送用户输入。flush()写入后的数据
相关问题 更多 >
编程相关推荐