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 5 cze 2025, o 23:01


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
     Tytuł: PWM
    PostNapisane: 14 gru 2011, o 18:06 
    Offline
    Użytkownik

    Dołączył(a): 05 lis 2011
    Posty: 81
    Pomógł: 0

    Witam
    Mam problem z PWM na Atemga8 a dokladnie z OCR1A i OCR1B. Chcialem zrobic sterowanie dioda RGB. Dioda ma wspólny +
    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: PWM
    PostNapisane: 14 gru 2011, o 20:42 
    Offline
    Moderator
    Avatar użytkownika

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

    Kolega już wcześniej w innym temacie miał problem zdaje się (jak pamiętam) z wyborem rejestrów do ustawień Timera.

    Tutaj niestety jest jakiś koszmar przy ustawieniach Timera1 :(

    A sam kod, żeby był czytelniejszy nawet dla tych którym się zadaje pytanie powinien być zaopatrzony w komentarze ale nie tak ubogie jak tutaj. Widział kolega jakie ja robiłem komentarze w książce albo na płycie DVD ?

    One wcale nie były dlatego, że do książki tylko - ja na co dzień takie komentarze robię w swoich programach

    Że już nie wspomnę, że gdyby kolega sobie opisał co robi np każda z tych trzech linijek to już sam by może doszedł gdzie leżą giga-babole ;)

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


    albo te trzy linijki:

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

    _________________
    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  
     Tytuł: Re: PWM
    PostNapisane: 14 gru 2011, o 23:14 
    Offline
    Użytkownik

    Dołączył(a): 05 lis 2011
    Posty: 81
    Pomógł: 0

    Ok. juz chyba wiem gdzie robilem blad, lekko poprawiony kod. Musze jeszcze dojsc co jest nie tam a OCR1A bo nie dziala, ale to jutro. :)
    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: PWM
    PostNapisane: 14 gru 2011, o 23:35 
    Offline
    Moderator
    Avatar użytkownika

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

    O! no proszę jaką zbawienną rolę odgrywają komentarze dobre w programie ;) teraz już kolega rozumie dlaczego to jest nieodłączna część pisania poprawnych programów w C ? ;)

    A teraz też widać błąd

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


    nie ma czegoś takiego jak Timer1A i Timer1B ;) jest tylko jeden sprzętowy Timer1 - natomiast posiada dwa kanały PWM. Co oznacza że musisz wybrać tryb Fast PWM - za pomocą bitów WGM dla całego timera1 i to wszystko. A ty sobie wymyśliłeś że dwa bity wgm są jakby dla jakiegoś tajemniczego timera1a i timera1b

    w efekcie ustawiłeś wszystkie bity WGM - spójrz sobie więc w tabelę trybów i zastanów się jaki tryb pracy timera1 wybrałeś gdy ustawiłeś aż 4 bity ? ;)

    Powinieneś wybrać inny tryb - tyle podpowiem na razie ;)

    _________________
    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  
     Tytuł: Re: PWM
    PostNapisane: 15 gru 2011, o 16:11 
    Offline
    Użytkownik

    Dołączył(a): 05 lis 2011
    Posty: 81
    Pomógł: 0

    A już miałem pisać bo nie chciało się kasować po przepełnienie, ale doszedłem do tego, że ustawiałem 10-bit'owy, a nie 8-bit'owy tryb PWM ;) Teraz po poprawkach i poprawnym działaniu pokazuje kod (teraz już wiem, gdzie robiłem błędy w ustawieniach): :D
    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.

    Dzięki :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: PWM
    PostNapisane: 15 gru 2011, o 16:50 
    Offline
    Moderator
    Avatar użytkownika

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

    nadal masz błędy :(

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


    po co te ustawienia dla fantomowego timera1 ? ;)
    poza tym znowu trzaskasz bity WGM po rejestrze TCCR1B w którym ich nie ma. Już je wcześniej ustawiłeś i w poprawnym rejestrze TCCR1A

    druga linijka - tez bity COM1Ax oraz COM1Bx możesz ustawić także w jednej linicje wyżej

    a powielenie linii z ustawieniem preskalera to już totalne nieporozumienie, tzn wydaje mi się że ty cały czas źle coś czujesz - że tam się jakieś dwa oddzielne timery ustawia i przez to błąd myślowy robisz poważny\

    wystarczy tak:


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


    Nie ma czegoś takiego jak oddzielne ustawienia trybu pracy Timera1 dla kanału A i kanału B jak ty to usilnie chcesz zrobić. Ustawia się JEDEN tryb pracy dla całego Timera1 ..... rozumiesz ?

    A za pomocą pozostałych bitów ew włączasz i wyłączasz kanały

    _________________
    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  
     Tytuł: Re: PWM
    PostNapisane: 15 gru 2011, o 17:14 
    Offline
    Użytkownik

    Dołączył(a): 05 lis 2011
    Posty: 81
    Pomógł: 0

    Aha. No bo jest tak jak piszesz ja to traktowałem jako osobne Timery (myliło mnie OCR1A i OCR1B). Teraz rozumiem, że jeżeli ustawiamy przy danym kanale to zmienia się w całym TIMER1 ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: PWM
    PostNapisane: 15 gru 2011, o 17:43 
    Offline
    Moderator
    Avatar użytkownika

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

    Timer1 jest tylko jeden, a przecież masz poszczególne bity odpowiedzialne za kanał A (COM1A1, COM1A0) oraz za kanał B (COM1B1, COM1B0)

    i to wszystko panie kochany ;)

    Wszystkie pozostałe bity są wspólne dla całego Timera1 , a że jest ich tyle że nie zmieściłyby się w jednym bajcie no to rozłożono je do dwóch rejestrów: TCCR1A praz TCCR1B - tyle że te literki nie mają nic wspólnego z kanałami PWM, ot po prostu kolejne rejestry, Potem mógłby być TCCR1C itd

    _________________
    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  
     Tytuł: Re: PWM
    PostNapisane: 15 gru 2011, o 18:22 
    Offline
    Użytkownik

    Dołączył(a): 05 lis 2011
    Posty: 81
    Pomógł: 0

    no teraz to już rozumiem :D



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO