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



Teraz jest 11 maja 2026, o 05:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 5 lis 2016, o 16:23 
Offline
Nowy

Dołączył(a): 11 lis 2014
Posty: 8
Pomógł: 0

Witam wszystkich! Już od kilku dni męczę się z problemem konwersji string -> int i odwrotnie. Poniżej zamieszczam kod, który do tej pory napisałem (odczyt po uarcie ramek z gps). Udaje mi się odebrać ramki i tak dalej, ale chciałbym też np odebrany fragment dotyczący czasu "152108" (po dwie cyfry godzina-minuta-sekunda) zapisany pod wsk zamienić na int, później na przykład podzielić to przez 10000 i otrzymać samą godzinę. Może źle podchodzę do tematu? Proszę o pomoc..
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dodam, że korzystam do odbioru po uarcie bibliotek z GB.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 16:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Witaj!

Proponuję Ci takie rozwiązanie. Przeczytaj pozyskany string czasu i daty znak po znaku i zrób tak jak ja (gotowiec) :D . Działa.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Pozdrawiam
avrfun


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 17:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 wrz 2013
Posty: 74
Lokalizacja: Sierakowice/Gdańsk
Pomógł: 9

Jeżeli chciałbyś wrzucić godziny, minuty, sekundy, setne do oddzielnych zmiennych to można to zrobić w taki sposób:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

fild - wskaźnik na string zawierający pole danych UTC (do pierwszego przecinka)
Zamienianie na inty zaczynam od końca. Dzięki temu nie trzeba powielać stringa.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 17:30 
Offline
Nowy

Dołączył(a): 11 lis 2014
Posty: 8
Pomógł: 0

Dziękuję Wam koledzy serdecznie! Nie spodziewałem się tak szybkiej odpowiedzi szczerze mówiąc - i to jeszcze tak pomocnej :D Narazie ruszyło z miejsca, mam już czas w zmiennej integer :) Pozdrawiam!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 17:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 02 kwi 2015
Posty: 450
Pomógł: 3

Cytuj:
Dziękuję Wam koledzy serdecznie! Nie spodziewałem się tak szybkiej odpowiedzi szczerze mówiąc - i to jeszcze tak pomocnej Narazie ruszyło z miejsca, mam już czas w zmiennej integer Pozdrawiam!

Jak pomogliśmy kliknij magiczny przycisk "pomógł" ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2016, o 17:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 wrz 2013
Posty: 74
Lokalizacja: Sierakowice/Gdańsk
Pomógł: 9

A jak twój program reaguje, gdy pole zawierające czas jest puste (gdy GPS nie złapie jeszcze sygnału)? Gdy ja walczyłem z ramkami protokołu NMEA to stworzyłem sobie swoją prostą funkcję do dzielenia ramki na pola danych. Nie korzystałem z strtok(), bo z jej pomocą nie potrafiłem rozpoznać pustego pola danych.
Np. taka ramka w której pole czasu UTC jest puste:
$GPGGA,,,,,,,08,1.02,115.1,M,-2.4,M,,0000*43
Gdyby między przecinkami była choćby spacja to strtok() działał ok, ale tu między przecinkami nic nie ma. Czy Tobie udało się już to obsłużyć tą funkcją?



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