Zatrzymanie komunikacji

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
marek.m371
Posty: 1
Rejestracja: 06 paź 2017 18:06
Wersja środowiska: LabVIEW 2016

Zatrzymanie komunikacji

Post autor: marek.m371 » 06 paź 2017 18:18

Witam. Jestem zupełnie nowy w temacie LabVIEW i mierzę się z takim problemem.

Robię prosty program, który ma się skomunikować z Arduino i poprzez naciśnięcie przycisku zapalić diodę. Program działa, ale niestety tylko jeden raz. Po zatrzymaniu programu i jego ponownym uruchomieniu Arduino już nie reaguje i rozwiązaniem jest fizyczne odłączenie Arduino od komputera i ponowne podłączenie. Program wygląda jak niżej:

Obrazek

Awatar użytkownika
micard
Posty: 128
Rejestracja: 30 wrz 2011 11:28
Wersja środowiska: LabVIEW 2016
Has thanked: 4 times
Been thanked: 2 times
Kontakt:

Re: Zatrzymanie komunikacji

Post autor: micard » 07 paź 2017 16:44

Nie znam biblioteki z której korzystasz, ale wydaje mi się że totalnie zapychasz komunikację w pętli while. Najprostszą modyfikacją jest dodanie "wait(ms)" w pętli tak na oko co najmniej 300ms. Spowoduje to w najgorszym przypadku opóźnienie 300ms od zmiany stanu kontrolki LED do wysłania polecenia do arduino.

Lepszą opcją jest wstawienie "event structure" w pętli while i obcługa dwóch event'ów:
-LED value change: wysyła polecenie tak jak teraz
-stop value change: kończy działanie pętli

ODPOWIEDZ