Python-Arduino-Prototyping-API v2-关闭串口

标签 python arduino-uno

我正在使用 Python-Arduino-Prototyping-API - v2 模块与我的 Osepp Uno(Arduino 克隆)进行通信。 API 确实有一个关闭端口的 close() 函数。我想在打开程序时检查端口的状态。如果端口是打开的,我想关闭它,以便程序的其余部分可以访问该端口。

到目前为止,这是我的代码:

from arduino import Arduino
import time
import serial.tools.list_ports

#Find USB Port
def find_port():  #Finds which port the arduino is plugged into
    ports = list(serial.tools.list_ports.comports())
    for p in ports:
        if '0403' in p[2]: 
            print p
            return p[0]
usbport = find_port() 
b = Arduino(usbport) #adds port 

pin = 0

b.output([])

while (True):
    val = b.analogRead(pin)    
    print val        
    print usbport
    time.sleep(0.05)

最佳答案

我想通了。我使用 pySerial 检查端口是否打开,如果打开,我将其关闭。这确保端口可用于程序的其余部分。

from arduino import Arduino
import time
import serial.tools.list_ports
import serial

#Find USB Port
def find_port():  #Finds which port the arduino is plugged into
    ports = list(serial.tools.list_ports.comports())
    for p in ports:
        if '0403' in p[2]: 
            print p
            return p[0]
usbport = find_port() #Calls function to get Arduinos USB port

def closeport(): #Closes port if currently open
    ser = serial.Serial(usbport) 
    if ser.isOpen() == True:
        ser.close()

closeport() #make sure port is available

b = Arduino(usbport) #opens Arduino with correct port
pin = 0  #Assigns analog out, pin 0
b.output([])
while (True):
    val = b.analogRead(pin)    
    print val        
    print usbport
    time.sleep(0.05)

我希望这对其他人有帮助。

关于Python-Arduino-Prototyping-API v2-关闭串口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35235436/

相关文章:

assembly - 用汇编语言对 Arduino 进行编程?

node.js - Arduino Socket.io 通信

python - 如何用一个输入创建不同的条件(python)

c++ - 音()不工作

arduino - 在arduino中将十六进制字符串转换为十进制

c - 带有 Arduino 的 AVR-GCC

python - pytest 使用变量自省(introspection)断言消息自定义

python - 创建用于训练的单个感知器

python - 为什么使用两个选择字段没有从我的数据库中显示数据?

python - Keras Dense层形状错误