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



Teraz jest 28 mar 2024, o 11:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 28 ] 
Autor Wiadomość
PostNapisane: 8 lis 2019, o 18:50 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

Witam
Mam problem z pewna funkcją w b4a. Wysyłam z procesora
Składnia: [ Pobierz ] [ Ukryj ]
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ą:
Składnia: [ Pobierz ] [ Ukryj ]
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 :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2019, o 18:58 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Pokazuje jakiś błąd zanim wyłączy?
Najprościej byłoby jakbyś korzystał z debuggera, wtedy możesz sobie analizować krok po kroku :)


Autor postu otrzymał pochwałę

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2019, o 12:17 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

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


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2019, o 19:45 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

Zmiana separatora nic nie dała, ale skompilowałem kod w trybie debug oto to co było w konsoli
Składnia: [ Pobierz ] [ Ukryj ]
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
Składnia: [ Pobierz ] [ Ukryj ]
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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2019, o 20:13 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Spróbuj tak
Składnia: [ Pobierz ] [ Ukryj ]
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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2019, o 20:29 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Przeleć linia po linii i zobacz co zawiera tablica numbers

Wysłane ze srajfona

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2019, o 20:35 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Tak sprawdziłem dla pewności
Składnia: [ Pobierz ] [ Ukryj ]
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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2019, o 23:52 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

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

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 00:30 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

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ą.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 01:16 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

Wystarczy, pod warunkiem że wie co się robi, a jak nie, to zostaje podgląd zmiennych w trakcie działania ;)

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 09:01 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

Żadne z rozwiązań nic nie dało, gdy ustawie
Składnia: [ Pobierz ] [ Ukryj ]
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
Składnia: [ Pobierz ] [ Ukryj ]
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)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 09:51 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Ustaw to tak i nie zmieniaj
Składnia: [ Pobierz ] [ Ukryj ]
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
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  
PostNapisane: 10 lis 2019, o 10:04 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 10:08 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 10:28 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 10:56 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Czy to działa dla Ciebie
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  
PostNapisane: 10 lis 2019, o 11:58 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

Tak to działa. Więc wina by leżała po stronie procka ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 12:48 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

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.
Składnia: [ Pobierz ] [ Ukryj ]
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...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lis 2019, o 15:13 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

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.

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2019, o 09:41 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2019, o 11:11 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

Witam masz złe kodowanie po stronie mikroprocka
Składnia: [ Pobierz ] [ Ukryj ]
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..



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2019, o 11:45 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2019, o 12:11 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

No to teraz widzisz co się dzieje. Dostajesz przypadkowe dane, powycinane , posklejane itp.
jedyny prawidłowy wynik uzyskałeś w tej linii
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  
PostNapisane: 11 lis 2019, o 13:07 
Offline
Użytkownik

Dołączył(a): 08 paź 2018
Posty: 33
Pomógł: 0

A jak to zmienić? Programowo w atmedze? Czy to wina modułu ? Używam HC-05



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2019, o 13:51 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2019, o 18:30 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

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)

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2019, o 19:59 
Offline
Użytkownik

Dołączył(a): 10 sty 2018
Posty: 159
Pomógł: 11

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.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lis 2019, o 20:03 
Offline
Użytkownik

Dołączył(a): 14 sie 2016
Posty: 905
Pomógł: 39

W pliku jest to właśnie pokazane, wraz z innymi rzeczami

Wysłane ze srajfona

_________________
Moje porady są błędne,nie czytać,zbanować od razu.



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

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