webmortiz napisał: Załóżmy że mam pod ATmege 32 podłączony kwarc 16 MHz. Do Atmegi podpiąłem też wyświetlacz, który może pracować na transmisji z max częstotliwością 6 MHz. Plus powiedzmy jeszcze jakieś inne elementy (np. karta pamięci, dioda podczerwieni). Jak te wszystkie różne częstotliwości ogarnąć razem w kodzie względem tych 16 MHz aby wszystkie części pracowały poprawnie?
riddyk napisał: Witam, a od czego są przerywania ?
Wszystko jest obsługiwane na przerywaniach, i też wszystko nie działa w jednej chwili więc spokojnie ATmega się wyrobi.
a co ma "piernik do wiatraka" - czyli ten kwarc 16MHz do różnych elementów, wyświetlacza czy przerwań ?????
Kolega autor już próbował coś programować na prockach? czy na razie tak tylko teoretyzuje hmmm???
- zrób sobie podstawowy układ do migania np jedną diodą LED - i wstaw w pętli gdzie zastosujesz na początek najprostsze procedurki opóźniające np co 1 sekundę - tak aby dioda migała co 1 sekundę właśnie.
i co? przecież dioda nie będzie migała z częstotliwością 16MHz
potem podłącz sobie wyświetlacz LCD czy też LED (obojętnie jaki) - poczytaj sobie jego notę katalogową (jeśli sam chcesz napisać obslugę do niego) - dowiedz się z niej jakie trzeba opóźnienia użyć aby wysyłać odpowiednie sygnały sterujące i znowu zrobisz jakieś procedury opóźniające tyle że o wiele krótszym czasie.
Oczywiście twoje procedury opóźniające będą już zależały od tego jaki masz kwarc ale tylko one a nie
"inne elementy" (co nie znaczy, że wartość kwarca nie ma znaczenia - bo jeśli chcesz zrobić coś prostego i mało funkcji - to kwarc może być o niskiej wartości, ale jeśli będziesz potrzebował większe mocy obliczeniowej dla procka i obsługiwać większą ilość urządzeń w jednym czasie - to pewnie, że dopiero wtedy przydaje się zwiększać wartość taktowania procka) W ogromnej większości wypadków na początku drogi programowania ale także później wystarcza spokojnie wbudowany oscylator wewnętrzny 8MHz.
i o czywiście do "produkcji" dokładnych opóźnień czasowych - np przy obsłudze odbiorników IR - pewnie, że będzie można się także w tym celu posłużyć ew przerwaniami choć nie koniecznie
Dzięki takiemu podejściu można często te same urządzenia, moduły elementy sterować programowo przy róznej wartości kwarców.
- teraz jaśniej ?