-1

Python3 Code:

import serial

arduinoData = serial.Serial(4, 9600)

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

Error:

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'

Can anyone help in finding where I am going wrong ?

SiHa
  • 7,830
  • 13
  • 34
  • 43
  • 2
    `port.upper().startswith('COM') and int(port[3:]) > 8: AttributeError: 'int' object has no attribute 'upper'` any chance you are sending an integer for port but it is expecting a string? – suvartheec Dec 08 '17 at 10:41
  • Possible duplicate of [pyserial serialwin32.py has attribute error](https://stackoverflow.com/questions/34574311/pyserial-serialwin32-py-has-attribute-error) – quamrana Dec 08 '17 at 11:03

1 Answers1

2

serial.Serial constructor need this:

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

com_number is string and not int.

Erik Šťastný
  • 1,487
  • 1
  • 15
  • 41