2011-05-30 134 views

回答

14

似乎被嚴重記錄了PySerial網站上,這個工作對我來說:

ser = serial.Serial(DEVICE,BAUD,timeout=1) 
if(ser.isOpen() == False): 
    ser.open() 

一個人爲的例子一點,但你的想法。 我知道這個問題很久以前就被問過了,但我今天也有同樣的問題,並且覺得有人發現這個頁面會喜歡找到答案。

+0

剛纔意識到這個問題是提出一些與此稍有不同的問題,但我希望這個答案仍然會有幫助! – StampyCode 2013-05-27 09:20:03

+1

2017年8月,我剛剛在Google上找到了這一名單 - 感謝您以這種方式發佈此信息。它完全回答了我的問題。就我而言,這意味着程序已經在運行。我在電腦中使用ssh,有時我從控制檯運行數據記錄程序'ssx'。 Python現在可以使用它來檢測它而不會中止,並使用'os.system(「killall ssx」)'來自行停止另一個。這隻有在我進行修改時纔會發生,但對於我來說搜索已經足夠了。在這裏,你是。 TNX。 – SDsolar 2017-08-24 01:19:46

0

這是我在嘗試阻止我的應用程序失敗時所幫助的,因爲它已停止並重新啓動。

import serial 

try: 
    ser = serial.Serial(# set parameters, in fact use your own :-) 
    port="COM4", 
    baudrate=9600, 
    bytesize=serial.SEVENBITS, 
    parity=serial.PARITY_EVEN, 
    stopbits=serial.STOPBITS_ONE 
) 
    ser.isOpen() # try to open port, if possible print message and proceed with 'while True:' 
    print ("port is opened!") 

except IOError: # if port is already opened, close it and open it again and print message 
    ser.close() 
    ser.open() 
    print ("port was already open, was closed and opened again!") 

while True: # do something... 
相關問題