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? 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 cze 2025, o 15:11


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 18 cze 2015, o 17:53 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2014
    Posty: 252
    Lokalizacja: obok Częstochowy
    Pomógł: 14

    Witam.
    Chcę wyszukać w strumieniu danych nadlatujących do uarta ciągu dwóch kolejnych znaków. Napisałem taką pętlę, czy raczej pętlę w pętli:

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


    Ja ten program rozumiem tak:
    Skoro p jest różne od 'z' to wchodzę w drugą pętlę. Jak znajdę 'C' to pobieram następny znak. Jak jest to 'z' to wychodzę z pętli, jeśli nie to szukam następnego 'C'.
    Pojedyncze znaki znajduję, czyli z tą pętlą coś nie tak?


    Zapomniałem napisać, że program nie wychodzi z pętli. Poprawność odbioru strumienia sprawdzałem:
    - w putty to co nadlatuje do procesora
    - na LCD to co odebrał procesor



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2015, o 18:15 
    Offline
    Użytkownik

    Dołączył(a): 25 lut 2015
    Posty: 252
    Lokalizacja: Lublin
    Pomógł: 23

    Przede wszystkim piszesz "Jak znajdę 'C' to pobieram następny znak",
    a w warunku masz "nie równe" C, czyli znaku nie pobierasz, jak masz C, a pobierasz w każdej innej sytuacji poza Z.
    P zadeklaruj jako char i przypisz mu np. '0'

    ------------------------ [ Dodano po: 2 minutach ]

    Zwróć uwagę na szybkość obiegu pętli - tysiące razy na sekundę.
    Dostajesz prawie same NULL.
    Powinieneś to robić z wykorzystaniem przerwania.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2015, o 18:39 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2014
    Posty: 252
    Lokalizacja: obok Częstochowy
    Pomógł: 14

    Z tą prędkością i nullami to chyba strzał w dziesiątkę. Zaraz sprawdzę. Chyba coś przeoczyłem w poradniku
    "Wifi Client www/php".
    A jeśli chodzi o warunek to jest pętla i mieli do puki nie znajdzie 'C' , za pętlą jest średnik od razu .



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2015, o 18:40 
    Offline
    Moderator
    Avatar użytkownika

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

    ja patrzę w podpis i się dziwię trochę ... kolega posiada Greenbooka, ma tam pięknie opisane nie tylko odbieranie stringów ale i parsowanie.... czemu nie korzystasz z książki ?

    _________________
    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: 18 cze 2015, o 18:51 
    Offline
    Użytkownik

    Dołączył(a): 25 lut 2015
    Posty: 252
    Lokalizacja: Lublin
    Pomógł: 23

    "za pętlą jest średnik od razu" - sorry, znowu siedzę przed kompem bez okularów... ;)
    Ale w tym wypadku zawsze obierasz znak poza przypadkiem 'Z'



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 cze 2015, o 18:59 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2014
    Posty: 252
    Lokalizacja: obok Częstochowy
    Pomógł: 14

    No fakt, że Green Booka to tak co trzecią stronę. Obiecuję poprawę :lol: .
    To te nulle mi mieszały. Dzięki Jerrylu.

    ------------------------ [ Dodano po: 6 minutach ]

    jerrylu napisał(a):
    "za pętlą jest średnik od razu" - sorry, znowu siedzę przed kompem bez okularów... ;)
    Ale w tym wypadku zawsze obierasz znak poza przypadkiem 'Z'


    No bo jak znajdzie 'z' to pętla się nie spełni w końcu program ją opuści.
    Jeszcze coś tam muszę dopisać, żeby opuścić pętlę jak rzeczywiście nie będzie tych znaków, lub ciągu.



    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ł: Google [Bot] i 2 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO