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



Teraz jest 26 mar 2026, o 18:44


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 17 paź 2014, o 13:00 
Offline
Nowy

Dołączył(a): 17 paź 2014
Posty: 23
Pomógł: 1

Witam.
Mój pierwszy post więc proszę o wyrozumiałość.

Celem zadania jest uzyskanie zadanej częstotliwości na wyjściu Atmegi. Pisząc w skrócie:
- częstotliwość generatora wewnętrznego ustawiona na 1MHz,
- wyjście na porcie D,
- wykorzystany Timer0,
- uP Atmega 32,
- przepełnienie timera co 256 cykli,
- prescaler ustawiony na podział przez 8.
W efekcie, teoretycznie, powinienem uzyskać na PORTD częstotliwość ok 488Hz. W praktyce, na podpiętym oscyloskopie lub częstotliwościomierzu mam 245Hz.

Poniżej podaję kod:

Źle wstawiony kod programu - Zielono-Różowy J.

Gdzie leży mój błąd?
Będę wdzięczny za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2014, o 13:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 sty 2014
Posty: 336
Lokalizacja: Grodzisk Mazowiecki
Pomógł: 13

488/2=244
244hz to jest częstotliwość którą uzyskujesz przy tych ustawieniach timera


Autor postu otrzymał pochwałę

_________________
"Nie programuj w święta - bug się rodzi"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2014, o 13:25 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Błąd jest logiczny ;-)
przerwanie otrzymujesz z częstotliwością ~488hz
Natomiast okres zmiany na pinie portu D będzie o połowę niższy
przez 488 trwa tylko połowa okresu
|-------|____|
1-488-0-488

Poza tym kod umieszczamy w znacznikach syntax=C
;-)


Autor postu otrzymał pochwałę

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2014, o 13:28 
Offline
Nowy

Dołączył(a): 17 paź 2014
Posty: 23
Pomógł: 1

Ot i cała filozofia :D ... no jasne jak słońce, nie wiem czemu przeoczyłem "oczywistą oczywistość".
Bardzo Kolegom dziękuję !!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 paź 2014, o 16:32 
Offline
Użytkownik
Avatar użytkownika

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

@nkarol82 - sie nie przejmuj takimi wpadkami - też się kiedyś na tym złapałem. Z czasem będzie ich więcej im większy poziom trudności sobie obierzesz, ale nie myli się ten kto nic nie robi :)

_________________
http://www.sylwekkuna.com



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 3 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