Próbuję napisać program w Pythonie, który będzie pętla, aby sprawdzić port szeregowy (COM4) i wydrukować wiadomość, gdy znak "1" odczytuje się z portu szeregowego. Chcę wysłać "1" przez port szeregowy z gadżetu Arduino po naciśnięciu przycisku.

Jednak dostaję błąd "[Błąd 5]: Dostęp do odmowy", gdy próbuję utworzyć instancję obiektu szeregowego. (Automatycznie próbuje otworzyć na instancji, w którym znajduje się błąd, z tego, co widzę z pliku w pakiecie iszy, który dotyczy tego.)

Mój kod:

c = serial.Serial('COM4', 9600)
while True:
    signal = c.read()
    print signal
    print "running"
    time.sleep(2)
    c.flushOutput()

Jednak nigdy nie obok "C = Serial.Serial ('Com4', 9600). Właśnie tam pojawia się błąd. Jak mogę to naprawić?

8
TomKo 28 listopad 2011, 06:32

5 odpowiedzi

Najlepsza odpowiedź

AKTUALIZACJA: Najwyraźniej nie jest już możliwe w PYSERIAL 3.0.

W systemie Windows zawsze korzystałem z podejścia portu = z sukcesem.

To znaczy. Zmień swój kod do:

c = serial.Serial(3, 9600)
4
David K. Hess 29 październik 2016, 13:42

Dla mnie rozwiązanie nie działało, ale to, co pracował, zamykał wszystkie aplikacje, które oddziaływały z danym portem COM.

5
Lucas B 11 luty 2017, 19:24

Zadbaj o wersje Pythona.

Z instrukcji PYSERIAL O: Klasa Serial.Serial https://pyserial.readthedoc.io/en/latest/pyserial_api.html#classes.

...........

Port jest natychmiast otwarty na tworzeniu obiektu, gdy podano port. Nie jest otwarty, gdy port nie jest żaden, i wymagane jest kolejne połączenie do otwarcia ().

Port to nazwa urządzenia: w zależności od systemu operacyjnego. na przykład / dev / ttyUSB0 na GNU / Linux lub COM3 w systemie Windows.

............

Zmieniono w wersji 3.0: Liczby jako argument portu nie są już obsługiwane

2
Dhomo 27 sierpień 2016, 13:00

Dla Python 2.6 Użyj wskaźnika zerowego portu COM. Dla Python 2.7.x można użyć pełnej nazwy "COM4". Z mojego doświadczenia lepiej korzystać z wersji 2.7. Zainstaluj Python 2.7.x i Narzędzia konfiguracji (AKA Łatwa instalacja). Po tym, zainstaluj moduł {X2}} (patrz Instalacja iszyczna doc ).

pamiętaj, aby dodać ścieżkę Pythona do zmiennej środowiskowej PATH.

1
Jakub Czaplicki 9 marzec 2013, 15:39

To działa z portem n-1 w Pythonie (N jest twoją liczbą COM)

0
Andres Zambrano Lizarazo 8 luty 2015, 18:42