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 12 cze 2025, o 06:32


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 19 kwi 2016, o 11:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 lis 2012
    Posty: 298
    Pomógł: 13

    Witam!
    Nie mam na szybko pod ręką UARTA ani LCD, żeby sprawdzić zawartość zmiennej.
    Wymyśliłem, że mogę sobie sprawdzać po kolei bity w bajcie i jak "1" to zapal diodę, jak "0" to zgaś.
    LED_Y wskazuje jakby sygnał zegarowy - odczyty kolejnego bitu, a LED_G w tym czasie wskazuje jego wartość.

    Napisałem poniższy kod, i nie chodzi. Zmienna reg=0xE5.

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


    Niestety if((reg&(1<<cnt))==1) nigdy nie jest spełniony. Nie wiem, czy błąd w myśleniu, czy coś innego. Oświecicie?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 kwi 2016, o 11:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2013
    Posty: 119
    Lokalizacja: Cinisi
    Pomógł: 12

    Tak na szybko, jeśli będziesz sprawdzał bit na miejscu trzecim, to zastanów się czy cały bajt będzie miał wartość 1 ;)

    _________________
    sig off :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 kwi 2016, o 13:33 
    Offline
    Użytkownik

    Dołączył(a): 18 kwi 2013
    Posty: 181
    Lokalizacja: Kraków
    Pomógł: 30

    Wydaje mi się , że tu raczej musisz przesuwać zmienną reg w prawo, żeby porównywać to z jedynką
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    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: 19 kwi 2016, o 14:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 26 sie 2013
    Posty: 119
    Lokalizacja: Cinisi
    Pomógł: 12

    Można na wiele sposobów rozwiązać, np. tak jak sprawdza się stan klawiszy, opisane dobrze w bluebooku;)
    Pozdrawiam


    Autor postu otrzymał pochwałę

    _________________
    sig off :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 kwi 2016, o 15:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 maja 2013
    Posty: 432
    Lokalizacja: Gostyń / Poznań
    Pomógł: 25

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

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


    i z tego co sprawdzałem będzie git ;) po analizie sam zobaczysz o co chodzi...
    zeby bylo ==1 to po & jeszcze byś musiał bity machnac w prawo o cnt tak więc kolega @janusz17 podpowiedział prawidłowo.


    P.S
    Ja na szybko zapodałem twój kod w Code::Blocks'ie zeby w terminalu wyswietlic wszystko... takie logiczno matematyczne problemy można sobie fajnie tak podglądać i analizować bez użycia procka...hmm właściwie to micro procka ;)

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


    Autor postu otrzymał pochwałę

    _________________
    Podpis...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 kwi 2016, o 07:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 lis 2012
    Posty: 298
    Pomógł: 13

    Dzięki wszystkim za pomoc!;-)
    Tak jakoś mi się wydawało, że to co robię jest analogiczne do sposobu w jaki sprawdza się klawisz.
    Jakoś nie mogłem tego w głowie przetrawić i wyszło błędnie.



    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 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO