Witam
Przerabiam poradniki dotyczące oprogramowania i komunikacji UART w DELPHI. Odnośnie AsyncPro wszystko działa zgodnie z poradnikami.
Chciałem jednak przesiąść się na ComPort + MkUsbDetector. Komunikacja z użyciem tych komponentów działa również bez zarzutu w obie strony. Wszystko robiłem krok po kroku zgodnie z poradnikami.
Natomiast mam problem gdy symuluję awarie łącza (odłączam kabel USB) od płytki ATB. Opiszę po kolei. Stworzyłem prostą aplikację pod DELPHI jak najprostszą aby tylko przejść do sedna problemu.. Zrzut ekranu poniżej:
![Obrazek](https://obrazkiforum.atnel.pl/thumb/11019/c01005b6bbae8cbcf47dac12be331848.jpg)
Na płytce ATB do przesyłania danych do aplikacji Delphi wykorzystuje enkoder (tak jak jest to przedstawione w poradnikach).
W tej aplikacji mam na sztywno wpisany nr portu COM (do testów tylko). W momencie podłączenia kabla konfiguracja transmisji jest automatycznie konfigurowana. Odbywa się to za pośrednictwem zdarzenia MkUsbDetector1NewComInfo:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Procedura StartComPort:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Procedura StopComPort:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zdarzenie MkUsbDetector1UsbDetect (reagujace na utrate lacznosci):
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Podczas odłączania nie jest nic przesyłane w żadną ze stron.
Po ponownym podłączeniu kabla aplikacja już nie potrafi wznowić transmisji.
Aplikacja nie wysyła już nic z pola Edit, ani nie odbiera danych z Enkodera.
Po zamknięciu aplikacji po około 10 sekundach pojawia się błąd:
![Obrazek](https://obrazkiforum.atnel.pl/thumb/11019/f990e94c84728c060eac4b29647f74c8.jpg)
Natomiast jeśli przed odłączeniem kabla rozłącze transmisję przyciskiem Stop (procedura StopComPort) i następnie włącze kabel transmisja między układem a aplikacją jest prawidłowa.
Co jeszcze muszę ustawić skonfigurować czy dopisać do kodu aby zadziałało tak jak powinno, czyli żeby transmisja wracała bez konieczności zatrzymywania przyciskiem Stop?
Wersja komponentu MkUsbDetector - 1.6 (z licencją).
Patrzyłem do kodu Mirka przykładowej aplikacji, ale nie dopatrzyłem się co jeszcze trzeba zrobić. Pomóżcie
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)