Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 kwi 2024, o 21:57


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 22 lis 2018, o 19:19 
Offline
Użytkownik

Dołączył(a): 04 mar 2012
Posty: 65
Lokalizacja: Śląsk - Mikołów
Pomógł: 0

Witam wszystkich,

Chciałem zaszaleć i ustawić sobie timer 16 bitowy zamiast 8 bitowego na atmedze 32. Postępowałem zgodnie z bb dla ćwiczenia z 7 segmentowymi wyświetlaczami LED i dla 8 bit było okej, wszystko działało. Niestety po zmianie na 16, już nie działa, tzn. wyświetlacz umarł, nie jest wyświetlone nic.

Timer 16 jest mi potrzebny, aby ustawić przełączanie cyfr w częstotliwości 1Hz, a nie jak to było w założeniach po 50 na jeden wyświetlacz. A więc po odczycie z noty katalogowej ustawiłem u siebie coś takiego:

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


biorąc do działania TIMER1A. Niestety nic z tego.

Próbowałem podobną sztuczkę zrobić z diodami led:

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


KOD OD KOLEGI NIEBO!


Lecz efekt podobny, ciemno.

Czy ma ktoś pomysł co zrobiłem źle?

_________________
Próbuj, a NA PEWNO CI się uda!! MADE IN SILESIA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 19:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

bit WGM12 masz w rejestrze TCCR1B
to samo z bitami CS12 i CS10
zobacz notę


Autor postu otrzymał pochwałę

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 lis 2018, o 19:33 
Offline
Użytkownik

Dołączył(a): 04 mar 2012
Posty: 65
Lokalizacja: Śląsk - Mikołów
Pomógł: 0

Już mi się coś rozjaśnia. Żeby ustawić tryb CTC należy jedynke ustawić na WGM12, to znaczy, że trybu CTC nie można uzyskać na timer1A? Zaraz to sprawdzę, czy działa z B, nie pomyślałem o tym.


Super! Udało się, już wszystko hula. Dzięki serdeczne za nakierowanie.

Poprawiony kod, gdyby ktoś był ciekaw:

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

_________________
Próbuj, a NA PEWNO CI się uda!! MADE IN SILESIA



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lis 2018, o 17:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

mako067 napisał(a):
Już mi się coś rozjaśnia. Żeby ustawić tryb CTC należy jedynke ustawić na WGM12, to znaczy, że trybu CTC nie można uzyskać na timer1A? Zaraz to sprawdzę, czy działa z B, nie pomyślałem o tym.

Kolego nie ma czegoś takiego jak timer1A i timer1B. Jest to po prostu timer1 ale 16-bitowy więc jego rejestr TCCR został podzielony na dwa rejestry 8-bitowe czyli TCCR1A i TCCR1B. A dlaczego? bo procesor jest 8-bitowy.
Akurat dla trybu CTC wszystkie bity do ustawienia mamy w TCCR1B ale już dla trybu PWM może być kombinacja, że część bitów ustawiasz w TCCR1A a część w TCCR1B.
Pamiętaj zawsze sprawdzaj w nocie co gdzie jest a sam dla siebie porób ćwiczenia z ustawianiem różnych konfiguracji.
pozdrawiam

_________________
Pomóżcie mi stanąć na nogi



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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