如何在没有重启的情况下打开Arduino串口

时间:2015-12-11 18:35:00

标签: python arduino serial-port

我正在编写一个与Arduino通信的python脚本。每次我关闭python脚本并再次打开它时,Arduino都会重新启动。这是因为脚本在启动时重新打开了串口,因此我的Arduino重新启动。有没有办法在不重启Arduino的情况下打开脚本中的串口?

这是我的Python代码:

import time
import serial
from sys import argv

script,elemento,control =argv

arduino= serial.Serial('COM7',9600)
#while True:
time.sleep(1)
elemento=int(elemento)
control=int(control)
if (elemento>0) & (elemento<10):
    print(elemento)
    print(control)
    if control == 1:
        arduino.write(str(elemento))
        time.sleep(0.5)
        arduino.write(str(control))
    elif control == 0:
        arduino.write(str(elemento))
        arduino.write(str(control))
arduino.close()

1 个答案:

答案 0 :(得分:1)

Arduino被重置,因为串口打开命令正在激励DTR线。我的python经验非常少,但是link将dsrdtr显示为第九个参数。通过在那里放一个bool你应该能够让它停止重置。我不确定你是想要0还是1,所以你必须进行实验。

此外,根据具体的电路板和焊接能力,通常有一个组件可以从电路板上移除,以阻止串口重置电路板。请注意,此选项使上载新固件变得更加困难,因为引导加载程序使用重置启动。

祝你好运!