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 22:06


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 5 sie 2019, o 11:36 
    Offline
    Użytkownik

    Dołączył(a): 05 sie 2019
    Posty: 92
    Pomógł: 0

    Witam,
    mam taki problem, chciałem zacząć przygodę z pamięcią EEPROM i mam płytkę, na której przygotowałem 5 diod LED oraz przycisk.
    Chodzi o to, żeby po naciśnięciu przycisku zapalał się kolejny LED, a po odłączeniu zasilania i ponownym podłączeniu dany LED świecił się dalej.
    Mam taki kod:

    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ę o wszelką pomoc w rozwiązaniu tego zadania :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 sie 2019, o 12:54 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1968
    Lokalizacja: Lipsko
    Pomógł: 125

    Takie rzeczy robi się na dwa sposoby.
    1. Zapisuje stan do eeprom po każdej zmianie tego stanu (u Ciebie tak chyba jest) tylko, jeśli te zmiany są częste to eeprom się zajezdzi szybko.
    2. Dodatkową końcówką procka bada się czy jest napięcie zasilające i w momencie jego zaniku dokonuje zapisu aktualnego stanu. Wadą jest bardziej skomplikowana elektronika, bo aż dwa elementy w podstawowej wersji może dojść :) Dioda i większej pojemności kondek, który utrzyma zasilanie po zaniku prądu. Pomiar robisz przed diodą. Jeśli z tego samego napięcia zasilane są peryferia to wskazane jest aby je programowo odłączyć.

    _________________
    http://www.sylwekkuna.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sie 2019, o 18:27 
    Offline
    Użytkownik

    Dołączył(a): 05 sie 2019
    Posty: 92
    Pomógł: 0

    ok, jeżeli mam taki program to Atmel Studio wyrzuca mi błędy.
    Severity Code Description Project File Line
    1. Id returned 1 exit status
    2. undefined reference to `save_to_eeprom(unsigned char*, unsigned char)`

    W jaki sposób sobie z tym poradzić?
    Na początek chcę aby działało zapamiętywanie stanu, który led się świecił przed odłączeniem zasilania.
    Przepełnieniem pamięci będę martwić się później.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sie 2019, o 20:00 
    Offline
    Użytkownik

    Dołączył(a): 13 paź 2015
    Posty: 303
    Lokalizacja: Rybnik
    Pomógł: 10

    Dodaj definicje funkcji przed pętlą main



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sie 2019, o 20:25 
    Offline
    Użytkownik

    Dołączył(a): 05 sie 2019
    Posty: 92
    Pomógł: 0

    Jest dodana definicja funkcji:
    void save_to_eeprom
    Co jeszcze dodać bo nie do końca rozumiem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sie 2019, o 20:36 
    Offline
    Użytkownik

    Dołączył(a): 13 paź 2015
    Posty: 303
    Lokalizacja: Rybnik
    Pomógł: 10

    Tak dla pewności pytam, dodałeś ją w ten sposób?
    void save_to_eeprom(unsigned char*, unsigned char);



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sie 2019, o 21:06 
    Offline
    Użytkownik

    Dołączył(a): 05 sie 2019
    Posty: 92
    Pomógł: 0

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


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


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


    W tym momencie program kompiluje się bez błędów, natomiast nie świeci się żaden LED.



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

    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