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 11 sie 2025, o 03:06


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 27 lip 2021, o 15:51 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2021
    Posty: 93
    Pomógł: 0

    Hejka, doszedlem z bluebooku do przerwań. Problem troche miałem przy obliczeniach ale chyba juz to ogarnalem,jednak chcialbym abyście sprawdzili poprawność mojego myslenia, czy dobrze to wyliczam. Chcę np: wywołać przerwanie od porównania co hmmm... 23ms... Pierw patrzę, z jaką częstotliwościa będzie się to wykonywało.... 1/0,023s = 43,4Hz ~ 44Hz... Teraz zakładam ze mój CPU taktuje 1Mhz i użyje prescalera 64 co da mi 15625Hz... Teraz ustawiam wartość porównawczą do OCRx.. Wyliczam ją tak, że 15625/43,4 = 360.. Timer doliczajac do 360 zrobi to w 360/15625 = 0,023004s=23ms z częstotliwością.. 15625/360= 43,4Hz..



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lip 2021, o 16:30 
    Offline
    Moderator
    Avatar użytkownika

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

    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.


    preskaler = 64

    ------------------------ [ Dodano po: 3 minutach ]

    Tylko po co używasz TAK ŚLIMACZEGO taktowania procka 1 MHz - za chwilę, spotkasz się z innymi problemami przy takim ślimaczym tempie i przerwaniach nawet z tą częstotliwością. Więc podaj chociaż jeden poważny powód dla którego decydujesz się na kocie taktowanie 1 MHz ? ;) jeśli będzie to dobry powód to ok - ale ciekaw jestem dlaczego akurat ten 1 MHz


    Autor postu otrzymał pochwałę

    _________________
    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: 27 lip 2021, o 16:37 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2021
    Posty: 93
    Pomógł: 0

    To tylko do obliczeń, wybrałem to losowo, na razie jestem na etapie teoretycznego zrozumienia działania timera. Mogę obliczenia zrobić dla 8 Mhz :P



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 lip 2021, o 16:41 
    Offline
    Moderator
    Avatar użytkownika

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

    krawi92 napisał(a):
    Mogę obliczenia zrobić dla 8 Mhz

    a ok ok

    Pokazałem ci wyżej jak prosto to się robi w kodzie - widziałeś ? ;) (oczywiście nie będzie równo np 43,0 Hz tylko tam 43,4 Hz

    tak samo jest w Bluebooku opisane więc dobrze myślisz

    ------------------------ [ Dodano po: 1 minucie ]

    tylko dla większej częstotliwości taktowania musisz oczywiście zwiększyć w tym wypadku preskaler żeby wyliczona wartość zmieściła się w OCRA jeśli to timer 8-bitowy


    Autor postu otrzymał pochwałę

    _________________
    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: 27 lip 2021, o 17:06 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2021
    Posty: 93
    Pomógł: 0

    Musiałem po swojemu do tego dojść bo na przykładzie przerwania 1s to proste, ale że czas jest odwrotnie proporcjonalny do częstotliwości, to gdy pomyslałem o innym czasie przerwania, troche sie pogubiłem jak to wyliczyć. Ale dzięki za podpowiedź, faktycznie w kodzie można to fajnie zrobić i nie bawić się w obliczenia na kalkulatorze ;)



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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