我正在使用以下代码
# simpleSerialSend.py
import sys
import serial
import time
PORT = 'COM4' # The port my Arduino is on, on my WinXP box.
def main(val=5):
# Open a connection to the serial port. This will reset the Arduino, and
# make the LED flash once:
ser = serial.Serial(PORT)
# Must given Arduino time to rest.
# Any time less than this does not seem to work...
time.sleep(1.5)
# Now we can start sending data to it:
written = ser.write(val)
ser.close()
print ("Bytes Written to port:", written)
print ("Value written to port: '%s'"%val)
if __name__ == '__main__':
args = sys.argv
try:
main(args[1])
except IndexError:
main()
我对python有点新手。 所以我得到的错误就像在描述中所说的整数所需。 我使用以下规则在我的cmd中运行它:c:\ pyModules \ simpleSerialSend.py 5 只有我得到错误才能正常工作。代码的作用是将变量发送到我的arduino,以便灯闪烁。 arduino的代码是正确的。
答案 0 :(得分:1)
论据以str
的形式出现。因此,问题的解决方案实际上只是将字符串转换为int
main(int(args[1])) # assuming args[1] is a parsable numeric string
另外,请查看argparse。