Witam, mam problem z obsługą strumieni (trybu komend) na mojej xmedze. Kod przedstawia się następująco (funkcja do trybu komend):
oraz główna funkcja
Tryb 1 - pojedynczego odczytu działa bez zarzutu, tryb 2 również. Problem pojawia się w czasie pracy w trybie 3. Wywołuje któryś z "case'ów", ustawiana jest flaga - załączany jest ciągły odczyt danych. Mam pytanie jak można przerwać (z poziomu strumienia - terminala BT bądź w inny sposób) wykonywanie się ciągłego odczytu danych (poprzez np ustawienie flagi EFlag na 0)? Próbowałem używać funkcji fgetc() oraz fgets() jednak nie będą one działać ponieważ wykonują się tylko tyle razy ile znaków zostało przesłanych przez terminal. Kod wykorzystujący te funkcje wyglądał mniej więcej tak:
Czy ktoś widzi błąd albo inny sposób rozwiązania tego problemu? Za wszystkie odpowiedzi z góry dziękuję.
Kod: C / C++
oraz główna funkcja
Kod: C / C++
Tryb 1 - pojedynczego odczytu działa bez zarzutu, tryb 2 również. Problem pojawia się w czasie pracy w trybie 3. Wywołuje któryś z "case'ów", ustawiana jest flaga - załączany jest ciągły odczyt danych. Mam pytanie jak można przerwać (z poziomu strumienia - terminala BT bądź w inny sposób) wykonywanie się ciągłego odczytu danych (poprzez np ustawienie flagi EFlag na 0)? Próbowałem używać funkcji fgetc() oraz fgets() jednak nie będą one działać ponieważ wykonują się tylko tyle razy ile znaków zostało przesłanych przez terminal. Kod wykorzystujący te funkcje wyglądał mniej więcej tak:
Kod: C / C++
Czy ktoś widzi błąd albo inny sposób rozwiązania tego problemu? Za wszystkie odpowiedzi z góry dziękuję.