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



Teraz jest 19 kwi 2024, o 02:29


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 26 mar 2013, o 22:58 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Witam,
mam problem z obróbką danych które odbieram z modemu po rs232.
za pomocą komendy :
show dsl stat
Obrazek

Uploaded with ImageShack.us
chciałbym wyświetlić na lcd niektóre dane które zwróci mi modem w odpowiedzi.
Np. w odpowiedzi chciałbym wyświetlić DSL State - Down lub UP

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

Jak na razie do tego momentu jest to szkielet mojego programu. ( na lcd wyświetla sie komenda którą wysłałem do modemu ponieważ modem ma włączone Echo lub inny losowy napis)
Proszę o pomoc ewentualnie jakieś wskazówki jak można obrobić ten łańcuch tekstowy który zwraca modem w odpowiedzi.
Próbowałem użyć funkcji strstr ale niestety tak się nic nie wyświetla :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Dzięki pozdro



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 mar 2013, o 23:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

O ile dobrze zrozumiałem twój problem to ja bym zrobił tak, że bym zapisał do osobnych stałych wzorce stringów jakich oczekujesz i znak po znaku je wykrywał, jak wykryjesz pełną frazę, to wyświetlasz na LCD odpowiedni napis.

Realizacja: w pętli for z odpowiednią flagą wewnątrz.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 mar 2013, o 23:54 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

hmm niestety kompletna klapa niestety nie mam pojęcia jak zrobić to parsowanie danych z modemu coś tam nabazgrałem ale nici z tego
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Proszę szanownych kolegów może jakiś przykładowy kod ???
Np. chciałbym wyświetlić na lcd po wysłaniu do modemu komendy : show dsl stat
czy modem jest synchronizowany czyli Down lub Up.
Jak na razie tylko tyle docelowo chciałbym sobie wyświetlić więcej parametrów łącza takie jak :SNR ATT PWR.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2013, o 00:32 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Ja bym przede wszystkim powiedział, że robisz straszną rzecz próbując definiować STRING do porównania nie tylko że w pamięci RAM to jeszcze na stosie :(

Kod:
                char command[]="DSL State";


baaaardzo źle .... wyżej kolega podał ci wskazówkę - wzorce do porównania zrób w zmiennych globalnych przede wszystkim a najlepiej w pamięci FLASH. Do porównania zamiast własnych karkołomnych pętli sprawdzających znak po znaku użyj funkcji - takich jakie masz opisane w Zielonej książce .... w funkcji do parsowania ....

No a to :
Kod:
                char buf[100];


to już wręcz zabójstwo dla stosu :(

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 mar 2013, o 00:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

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

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



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 0 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