PySerial App在shell中运行,而不是py脚本

Jer*_*lum 5 python shell serial-port arduino pyserial

我有一个非常简单的python脚本,它使用pySerial通过串口发送数据到我的Arduino.当我在python shell中逐行执行时,它工作正常,但是当我把它放在".py"文件中并尝试运行它时,没有任何反应.虽然我的UART上的串行指示灯闪烁.所以有些东西正在通过,但它是垃圾(我检查过).

这是简单的代码.

import serial

ser = serial.Serial('COM3',9600,timeout=.2)
ser.write('A')
ser.close()
Run Code Online (Sandbox Code Playgroud)

我已经尝试过添加睡眠,但似乎没有什么可以修复它.有任何想法吗?

Jer*_*lum 7

好的,我已经明白了!

在执行写操作之前,必须使用这样的代码:

time.sleep(1)
ser.setDTR(level=0)
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

否则,arduino会因某种原因在收到串行连接时自动重置.好极了!