No ale tak - sama funkcja uart_get_str() działa tak, że :
1. wywołujesz ją z argumentem, w którym podajesz wskaźnik do buforka do którego chcesz wczytać odebraną linię przez RS232
2. jako rezultat funkcji dostajesz ten sam wskaźnik - czyli na początek bufora i już siedzi w nim cała linijka
czyli odpal sobie terminal w windows
napisz jakiś tekst np: testuje sobie rs232
i kliknij KLAWISZ - ENTER
w tym momencie możesz w pętli głównej wciąż wywoływać tą funkcję - ona przecież sprawdza czy pojawiła się nowa linia w buforze
.... więc jeśli nie to przelatuje jak woda przez maszynkę do mięsa ..... a jeśli się pojawiła linia, bo klepnąłeś ENTER w terminalu to od razu masz tekścik w buforze
no dobra ale pewnie zapytasz - a jak sprawdzać czy coś w końcu przyszło czy nie?
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
tak mi się zdaje .... bo hmmm aż szkoda nie wykorzystywać zdarzenia
przecież aby wykorzystać zdarzenie wystarczy tylko:
1. napisać jakąś własną funkcyjkę która będzie obrabiać to co przyleci, linia po linii np:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
sam ją sobie piszesz i nikt ci nie narzuca co w niej ma być - czy to nie wygodne ?
2. no tak tylko teraz musisz powiedzieć tej bibliotece: hej - dzieńdobry pani biblioteko, czy mogę zarejestrować u ciebie moją własną funkcję, i jak przyjdzie do mnie jakaś przesyłka to proszę ją wywołać OK ? będę wdzięczny. A pani biblioteka mówi - nie ma sprawy, wypełnij pan tylko kartę rejestracyjną - bo przecież mogę mieć kilku takich natrętnych klientów jak pan, poniżej karta rejestacyjna do biblioteki
czyli funkcja:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
czy to trudne narazie albo niezrozumiałe ? jak coś to pytaj
3. ty sobie idziesz dalej i piszesz swój program jak ci się żywnie podoba, tylko dostajesz od pani bibliotekarki ZDARZENIE, oraz prostą instrukcję obsługi. Oto ona:
- wstaw pan sobie do swojej pętli głównej nasze narzędzie o tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
- i teraz - jak tylko pani bibliotekarka
dzięki temu narzędziu ZDARZENIU zobaczy że jest dla ciebie przesyłka, to sama WYWOŁA funkcję, którą wcześniej zarejestrowałeś w bibliotece
4. czyli program w pętli głównej sobie lata jak wariat - ty masz tylko raz na obieg pętli wywoływać EVENT, a jak coś to przepięknie wywołana zostanie "do tablicy" twoja funkcja, a w niej
.... już masz pewność, że w zmiennej przekazanej jako argument siedzi tekst który nadleciał w linijce
czyż to nie piękne ???? i teraz możesz go bach np na lcd
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
- czy teraz chociaż troszkę się rozjaśniło ? popróbuj tego - a jak coś to dopytaj bo to na prawdę super mechanizmy. Jak raz użyjesz to potem nie puścisz - ja ci mówię - to trochę tak jak ja miałem z tym grotem "minifala" - tak własnie jest z callbackami i zdarzeniami w C