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



Teraz jest 8 sty 2025, o 12:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 16 maja 2014, o 19:03 
Offline
Nowy

Dołączył(a): 09 mar 2013
Posty: 13
Pomógł: 0

Witam Kolegów.

Natrafiłem na "ścianę" przy moim nowym projekcie. Realizuję układ który bezprzewodowo steruje steruję urządzeniem , ale też "odpytuje" to urządzenie
i wysyła dane. Urządzenie "gada" w HEXACH bez znaków końca linii.
Napisałem program w którym używam dwóch portów rs - softwarowego i hardwarowego - dane z urządzenia odczytuje przerwaniem URXC . I tu zaczyna się problem. Wystarczy żeby w odbieranym stringu pojawiłą się wartość HEX 00 - kończy się odbiór znaków z uart - jeśli nie ma tej wartości w stringu - wszystko działa idealnie. Najdziwniejsze jest to że trace wszystkie znaki transmisji. Na pewno coś trzeba ustawić w rejestrach ale już siły nie mam szukać i BARDZO proszę o pomoc. Oto listing :

Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Do wstawiania kodu używamy znacznika 'syntax' zamiast znacznika 'code' - poprawiłem - Sonix



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2014, o 19:58 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

String przechowywany jest w pamięci jako ciąg bajtów, a 0 oznacza koniec (podobnie jak w C). Musisz zrezygnować ze stringu w tym przypadku:
Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Zamiast zerowania stringu po prostu zerujesz zmienną index

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 maja 2014, o 20:49 
Offline
Nowy

Dołączył(a): 09 mar 2013
Posty: 13
Pomógł: 0

W samą dziesiątke. Dziwne bo wydawało mi się że tego już próbowałem.
Bardzo dziękuje za to super rozwiązanie.
Pozdrawiam
Robert.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 maja 2014, o 12:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 27 gru 2011
Posty: 186
Lokalizacja: Dublin
Pomógł: 8

Ja bym dodał jeszcze bufor i użył ischarwaiting.
Później podzielił przychodzące stringi przy pomocy Split i przypisał do tablicy.
--edit --------------------------------------------------------------
Teraz zauważyłem ze używasz software uart czyli ischarwaitng nie będzie działać
-----------------

Składnia: [ Pobierz ] [ Ukryj ]
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



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

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