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



Teraz jest 3 lut 2025, o 15:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
 Tytuł: RS232 binarny
PostNapisane: 5 paź 2015, o 20:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 144
Pomógł: 2

Mam taki problem:

Chcę odebrać po RS232 dane binarne, a następnie to coś, co odebrałem po zamianie np. na hex wyświetlić w terminalu (i sobie dalej to oglądać).

Oczywiście odbierać będę do bufora cyklicznego, tylko jak nie mam CRLF, to cały czas główkuję jak w elegancki sposób z bufora cyklicznego te dane pobrać?

Mam jakiś pomysł, ale nie wydaje mi się elegancki (tylko toporny).

------------------------ [ Dodano po: 29 minutach ]

Bo chciałbym to jakoś zrobić zdarzeniowo ( jak w GB ), a nie jak w BB.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 paź 2015, o 21:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 144
Pomógł: 2

Odbieram z urządzenia (nie mojego) dane binarne. To nie ja je wysyłam. ja muszę zbadać co dostaję.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2015, o 16:41 
Offline
Użytkownik

Dołączył(a): 03 sie 2015
Posty: 47
Pomógł: 3

Witam
Kiedyś chciałem zrobić taki "inny" terminal nie pokazujący kodów ascii czy ansi ale normalne wartości liczbowe oraz rysujący dane transmitowane w definiowalnym formacie bez standardowych znaków końca linii itp.Widziałem na androida coś podobnego, rysował wykresy z danych. Da się coś takiego zrobić ....jeżeli znasz VB lub C# wystarczy gotowiec na odbiór transmisji z RS232 i odpowiednia interpretacja nadchodzących danych ...tylko tak jak kolega powyżej wspomniał niezbędna do tego jest wiedza jak wygląda sekwencja , chyba że odbierasz pojedynczą liczbę i każda następna dotyczy tego samego.
Pozdrawiam

tu masz jak zrobić takie coś w C#
https://www.youtube.com/watch?v=p6km_9Kr0Jo



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2015, o 18:35 
Offline
Użytkownik

Dołączył(a): 03 sie 2015
Posty: 47
Pomógł: 3

jak chcesz bardzo oglądać transmisję w HEX e to polecam coolterm programik ma opcję HEX VIew



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2015, o 21:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 mar 2015
Posty: 144
Pomógł: 2

git79, znam Delphi, ale chcę zrobić tester na AVR do urządzenia, które wysyła i odbiera po RS232 dane binarne.

Ponieważ czasem te urządzenia się "zacinają", to muszę wiedzieć, co się dzieje? - czy nie nadają, czy nie odbierają, a może jest niewłaściwa prędkość itp.

Na razie rozważam teoretycznie, za parę dni dopiero będę miał urządzenie do testów na biurku.

Myślę tak:
W przerwaniu ISR( USART_RXC_vect) zapisuję odebrany bajt do bufora odbiorczego cyklicznego. Jednocześnie ustawiam TimerOut na np. 5 sek. Każdy odebrany bajt wymusi 5 sek.
Wcześniej ustawiłem wielkość bufora na 256 bajtów.

Jak nic nie wpadnie w końcu, czas 5 sek się skończy, to sprawdzam, czy w buforze coś jest tj. czy USART_RxHead != USART_RxTail.

Jeśli tak, to odczytuję z bufora odbiorczego do bufora w programie, a stamtąd nadaję jako Hex znaki na terminal.

Nie mam jakoś innego pomysłu, bo nie wiem jak inaczej mam dokonać odczytu z bufora odbiorczego danych. Nie kończą się one grzecznym CR czy LF.



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: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO