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



Teraz jest 24 mar 2026, o 09:07


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 30 paź 2014, o 21:16 
Offline
Użytkownik

Dołączył(a): 30 sie 2014
Posty: 170
Pomógł: 2

W klasycznych avr definiuje sie czestotliwosc pracy. A co w przypadku gdy uC bedzie pracowal z roznymi czestotliwosciami? Czy wystarczy zdefiniowac wartosc domyslna (rozruchowa) 2MHz?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 31 paź 2014, o 15:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 mar 2014
Posty: 356
Lokalizacja: Pruszków
Pomógł: 15

Witaj

Wartość taktowania CPU definiuje się po to aby w programach które używają
np. _delay_ms i po wpisaniu np. 50
faktycznie uzyskane opóźnienie miało te 50ms
jest to potrzebne dla kompilatora aby mógł właściwie przeliczyć ilość cykli procesora.



Pozdrawiam Paweł.



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

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Sprawa faktycznie nie jest prosta, a temu zagadnieniu poświęcony jest podrozdział "Opóźnienia i XMEGA" książki Tomasza Francuz "AVR. Układy peryferyjne". Przytoczę teraz fragment kodu, który pośrednio rozwiązuje problem, jednak autor go nie zaleca.

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

Oba opóźnienia wyniosą 100ms, jednak nie wpływa to na pozostałe pliki projektu, a więc wartość stałej F_CPU dla tych plików będzie w dalszym ciągu równa 2000000 (wartość z Makefile).

Podsumowując zalecane jest używanie jedynie definicji F_PCU w pliku Makefile (właściwości projektu) i odpowiednie przeliczanie wartości przy zmianie taktowania. Po tej modyfikacji można ustawić odpowiednią wartość zmiennej globalnej (dla PHP powiedziałbym nawet superglobalnej ;), dla C trzeba będzie stosować "extern") i później na podstawie tej wartości pozostałe funkcje będą wiedziały jak przeliczać swoje parametry/ustawienia.
Zaznaczam iż jest to sposób dość kulawy...



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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