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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 9 kwi 2025, o 08:31


    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 ] [ Zaznacz wszystko ]
    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: 27369
    Lokalizacja: Szczecin
    Pomógł: 1043

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