Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 kwi 2026, o 05:33


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 5 mar 2015, o 17:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Można nie używać bufora, ale już w momencie odbioru pojedynczych bajtów wyłapywać zadany znak.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2015, o 07:00 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

atmel napisał(a):
Można nie używać bufora, ale już w momencie odbioru pojedynczych bajtów wyłapywać zadany znak.

..i ustawić jakąś flage informującą ze dany znak właśnie się pojawił



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2015, o 08:23 

Pomógł: 0

Cytuj:
Zastanawiam się czy jest jakaś szybsza metoda w "locie" bez zapisu itp
co o tym myślicie?


Jeżeli potrzebujesz reszte danych, to możesz je zapisywać do bufora, w między czasie sprawdzać za każdym razem bufor UARTa czy pojawiła się twoja zmienna, aczkolwiek jest to mało odporna metoda na błędy.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2015, o 09:15 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27460
Lokalizacja: Szczecin
Pomógł: 1045

Twoje dane pewnie mogą przyjmować różne wartości więc ich nie rozpoznasz, dlatego trzeba sobie przygotować znacznik początku ramki i ew znacznik końca jeśli ilość bajtów danych nie jest ściśle ustalona. Później należy w takim nadlatującym strumieniu wciąż badać czy nadlatuje znacznik początku ramki (może to być kilka(-naście) bajtów) , gdy się skończy zaczynasz wrzucać kolejne bajty danych do bufora zaczynając jednocześnie badać czy nie nadlatuje znacznik końca ramki.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2015, o 09:28 

Pomógł: 0

mirekk36 napisał(a):
, gdy się skończy zaczynasz wrzucać kolejne bajty danych do bufora zaczynając jednocześnie badać czy nie nadlatuje znacznik końca ramki.


Dokładnie jak to jest zrobione w Green Booku, tam rozpoznawanie ramki jest za pomocą znaku nowej linii
Wtedy znacznik ilości linii nam się zmienia i można łatwo opanować ile i co przylatuje.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2015, o 15:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Jeśli będziesz miał opracowany format ramki to można użyć FSM. W połączeniu z CRC to jedna z lepszych metod odpornych na błędy transmisji. Znalezienie wtedy dowolnego wzorca (w tym jednego znaku) jest banalnie proste.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO