ATNEL tech-forum https://forum.atnel.pl/ |
|
Problem z dzieleniem danych z rs232 na zmienne w b4a https://forum.atnel.pl/topic22656.html |
Strona 1 z 1 |
Autor: | Tokio518 [ 8 lis 2019, o 18:50 ] |
Tytuł: | Problem z dzieleniem danych z rs232 na zmienne w b4a |
Witam Mam problem z pewna funkcją w b4a. Wysyłam z procesora język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. do aplikacji i odczytuję to fukcją: język vb Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. I bez dzielenia na zmienne a i b to odczyt działa dobrze, ale gdy dzieli się na zmienne to wyłaczą aplikacje. Proszę o pomoc z góry dziękuję za pomoc |
Autor: | Harry [ 8 lis 2019, o 18:58 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Pokazuje jakiś błąd zanim wyłączy? Najprościej byłoby jakbyś korzystał z debuggera, wtedy możesz sobie analizować krok po kroku |
Autor: | tfosik [ 9 lis 2019, o 12:17 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Witam użyj może innego separatora np kropki , ciąg który wysyłasz powinien mieć postać .tekst1.tekst2.tekst3. itd skompiluj w trybie debug i zobaczysz która linia kodu daje błąd. Możesz sobie też logi pododawać |
Autor: | Tokio518 [ 9 lis 2019, o 19:45 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Zmiana separatora nic nie dała, ale skompilowałem kod w trybie debug oto to co było w konsoli język vb
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Za komentowałem linie 195 i aplikacja działa tylko pojawił się kolejny problem język vb Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Za komentowana linia która sprawiała problem przypisuje do zmiennej b dane z atmegi. Gdy za komentowana jest zmienna b wszystkon działa dobrze i pierwsza zmienna wysyłana przypisuje się zmiennej a |
Autor: | tfosik [ 9 lis 2019, o 20:13 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Spróbuj tak język basic4gl Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Jak wygląda ten ciąg?, który nadlatuje. |
Autor: | Harry [ 9 lis 2019, o 20:29 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Przeleć linia po linii i zobacz co zawiera tablica numbers Wysłane ze srajfona |
Autor: | tfosik [ 9 lis 2019, o 20:35 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Tak sprawdziłem dla pewności język basic4gl Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. I wszystko działa. Sprawdż i skompiluj w trybie debug |
Autor: | Harry [ 9 lis 2019, o 23:52 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Główna zaletą trybu debug nie są logi, tylko możliwość ustawienia pułapek i uruchamiania aplikacji krok po kroku. Tokio musi się tego nauczyć, bo bez tego będzie mu ciężko robić bardziej skomplikowane aplikacje. Wysłane ze srajfona |
Autor: | tfosik [ 10 lis 2019, o 00:30 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
No Pudzian wygrał w KSW... Rzadko korzystam z Breakpoint, nawet w rozbudowanych projektach, ale to dobre narzędzie. A Log-i to zamiast editext-ów i Labelek, w większości przypadków wystarczają. |
Autor: | Harry [ 10 lis 2019, o 01:16 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Wystarczy, pod warunkiem że wie co się robi, a jak nie, to zostaje podgląd zmiennych w trakcie działania |
Autor: | Tokio518 [ 10 lis 2019, o 09:01 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Żadne z rozwiązań nic nie dało, gdy ustawie język vb Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. To nadlatujące dane zamieniają się miejscami. Debuger wskazuje na b=numbers(2), gdy dane z atmegi to "235.1023", a gdy dane to".235.1023." to wskazuje na a=numbers(1). (Dane z atmegi są wysyłane co 600ms) ------------------------ [ Dodano po: 14 minutach ] To było w linijki z debugera język vb
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Linjka 200 to b=numbers(1) |
Autor: | tfosik [ 10 lis 2019, o 09:51 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Ustaw to tak i nie zmieniaj język basic4gl Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Tu chyba problem leży po stronie procka, albo spróbuj jeszcze tak |
Autor: | Tokio518 [ 10 lis 2019, o 10:04 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Działa, gdy jest za komentowane b=numbers(1), ale w terminalu (Edlog) dane dziwnie się dzielą, ponieważ atmega wysyła "235.1023", a jest "2 35.1023" Tak jakby po 2 dodawała CRLF, które powinno być po wszystkim |
Autor: | tfosik [ 10 lis 2019, o 10:08 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Tokio518 napisał(a): Działa, gdy jest za komentowane b=numbers(1), ale w terminalu (Edlog) dane dziwnie się dzielą, ponieważ atmega wysyła "235.1023", a jest "2 35.1023" Tak jakby po 2 dodawała CRLF, które powinno być po wszystkim Atmenga powinna wysyłać ".235.1023." Jeżeli wysyłasz tylko liczby to zmień może separator na x i wyślij coś takiego "x235x1023x" tak działa metoda Regex, dzieli ciąg na części zawarte pomiędzy separatorami. |
Autor: | Tokio518 [ 10 lis 2019, o 10:28 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Nic to nie dało, jest jeszcze gorzej, ponieważ jak za komentuje b=numbers(2) to nie działa, a wcześniej to pomagało. |
Autor: | tfosik [ 10 lis 2019, o 10:56 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Czy to działa dla Ciebie |
Autor: | Tokio518 [ 10 lis 2019, o 11:58 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Tak to działa. Więc wina by leżała po stronie procka ? |
Autor: | tfosik [ 10 lis 2019, o 12:48 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Pewnie tak. https://www.b4x.com/android/forum/threa ... 9/#content Tutaj fragment kodu z ARDUINO, tworzy ciąg i wysyła po udp, separatorem jest x, prymityw ale działa. język cpp Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Musisz mieć pewność że wszystkie dane to string, jeżeli nie to musisz przekonwertować na string... |
Autor: | Harry [ 10 lis 2019, o 15:13 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Tokio, a jak wyślesz z procka raz, a nie ciąg co 600ms to działa? Co zawiera zmienna STR, zanim poddasz ją dzieleniu regexem? W jaki sposób wysyłasz z procka - masz znak końca wiersza? Wysłane ze srajfona ------------------------ [ Dodano po: 36 minutach ] Tokio, zrób tak: ustaw breakpoint poniżej linii str=..., nastepnie najedz myszką na zmienną STR i zobacz czy jest to samo co Ci ląduje w Edlogu - mogą być jeszcze jakieś dane sterujące, które nie są wyświetlane, a mimo Regex je widzi. |
Autor: | Tokio518 [ 11 lis 2019, o 09:41 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
W b4a wszystko się zgadza wszystko jest jako string w zmiennej "STR" nie ma nic dodatkowego. Ale zmniejszyłem częstotliwość wysyłania do 2000 ms i zauważyłem, że pierwsza partia danych przypisuje się a jak nadejdzie druga to wtedy wyłącza aplikacje. |
Autor: | tfosik [ 11 lis 2019, o 11:11 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
Witam masz złe kodowanie po stronie mikroprocka język basic4gl Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Oczywiście kompiluj w trybie debug.. |
Autor: | Tokio518 [ 11 lis 2019, o 11:45 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
To było w konsoli |
Autor: | tfosik [ 11 lis 2019, o 12:11 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
No to teraz widzisz co się dzieje. Dostajesz przypadkowe dane, powycinane , posklejane itp. jedyny prawidłowy wynik uzyskałeś w tej linii |
Autor: | Tokio518 [ 11 lis 2019, o 13:07 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
A jak to zmienić? Programowo w atmedze? Czy to wina modułu ? Używam HC-05 |
Autor: | tfosik [ 11 lis 2019, o 13:51 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
O ten moduł Ci chodzi Tutaj masz przykład jak to zrobić prawidłowo po stronie B4A, niestety druga strona jest po b4r. https://www.b4x.com/android/forum/threa ... oth.66677/ A tu trochę odpowiedzi na twój problem https://www.b4x.com/android/forum/threa ... 2/#content |
Autor: | Harry [ 11 lis 2019, o 18:30 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
To nie wina modułu, tylko programisty który zapomniał ustawić znak końca transmisji i teraz b4a analizuje wciąż nadchodzące dane. Zobacz jak wygląda odbiór np tu topic19536-60.html#p198977 (zassaj) |
Autor: | tfosik [ 11 lis 2019, o 19:59 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
W tym przykładzie który mu podałem pokazane jak odbierać ciąg znaków i odczytać go po stronie Androida za pomocą AsyncStreamsText. AsyncStreamsText zajmuje się zbieraniem otrzymanych danych i analizowaniem ich na podstawie znaków końca lini właśnie. |
Autor: | Harry [ 11 lis 2019, o 20:03 ] |
Tytuł: | Re: Problem z dzieleniem danych z rs232 na zmienne w b4a |
W pliku jest to właśnie pokazane, wraz z innymi rzeczami Wysłane ze srajfona |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |