Anladığım kadarıyla, com
bağlantı noktalarında birkaç aygıtınız var ve bunlardan birini seçmek ve bu bağlantı noktasını VARIABLE
'a atamak istiyorsunuz.
Aşağıda, COM
bağlantı noktasını okuyan ve ilk bağlantı noktasını kullanılabilir COM bağlantı noktası olarak atayan bir kod yer almaktadır. Daha sonra, açık olup olmadığını görmek için COM
bağlantı noktasını araştırır.
Kullanmak ve buna göre VARIABLE
için ilgili bağlantı noktasını slice
atamak istediğiniz COM PORT
belirlemek için serial_ports()
çıkışını kontrol edilebilmektedir. port 0
kullanıyorum. Bu benim COM1
Fonksiyonu serial_ports()
çapraz platformdur. Pencerelerim var ve sorunsuz çalışıyor. here
Demo Kod
import sys
import glob
import serial
def serial_ports():
if sys.platform.startswith('win'):
ports = ['COM%s' % (i + 1) for i in range(256)]
elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
# this excludes your current terminal "/dev/tty"
ports = glob.glob('/dev/tty[A-Za-z]*')
elif sys.platform.startswith('darwin'):
ports = glob.glob('/dev/tty.*')
else:
raise EnvironmentError('Unsupported platform')
result = []
for port in ports:
try:
s = serial.Serial(port)
s.close()
result.append(port)
except (OSError, serial.SerialException):
pass
return result
if __name__ == '__main__':
VARIABLE = serial_ports()[0] #Assign first port as COM port
ser = serial.Serial(
port=VARIABLE,
baudrate=115200,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
print "Is port", VARIABLE , " open ?", ser.isOpen()
Çıktı
den
İlham
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Is port COM1 open ? True
>>>
teşekkür çalışın! – karmax