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 10 lip 2025, o 19:38


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 1 sie 2014, o 09:33 
    Offline
    Nowy

    Dołączył(a): 24 lip 2014
    Posty: 24
    Pomógł: 0

    Cześć,
    Mam zestaw ATB 1.04 Chciałem potrenować na nim wykorzystywanie jednego portu do wielu operacji. Na początku BUZZER miałem podłączony do portu B, co by było łatwiej, a 5 diod LED oraz dwa przyciski podłączone do portu D. Diody podpięte w odwrotnej kolejności czyli: PD7 - dioda skrajna po prawej oraz PD3 - dioda nr 5 licząc od prawej.

    Naciskając lewy przycisk zapalają się kolejne diody LED jadąc w prawo, a gdy zapali się ostatni (PD3) wtedy krótki sygnał dźwiękowy. Przycisk prawy - kolejne gaszenie i dźwięk na końcu.

    Zrobiłem maskowanie, żeby przesunięcie bitowe nie miało wpływu na przyciski i na odwrót. Wszystko elegancko chodziło. Nadeszła kolej na dołączenie jeszcze BUZZERA do portu D, a konkretnie PD2. I tu pojawił się problem. Wydaje mi się, że dobrze napisałem maskowania, a prawidłowo działa jedynie buzzer wydając pisk na skrajnych pozycjach. Diody natomiast mają teraz trochę inne te skrajne pozycje :)

    Byłbym wdzięczny, gdyby ktoś wyjaśnił co zrobiłem źle.

    Pozdrawiam.

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


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



    main.c
    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.

    _________________
    ATB 1.04 + BTM-222 + BLUEBOOK + GREENBOOK



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 sie 2014, o 19:37 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Jeśli dobrze zrozumiałem opis to masz złą jedną skrają pozycję. Drugi błąd to ustawianie PD7, a w kolejnej linii zerowanie tego bitu przesunięciem w złą stronę. Tak bym to zrobił:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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

    jest niepotrzebne

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

    Pobierasz int, a porównujesz w funkcji z uint8_t co dla beep_time > 255 spowoduje zapętlenie się programu.

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

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 sie 2014, o 22:20 
    Offline
    Nowy

    Dołączył(a): 24 lip 2014
    Posty: 24
    Pomógł: 0

    Dziękuję za pomoc:) Nie mogłem sobie wyobrazić jak się "zachowują" kolejne bity. Dzięki podpowiedzi dopracowałem kod i teraz buzzer, switche oraz diody LED podpięte pod ten sam port działają tak jak chciałem, czyli 'ala' jak pasek VOLUME.

    Co do 'PS' - to by wyjaśniło czemu wyskakują warningi.

    Poprawka kodu:

    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.04 + BTM-222 + BLUEBOOK + GREENBOOK



    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: 3 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 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