Python和arduino串行通信错误

时间:2017-12-08 10:34:48

标签: python

Python3代码:

import serial

arduinoData = serial.Serial(4, 9600)

while(1):
    if (arduinoData.inWaiting()>0):
         myData=  arduinoData.readline()
         print (myData)
         arduinoData.open()

错误:

Traceback (most recent call last):
  File "E:/Scripts/Examples/arduinopython.py", line 3, in <module>
    arduinoData = serial.Serial(4, 9600)
  File "C:\Users\Om\AppData\Local\Programs\Python\Python36-32\lib\site-packages\serial\serialwin32.py", line 31, in __init__
    SerialBase.__init__(self, *args, **kwargs)
  File "C:\Users\Om\AppData\Local\Programs\Python\Python36-32\lib\site-packages\serial\serialutil.py", line 171, in __init__
    self.open()
  File "C:\Users\Om\AppData\Local\Programs\Python\Python36-32\lib\site-packages\serial\serialwin32.py", line 47, in open
    if port.upper().startswith('COM') and int(port[3:]) > 8:
AttributeError: 'int' object has no attribute 'upper'

任何人都可以帮忙找到我错的地方吗?

1 个答案:

答案 0 :(得分:2)

serial.Serial构造函数需要这个:

arduinoData = serial.Serial("COM4", 9600)

com_number是字符串而不是int。