watek
Ostatnio zmodyfikowano 2021-04-09 21:08
krystekHa Temat założony przez niniejszego użytkownika |
watek » 2021-04-01 18:08:50 Witam. Mój problem może wydawać sie banalny, niemniej przedstawiam go ponieważ nie wiem jaki zastosować mechanizm w mojej procedurze. Otóż utworzyłem program (c++), który ma współpracować z programatorem pamięci oraz innymi programowalnymi elementami. I w zasadzie wszystko hula, aczkolwiek program jest "nietykalny", gdyż jakakolwiek ingerencja myszy lub klawiatury, zawiesza program. Podejrzewam iż powinienem wykorzystać wątek w pętli przesyłania danych z kompa do sterownika ale nie wiem od czego zacząć. Czego bym oczekiwał?
1.Pętla wysyłającą dane jest "odporna" na sygnały zewnętrzne i potrafi wrócić do przerwanej operacji. |
|
pekfos |
» 2021-04-01 19:26:13 jakakolwiek ingerencja myszy lub klawiatury, zawiesza program. Jaka ingerencja? Poruszasz myszką o milimetr i program się zawiesza? Lepiej najpierw zdiagnozuj czemu tak się dzieje. Nie wróżę powodzenia w naprawianiu tego na ślepo.. |
|
krystekHa Temat założony przez niniejszego użytkownika |
» 2021-04-02 12:18:20 Pisząc "jakakolwiek ingerencja .....", miałem na myśli sytuacje w której kliknięcie myszą w okno programu lub okno edycji znajdujące w programie powoduje zerwanie transmisji portem szeregowym i zawieszenie programu |
|
DejaVu |
» 2021-04-02 16:24:46 1. Przeczytaj dokumentację jak powinno wyglądać wejście/wyjście oraz jaki bitrate masz mieć ustawiony. 2. Wypisuj wszystkie polecenia wysyłane do programatora (oraz odbierane). 3. Przeanalizuj czy wejście/wyjście jest zgodne z tym co mówi dokumentacja.
Jak będziesz znał polecenia przed którymi następuje 'zawieszenie się/zerwanie' transmisji, to będziesz mógł wyszukać w Google czy ktoś miał podobny problem. Ponadto będziesz w stanie podać więcej szczegółów niż słowny (oraz mało techniczny) opis problemu. |
|
pekfos |
» 2021-04-02 16:49:55 kliknięcie myszą w okno programu lub okno edycji znajdujące w programie powoduje zerwanie transmisji portem szeregowym i zawieszenie programu Gdzie jest zaimplementowana ta transmisja? Chyba nie w obsłudze zdarzeń dla tego okna? |
|
krystekHa Temat założony przez niniejszego użytkownika |
» 2021-04-07 10:46:22 Gdzie jest zaimplementowana ta transmisja? Chyba nie w obsłudze zdarzeń dla tego okna? Otóż transmisja jest w obsłudze zdarzeń dla tego okna i tu jest mój problem jak rozdzielić transmisje od procedur okna głównego? |
|
DejaVu |
» 2021-04-07 10:47:52 Utwórz osobny wątek. |
|
pekfos |
» 2021-04-07 17:06:17 jak rozdzielić transmisje od procedur okna głównego? Przenieś do osobnego wątku. Możesz go wystartować w momencie gdy chcesz wystartować samą transmisję, trzeba tylko zadbać by działał tylko jeden taki wątek naraz i mieć odpowiednią synchronizację z resztą programu. https://en.cppreference.com/w/cpp/thread |
|
« 1 » 2 |