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 18 maja 2025, o 09:08


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 18 sty 2022, o 18:04 
    Offline
    Nowy

    Dołączył(a): 18 sty 2022
    Posty: 11
    Pomógł: 0

    Próbuje na różne sposoby wypuscić określoną liczbę stanów wysokich, generowanych sprzętowo na timerze 2

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 sty 2022, o 19:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 sie 2015
    Posty: 205
    Lokalizacja: UK
    Pomógł: 10

    Pętla while(iii>eee) nigdy się nie wykona, bo wartość delaya zawsze będzie większa od zera. To tak na szybko. Nie sprawdzam poprawności wpisów w rejestry, bo nie mam pod ręką noty.

    _________________
    MMT Technologies



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sty 2022, o 16:25 
    Offline
    Nowy

    Dołączył(a): 18 sty 2022
    Posty: 11
    Pomógł: 0

    wpisy do rejestrów są dobre gdyż atmega daje pożądaną częstotliwość...

    Cytuj:
    Pętla while(iii>eee) nigdy się nie wykona, bo wartość delaya zawsze będzie większa od zera

    nie bardzo rozumie co masz na myśli mówiąc "delaya" ??

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


    problem na pewno polega na tym że iii++ nie działa zawsze pokazuje 0.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 sty 2022, o 18:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

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

    nigdy się nie wykona ponieważ po wejściu do funkcji ustawiasz zmienną iii na 0 i z tego tytułu
    iii nigdy nie będzie większe niż zmienna eee (uint8_t eee - zakres od 0 do 255).

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

    masz to samo tzn. zmienna iii nigdy nie będzie większa od eee a zatem warunek znowu nie będzie nigdy spełniony
    ponieważ zawsze gdy wchodzisz do funkcji to ustawiasz zmienną iii na 0.

    Żeby pętla się wykonywała to sprubój tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    wtedy gdy jako argument funkcji eee podasz np: liczbę 100, to ta zmienna będzie dekrementowana aż do zera i
    pętla wykona się 100 razy.


    Autor postu otrzymał pochwałę

    _________________
    http://www.avrboss.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 sty 2022, o 16:15 
    Offline
    Nowy

    Dołączył(a): 18 sty 2022
    Posty: 11
    Pomógł: 0

    Pętla while i zmienna iii działa, ale problem dalej pozostaje na oscyloskopie widzę że atmega nie daje tyle okresów co mu wpisze w programie (na 20 zadanych daje 5-6).
    Nie mam pomysłu jak by to rozwiązać.

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


    Próbowałem dołączyć przerwanie ctc do liczenia ale nie wiem dlaczego wykonuje się dużo wolniej.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 sty 2022, o 18:38 
    Offline
    Nowy

    Dołączył(a): 18 sty 2022
    Posty: 11
    Pomógł: 0

    przychodzi mi pomysł zastosowanie rozwiązania z enkodera kodu Graya
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Nie zdążę go dzisiaj sprawdzić i przerobić na zapis bitowy...

    Może ktoś ma inny lepszy pomysł na rozwiązanie??



    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