Po co koledze ten CTC? Prescaler ustaw na 128 i wykorzystaj przerwanie przepełnienia licznika. Fint = Fosc / preskaler / 2^ilość_bitów_licznika = 32768Hz / 128 / 256 = 1Hz Przy CTC trzeba pamiętać, że występuje taki jeden mały szczegół jak 1+OCRn , gdyż licznik musi przynajmniej zliczyć jeden impuls. A ty go nie uwzględniłeś: Fint = Fosc / (preskaler...
Wiec najlepiej tryb Power-save (wtedy zegar systemowy nie pracuje wcale) w którym działa TC0 w trybie asynchroniczny. Wiec timer trzeba będzie taktować z zewnętrznego źrudła sygnału np kwarcu zegarowego co pozwoli na dodatkowe oszczędzanie energii.
Ja bym zaczął od przeczytania noty katalogowej procesora. Masz tam sekcję o timerze w trybie asynchronicznym, masz też opisane fusebity.
Potrzebuje ale w momencie gdy jest ustawiony do pracy w trybie asynchronicznym.
Witam serdecznie, chcę taktować timer Atmega8 zewnętrznym kwarcem zegarkowym, a sam uC taktować wewnętrznym oscylatorem RC. Tylko nie wiem jak mam skonfigurowac Atmega8 abz to osiagnac, pewnie trzeba cos w fusebitach zmienic, ale nie wiem co.. Prosze o pomoc. Pozdrawiam!
Kwarc 32768Hz stosuje się gdy uC ma asynchroniczny timer. Taki Timer - Timer2 znajduje się np. w MEGA8. Procek idzie wtedy na generatorze wewnętrznym, a Timer2 na kwarcu dołaczonym do końcówek XTAL. Co prawda nie studiowałem całej noty TINY2313, ale sądzę, że z tym uC się to nie uda.
Witam, Mam do wykonania prosty system, który przez większość czasu pozostaje w uśpieniu i co 10 sekund wybudza się by wykonać swoje zadania po czym przechodzi do trybu power-down. Poszukiwałem mikrokontrolera w 14-nóżkowej obudowie (potrzebne SPI i INT0) z pamięcią flash w granicach 4kb, który dysponuje trybem asynchronicznym timera, który to daje możliwość...
Nie przesadzaj. Być może zablokowałeś tylko pozornie, bo przy programowaniu ISP, częstotliwość taktowania procesora musi być co najmniej 4x większa niż częstotliwość sygnału SCK z ISP. Czyli dla kwarcu 32768Hz nie może przekraczać 8kHz, wiele programatorów ma do tego specjalną zworkę, ale nie wszystkie i stąd problem. Swoją drogą przy asynchronicznym...
oczywiscie w CMOSie :)
Żebyśmy się dobrze zrozumieli. CPU taktowane jest zegarem RC 8MHz. Zegar asynchroniczny taktuje jedynie timer T2. Czas między przerwaniami to 0.5s. A czas obsługi przerwania to jakieś 10us, może mniej.
Niestety rezonatory o wyższych częstotliwościach potrafią mieć spory rozrzut parametrów, pływają też pod wpływem temperatury znacznie bardziej, niż kwarce 32kHz. Na krótkich dystansach używanie ogólnych timerów jest dobrym wyborem, jednak po dobie lub dwóch różnica wskazań takiego zegara względem rzeczywistego czasu może sięgać kilkunastu sekund. Asynchroniczny...
Timer asynchroniczny + kwarc 32,768
Źle do tego podchodzisz. Całe multipleksowanie zrób w przerwaniu timera, który określi dokładnie jak długo wyświetlana będzie każda cyfra. Teraz to robisz w pętli idącej z max szybkością proca, w efekcie piekielnie szybko multipleksujesz LCD, co pomniejsza ich jasność, a dwa, że jak program się na czymś na chwilę zatrzyma (czyli odczycie PCF) to całość...
Albo Atmegę z asynchronicznym timerem. Wyjdzie taniej niz Tiny + RTC.
Czas z ds3231 jest odczytywany tylko przy uruchamianiu zegara, zaś zapisywany do niego jest podczas zmiany czasu na letni i na zimowy. Serio? Czy tylko wg. mnie to jest totalnie bez sensu? Czy dobrze rozumiem że odmierzanie czasu masz zrobione na procku a z RTC odczytujesz tylko po zaniku zasilania? Jeśli tak to po co ten RTC... Załóżmy sytuację że...
(at)piotrva To miganie diodami to był tylko taki przykład. Watchdoga chcę użyć tak jak ten timer asynchroniczny w power save.
Witam Czym się różni praca asynchroniczna od synchronicznej licznika TIMER w mikroprocesorach? Dodano po 35 Polega na tym, że w trybie synchronicznym licznik jest taktowany z tego samego generatora co mikroprocesor, a w trybie asynchronicznym może być taktowany z innego źródła - np. kwarcu zegarkowego, a procesor z oscylatora wewnętrznego RC. Na czym...
zapewne to wina wewnętrznego kwarcu i liczenia zmiennoprzecinkowego. A propos ta obsługa przerwania jest zdecydowanie za długa. I zmiennoprzecinkowe po co? PS. taką metodą RTC nie wyjdzie najlepszej jakości. Timer 2 asynchronicznie z kwarcem 32,786.
Owszem, wewnętrzny generator nie jest zbyt dokładny, lecz jeśli dasz zewnętrzny kwarc, z którego będziesz taktował MCU to już będzie ok. Zabawa w kwarc zegarkowy i asynchroniczne taktowanie timera ma sens, jeśli będziesz usypiał MCU w celu oszczędzania energii.
Witaj. Tak jak napisał kolega kwesoly dokładny zegarek można osiągnąć tylko i wyłącznie w asynchronicznym trybie Timera 2 w Atmedze 8. Jest wszystko w dokumentacji do Avr-ów. Nie masz się w takim asynchronicznym taktowaniu bać o szybkość obsługi takiego przerwania bylebyś w ciągu 1 sekundy się wyrobił z obsługą. Pozdrawiam
t2 może pracować taktowany z CLKio (AS2 w ASSR skasowany) lub zegarem pochodzącym z pinu TOSC1 (który pracuje łącznie z TOSC2). Asynchroniczość polega na tym, że oscylator na TOSC może pracować na innej częstotliwości niż zegar procesora. Np procesor może iść na zegarze 8MHz (wew.RC), podczas gdy do pinów TOSC jest podłączony kwarc zegarkowy i z taką...
ewentualnie na jakims innym mikrokontrolerze? W atmegach robisz to bardzo prosto. Podłączasz kwarc zegarkowy do wejść timera asynchronicznego - TOSC1, TOSC2. Np. w atmega16 ustawiasz preskaler timera2 na 128. Timer jest 8-bitowy więc przepełniać się będzie co 1s ;)
Przy sprzętowym PWM warto pędzić zmiany współczynnika właśnie przerwaniem od timera PWM, i jest ku temu kilka dobrych powodów (np. rówoczesność zmian wypełnienia przy kilku kanałach). Nie widzę sensu nastawiania drugiego timera asynchronicznego względem timera PWM do generowania przerwania, bo płyną z tego same szkody, a zysku nie widać żadnego. Nie...
Nie korzystałem nigdy z trybu asynchronicznego, ale właśnie w tym, że jest on asynchroniczny wydaje mi się, że leży Twój problem. W szczególności myślę tutaj o dostępie do rejestrów timera w tym trybie. Poszukaj na ten temat informacji. Może tu coś znajdziesz: http://www.atmel.com/dyn/resources/prod_... Drobna rada: [syntax=c]//zamiast...
ad 1. Dla timer 0 nie jest źle, bo masz preskaler i licznik jest 16-bitowy. Timer 0 jest 8 bitowy, tylko Timer 1 ma 16 bitów więc za dużo nie zdziała bez przerwań i liczenia przepełnień. Jeśli autor nie używa pinów kwarcu, można wykorzystać Timer 2 i tryb asynchroniczny, podpiąć jakiś wolny kwarc i popędzić Timer 2 niezależnie.
procek jedzie na 1MHz wew. zegarze. Rzecz w tym, że nie jest to sobie takie równe 1MHz, tym bardziej bez kalibracji. Jak chcesz dokładniej, to użyj Timer2 w trybie asynchronicznym z dodatkowym rezonatorem kwarcowym 32768Hz. Przejrzyj noty aplikacyjne AVR134 i AVR055.
Witam! Mój przedmówca nie ma niestety racji. Timery nie służą do dokładnego pomiaru czasu. Dlaczego? Trzeba pamiętać, że timery pracują asynchronicznie w stosunku do wykonywanego programu. Kiedy wiec jakiś timer doliczy swój czas dowiemy się o tym dopiero przy najbliższym obiegu pętli programowej. Wynika z tego ze odmierzony czas może być (w najgorszym...
Zastanów się nad negacją warunku w: Bit 1 – TCR2AUB: Timer/Counter Control Register2 Update Busy When Timer/Counter2 operates asynchronously and TCCR2A is written, this bit becomes set. When TCCR2A has been updated from the temporary storage register, this bit is cleared by hardware. A logical zero in this bit indicates that TCCR2A is ready...
Ogólnie kwarce o wysokich częstotliwościach są niezbyt dokładne - zwykle +-100ppm w dobrym układzie. Na pewno jednak kwarc jest lepszy niż wewnętrzny RC. Robiłem kiedyś testy i na kwarcu 16MHz bez kalibracji udało się osiągnąć dokładność o ile pamiętam 1-2s na godzinę. Ale jak napisał Ci (może nie do końca) przedmówca (at)Milek7: Najlepiej wtedy w przypadku...
Witam. Dołóż kwarc 32kHz i usypiaj procesor całkowicie. Ustawiając odpowiednio Timer będziesz go budziła np. co sekundę. Ale w AVR to zdaje sie tylko z timera 2 w trybie asynchronicznym można to zrobic. Jest jeszcze opcja budzenia przez wdg. Precyzja mała ale tu nie istotne. Tyle, że procek jest bez potrzeby budzony co np sekundę, nie prościej z mniejsza...
1. Volatile: http://mikrokontrolery.blogspot.com/2011... 2. Tryb asynchroniczny: 1. Disable the Timer/Counter2 interrupts by clearing OCIE2 and TOIE2. 2. Select clock source by setting AS2 as appropriate. 3. Write new values to TCNT2, OCR2, and TCCR2. 4. To switch to asynchronous operation: Wait for TCN2UB, OCR2UB, and TCR2UB...
Nota atmela mówi, że jeśli timer pracuje w trybie asynchronicznym, to należy testować flagi Update Busy (3 flagi) w ASSR, po tym należy wyzerować flagę przerwania.
http://obrazki.elektroda.pl/4405073100_1... to jest ustawianie dla LOGO! 0BA8 W starszych wersjach trzeba ręcznie przypisać wartość wzmacniacza do danego czasu w timerze asynchronicznym. Maksymalny zakres sekund regulujesz we wzmacniaczu. Flagi analogowe na końcu muszą być bo koniec tych wzmacniaczy musi być do innego bloku połączony.
Zrobiłem taki prosty program w PLC. Generator impulsów na dwóch timerach. http://obrazki.elektroda.pl/1390334300_1... http://obrazki.elektroda.pl/9343867500_1... Jeden genereje impuls co 10ms a drugi kończy zliczanie po 1s. Czyli przez 1 sekundę powinniśmy miec 100 impulsów. Podłączyłem Q0.0 do wejścia I0.0 odblokowałem...
TCCR0 = _BV(x<<CS00); Źle użyłeś makra _BV. _BV(x) jest równoznaczne z ( 1 << x ), czyli w Twoim przypadku próbujesz wykonać podwójnie przesunięcie bitowe. Jeżeli x = 3 (CS00=0): _BV(3<<CS00) = _BV(3) = (1<<3) = 0b00001000 czyli TCCR0 będzie równe 0b00001000 . Innymi słowy, próbujesz ustawić bit tylko do odczytu, zamiast...
Dołączam się do życzeń. Pytanie czy kwarc zegarkowy- 32.768kHz taktuje procka, czy pracuje w trybie asynchronicznym i taktuje wewnętrzny timer (nota kat. Atmegi 8 strona 26 i 32). W nocie katalogowej minimalna f kwarcu to 0.4 MHz... tak , wszystko jasne, zobaczyłem w kodzie ;)
Wycinek z datasheet atmega8a: "The Asynchronous Timer/Counter uses the same XTAL pins as the CPU main clock but requires a CPU main clock frequency of more than four times the Oscillator frequency. Thus, asynchronous operation is only available while the chip is clocked on the Internal Oscillator." Niestety do poprawnego działania potrzebny jest oscylator...
No nie za bardzo zależy. Problem leży w tym, że asynchronicznie taktowany timer i jego podsystemy są w innej domenie zegarowej niż CPU.
Z częstotliwością zegara nic nie kombinowałem więc mega pracuje na 1MHz Zgodnie z [url=http://www.atmel.com/dyn/resources/... do ATmegi8 wewnętrzny oscylator ma dokładność +/- 3% a i to pod warunkiem że masz równe 5V i 25*C Pisza tam też że można to jeszcze trochę poprawić (dodatkowa kalibracja), ale osiągniesz maks...
Jeśli dobrze widzę, w programie masz 1MHz + timer 2 w trybie asynchronicznym z kwarcem 32kHz. Jeżeli tak, to ustaw: low: E1 high: C9
Moje pytanie brzmi czy mogę pogodzić precyzyjny odczyt z ADC (z uśpieniem) i dokładny timer czy muszę wybrać albo precyzyjne ADC i niedokładny timer albo standardowy odczyt z ADC i dokładny timer? Timer1 jest taktowany przez prescaler z CLK_I/O, a podczas 'ADC Noise Reduction' , ten zegar jest nieaktywny/ wyłączony. Patrz tabela14 w datasheet; w której...
W ATmegach do tego zadania dedykowany jest timer 2 w trybie asynchronicznej
Dzień dobry, chciałbym opisać zegar szachowy mej konstrukcji. http://obrazki.elektroda.pl/2838677600_1... http://obrazki.elektroda.pl/4442183300_1... http://obrazki.elektroda.pl/1402313500_1... Pomysł zbudowania takiego zegara zrodził się w mej głowie, kiedy w okresie zainteresowania mikrokontrolerami...
A czy ustawiłeś preskaler dla Timer/Conter 0 ???
Rejestrów OCR nie powinieneś uaktualniać tak jak to robisz tylko w momencie kiedy TCNT ma ściśle określoną wartość, np. 0 (czli uaktualniaj OCR w przerwaniu timera, np. OVF). Uaktualniając je asynchronicznie do timera powodujesz, że pierwszy impuls będzie zniekształcony.
Udało mi się odpalić mege8 na 32k ale niestety nie działa RTC. Podstawa Timera asynchronicznego Timer2 ("RTC") działa na innym podłączeniu niż układ zegara systemowego na kwarcu zegarkowym. http://www.elektroda.pl/rtvforum/viewtop...
W tej medze piny obu oscylatorów są współdzielone. Poza tym czy przy ustawieniu timera na asynchroniczny a włączaniu i wyłączaniu tylko preskalera ta stabilizacja występuję przy każdym włączeniu? Coś mi się nie wydaje. Rozumiem gdybym bawił się bitem AS2.
Zegarek zrobiony jest w oparciu o mikroprocesorek - a za dokładność wskazań odpowiada kwarc. Niby więc powinno być dobrze... Niestety - w moim egzemplarzu nie jest. Dziad się spieszy i to 4 minuty na 12 godzin. Podejrzewam jednak, że to akurat wadliwy egzemplarz. Jakieś trzy lata temu składałem dokładnie ten sam model dla Syna i tamten chodził zdecydowanie...
Przy dołączonych peryferiach 1wire jest pewna przeszkoda w komunikacji. Należy na czas komunikacji z układem wyłączyć timer( czyli zatrzymać odmierzanie czasu, sam sprawdź na czas komunikacji zrób disable timer0, a po zakończeniu komunikacji enable timer0). Dlatego do odmierzania czasu powinieneś wykorzystać timer w trybie asynchronicznym, np.: Config...
Nie wiem co rozumiesz przez stwierdzenie: " aby regulacja temperatury była zależna od czasu", jak i kiedy realizujesz obsługę przerwań ale błędy odczytu temperatury prawdopodobnie są wynikiem zakłócania cyklu odczytu ds-a przez przerwanie od timera. Poczytaj o zależnościach czasowych 1-wire. Jest to interfejs asynchroniczny i musisz zapewnić aby poszczególne...
When the AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PB7 is disconnected from the port, and becomes the inverting output of the Oscillator amplifier. Tłumaczenie wg mnie: Kiedy bit AS2 w ASSR jest ustawiony( jedynka) by włączyć asynchroniczne taktowanie czasomierza/licznika2 to PINB7 jest odłączony z portu i...
M8 i układ energooszczędny to oksymoron. Zmień procesor na nowszy, zastosuj zewnętrzny kwarc zegarkowy 32768 Hz i timer w trybie asynchronicznym - większość AVR ma RTC - real time counter, który służy właśnie do takich celów. W darmowych przykłądach do mojej książki (link w stopce) masz przykłąd wykorzystania timera w trybie asynchronicznym do zliczania...
(at)Maryush Przede wszystkim użyj nowszego AVRa, ma to kilka zalet, m.in.: - mniejszy pobór prądu w stanie cuzwania i uśpienia, - możliwość wybudzenia procesora przez watch doga, w efekcie znika potrzeba stosowania timera w trybie asynchronicznym, zewnętrznych kwarców, itd.
Power-down Mode ... This sleep mode basically halts all generated clocks, allowing operation of asynchronous modules only. Tabelka: Active Clock Domains and Wake Up Sources in the Different Sleep Modes pokazuje, że w Power Down Timer0 nie może wybudzić mikrokontrolera. Innymi słowy timer0 w trybie asynchronicznym liczyć będzie, ale nie może zbudzić...
Sugerujemy użycie przerwania timera do tego zadania.
Problem jest czysto teoretyczny. Nie ma potrzeby, aby oprogramowanie tak prostego mikrokontrolera dowiadywało się, jaki ma zegar, bo i po co? Budując urządzenie wyposażasz go w źródło zegara i ono jest niezmienne. Tak samo nie ma potrzeby aby oprogramowanie dowiadywało się, jaki to dokładnie układ (atmega8 czy 16? wersja zwykła, -L czy może -V?), ile...
Jak wspomniał kolega, zastosuj kwarc zegarkowy do wyjść TOSC1 i TOSC2, uruchom timer w trybie asynchroniczny i uśpij procesor po odłączeniu zasilania. Wszystko masz w manualu :) Wiesz co robić, samo uśpienie Tobie nic nie pomoże (przy zegarku).
Gdzie dałeś taka propozycję? Przejrzałem wszystkie posty i znalazłem tylko swój na temat przerwań od timera. Naprawde? Nie wierze, ze nie jestes na tyle inteligentny, zeby nie domyslic sie ze chodzi o procek do snu. Po co wtedy mialbym dodawac przerwanie od timera? Nie zgrywaj sie , chyba rozmawiamy na powaznie... Jeśli mam reagować na awarie, a oszczędność...
Witam, Dwa timery W LOGO! wystarczy jeden. Pozdrawiam.
Jaki to procesor ? Czy podłączyłeś kwarc do wejścia timera 2 skoro ustawiasz go jako asynchroniczny.
Witam! Piszę program który ma co 8 sekund ma wysyłać wynik pomiaru ADC po SPI. Co lepiej zastosować: a) -ckdiv8(lub więcej) -watchdog z przerwaniem jako timer -power down b) -timer 2 w trybie asynchronicznym z przerwaniami -power save ?
Nie sprawdziłem czy działa ale chyba powinno być coś w tym stylu. Na dwóch timerach masz asynchroniczny generator impulsów. Użycie opóźnionego wyłączenia daje pierwsze załączenie później wyłączenie, opóźnione załączenie da najpierw czas oczekiwania a później załączenie. http://obrazki.elektroda.pl/3891288900_1...
? nie wiem co to za koslawy kod. Po 1, nie uzywa sie goto. 2, Ja na twoim miejscu bym uzyl timera 2 w trybie asynchronicznym, z zegarkowym oscylatorem. Ustawil przerwanie z timera na 1 sekunde. Pozniej w przerwaniu dodal bym zliczanie do 30 sekund. Gdy nie ma 30 Sekund osiagnietych flaga=0, gdy jest powyzej 30 flaga=1. Przycisk 1 by startowal odliczanie...
Witaj. Pokaż schemat i program, bo musimy się domyślać, co robisz i gdzie podłączasz. To co napisałeś rozumiem następująco: - podłączasz pin np. OC1A do pinu TOSC1 - ustawiasz timer 2 w tryb asynchroniczny, ... czy tak? Jeżeli tak, to na jakiej podstawie (datasheet) to robisz? Timer/Counter Oscillator For AVR microcontrollers with Timer/Counter Oscillator...
Przydatne informacje o avrkach. Skoro autor zaczął już wnikać w listy rozkazów, to warto wspomnieć że AVRki dzielą się na subarchitektury rdzenia (AVR, AVRxm, AVRxt, AVRrc) , gdzie poza zróżnicowaniem w rozkazach występują też różnice w czasach ich wykonywania. Takie właśnie było moje zdziwienie gdy Tiny10 miał inne timingi od Tiny13, po czym odkopałem...
Nic to nie dało czyli co? Nadal wyświetla "utD"? Możde zrób tak: void init_timer(void) //Inicjalizacja timera { ASSR = 0x08; //tryb asynchroniczny TCCR2 = 0x05; //preskaler 128 TIMSK = 0x40; //inicjalizacja przerwania wywołanego przepełnieniem timera2 ( bit TOIE2->1) TIFR = 0xC0; } a potem tak: init_timer(); #asm("sei");...
a jeszcze prościej ,ustawic atmege na kwracu wewnętrzym a pod piny tosc1/2 podłączyć kwarc 32.768khz skonfigurować timerze do pracy 2 w trybie asynchronicznym
Witam serdecznie zrobiłem zegar na w/w procesorze i wyświetlaczach 7 segmentowych led. Sekundę odmierzam z wykorzystaniem Timera 2 w trybie asynchronicznym z dodatkowym kwarcem 32,768Khz. Multipleksowanie wyświetlaczy realizowane jest za pomocą timera0. Do tej pory wszystko działa świetnie, Chciałbym jednak dodać jeszcze zliczanie setnych sekundy i...
Nic dodać nic ująć - ten rzekomy zegar RTC to po prostu timer z możliwością pracy asynchronicznej, czyli wyjaśniając który może być taktowany z innego kwarcu (np. 32 768 Hz) i który pracuje w pewnym stopniu niezależnie od reszty procesora.
http://obrazki.elektroda.pl/7470188800_1... Zrobiłem sobie kiedyś taki bloczek : 2 wejścia 2 wyjścia ( przerzutnik asynchroniczny) Dołożyłem go do UDF ( narzędzia >Opcje > UDF ). W programie jest to bloczek 2 wej / 2 wyj. Rozpakowany masz w załączonym obrazku. Wewnątrz jest więcej bloczków które tworzą w funkcji UDF jeden łatwy do wielokrotnego...
O co mi dokładnie chodzi: W helpie Bascom jest napisane, że w przypadku kości 8535 mam do dyspozycji preskalery 1, 8, 32, 64, 128, 256, 1024, a dla kości M103 1, 8, 32, 64, 256, 1024. Ja zaś posiadam kość M32 i w PDF, który dotyczy tego mikrokontrolera jest tabelka na 127 stronie, która zawiera w sobie jakby wykaz dostepnych częstotliwości, ktorymi...
Skoro nie widzisz potrzeby stosowania wskaznikow to ich po prostu nie stosuj. Jak sie potrzeba pojawi to zrozumiesz po co sa :) Jeden z przykladow: masz funkcje, ktora sortuje lancuchy. Ale np. raz chcesz posortowac od najmniejszego do najwiekszego, innym razem odwrotnie, jeszcze innym uwzgledniajac strone kodowa. Zamiast pisac 3 oddzielne funkcje sortujace,...
[syntax=basic4gl]Sprawdź ten kod z książki Pana Wiązani. Zegar zaczyna pracować i wskazywać czas i datę od momentu podania napięcia. Czyli należy podać napięcie dziś o godz. 12 : 00 : 00 zgodnie z programem. Pracuje bardzo dokładnie. Rezonator 32.768 pod piny 9 i 10 (XT1 - XT2). Kondensatory 2 * 22pF. 'licznik Timer2 pracujący jako Timer asynchroniczny....
No to jeszcze dorzucę, to co znalazłem w pewnym pdf-e Motoroli - aplikacja , zresztą bardzo podobna do tej j/w. Legenda : XTAL1 - wejście inwertera generatora XTAL2 - wyjście inwertera generatora Tak przy okazji - AVR - y posiadające wbudowany timer asynchroniczny (np. AT90S8535 , ATmega8535 , ATmega16 , ATmega8 itd.) już są przygotowane do bezpośredniego...
Pytalem gdzie jest napisane, ze jedynym sposobem wybudzenia Timera1 jest koniecznosc by uklad dzialal na zewnetrznym oscylatorze. Cytat z datasheeta, ktory podalem jasno mowi, ze: - Timer1 aby pracowac w trybie sleep musi dzialac w trybie asynchronicznym - w trybie asynchronicznym inkrementacja timera odbywa sie ALBO z zewnetrznego oscylatora, ALBO...
Specyfika tego mikrokontrolera, zmusza Ciebie do zastosowania Timera2 w trybie asynchronicznym, a mikrokontroler powinien być taktowany wewnętrznym generatorem RC, czyli tak jak radzi kol. wyżej. Przy takim rozwiązaniu korzystać możesz ze specjalnego trybu oszczędzania energii: POWER SAVE. Niestety nie da się w tym mikrokontrolerze taktować kwarcem...
Próbuję uruchomić programowy zegar w Bascom na arduino Mega 2560 Kompiluje się bez problemu ale niestety nie działa. Jakiego 'działania ' się tu spodziewasz? -ma poruszac wskazówki, czy też wskazywac czas na dysplay leżącym w szufladzie? - a może przekładac kartki kalendarza? Nie bardzo będziesz mógł uruchomic 'Bascomowy- softwarowy' zegar na Arduino...
Stwierdzenie dotyczące RTC wynika z tego, że timer2 może pracować asynchronicznie z zewnętrznym kwarcem zegarowym. Można mu podać 32768Hz, t2 będzie takim zegarem (lub wynikającym z działania prescalera) taktowany - to jak wykorzystasz timer zależy od ciebie: możesz np ustawić go w trybie CTC przy prescalerze /128, wtedy będzie się przepełniał równo...
Timer2 nie ma 'edge detektora', więc na którym zboczu miałby zlicza impulsy? Timery działają, dlaczego miałyby nie działać? Widocznie jakoś producent zrealizował tę możliwość. Rzecz w tym że w tym trybie, wejście dostosowane jest do typowego oscylatora 32,768Hz, więc pozostałe parametry są niezbyt istotne, i mogą się dziać różne rzeczy. ;) Zrobiłem...
Czyli jak dobrze rozumiem to muszę dać kwarc zegarowy ... Nie, nie musisz. Wszystko zależy do czego ma służyć ten projekt i jak dokładnie ma odmierzać czas. Napisz coś więcej o docelowym projekcie. EDIT: nie doczytałem: Teraz to ma być proste urządzenie aby co określony czas załączało i wyłączało pompę. Tak - zastosuj kwarc 32,768kHz i timer w trybie...
I kolejny krok do przodu :) Kondensator 100nF na pinie kwarcu zapewne wpływa bardzo na częstotliwość pracy timera2, ale tego jesteś świadomy. Należy więc najpierw rozwiązań problem niestartowania Timer2, by pozbyć się kondensatora i palucha :) Tutaj funkcja projektu który niebawem opublikuję: [syntax=c]void dd_timer2_rtc_ini(void){ //Funkcja inicjująca...
Tego nie widziałem. Znalazłem za to informację że dotyczy to rezonatora pracującego jako generator wytwarzający główny sygnał zegarowy: http://obrazki.elektroda.net/9_123515576... A po drugie, akurat w ATMega8 jest błąd w krzemie i te wewnętrzne kondensatory nie działają (tzn. FuseBit ich nie włącza). Użycie rezonatora jako źródła sygnału dla...
Użyj timera w trybie zwykłym i dowolnego kwarcu o "okrągłej" częstotliwości, np. 8 MHz. Preskaler np. 8, timer w trybie CTC zliczający do 999 i masz przerwanie co 1 ms.
PS. Mam jeszcze jeden problem: Niestety w moim przypadku w atmedze16 musiałem wykorzystać wszystkie piny portów i okazało sie właśnie że xtal1 i xtal nie sa równoznaczne z tosc1/2. Jest jakiś inny procesor z rodziny avr 40-nóżkowy tyle że z możliwością taktowania licznika z xtal1/2?? Wszystkie AVR mają taką mozliwość. Tobie chodzi chyba jednak o przypadek,...
Na forum pomagamy osobom które wykazują chęć nauki lub maja konkretny problem. Jak uruchomić zegarek z pełnym kalendarzem itd. jest opisane w Helpie przy instrukcji "Config Clock" Jeśli Ci się nie chce czytać lub nie masz czasu to zleć napisanie tego programu. Osoba z doświadczeniem napisze Ci go w jeden dzień z wszystkimi wodotryskami. Pisze to bo...
Przyłączając się do tematu chciałbym zapytać o parę spraw: 1. Zakładając że chciałbym zrealizować asynchroniczne taktowanie timera T1 w trybie uśpienia Power Save to w jaki sposób podłączyć kwarc ? Wiem narazie tylko tyle że w przypadku gdy chcemy uC taktować zewnętrznym sygnałem to można podczepić kwarc do pinów XTAL1 i XTAL2 równolegle dając do tych...
Bardzo złe podejście. Trzeba tu zastosować jeden układ licznikowy, jako Timer do odmierzenia czasu 1s i drugi jako licznik zdarzeń zewnętrznych. Przerwanie od Timera, zajmującego się czasem wzorcowym powinno być zgłaszane co 1s. W przerwaniu należy pobrać i zapamiętać w zmiennej globalnej zliczoną liczbę impulsów. Potem trzeba wyzerować licznik. W przerwaniu...
Generalnie przyrysowywanie okien w timerze jest to bardzo zła metoda. Przerysowywac należy wtedy kiedy zdarzy się coś co spowoduje konieczność takiego przerysowywania. Invalidate jest metodą asynchroniczną (przynajmniej w dużym c#) W dużym c# timery to oddzielne thready - trzeba stosować zasady komunikacji miedzy wątkowej (jak to robić to już temat...
Witam, 1) Do projektu potrzebuję 2 liczników - jeden do odmierzania czasu, drugi do sterowania wyświetlaczami. Czy to dobra koncepcja?? Odmierzanie czasu - jasna sprawa. Wyświetlacze - po co co Ci licznik do sterowania wyświetlaczami (jakimi, siedmio-segmentowymi?). Nie wiem zresztą jak ocenić Twoją koncepcję gdyż jej praktycznie (szczegółowo) nie przedstawiłeś....
Witam. Potrzebuję napisać funkcję która zainicjalizuje Timer w Atmega32 (asynchroniczny) tak, by działał z zewnętrznym kwarcem 32,768kHz podłączonym pod TOSC1/TOSC2. Timer ma zgłaszać przerwanie co 1 sekunde. W przerwaniu powinien zmieniać stan diody na pinie PD0 na przeciwny. Proszę o pomoc w napisaniu kodu . Przepisz dokładnie to samo co napisałeś...
Timer i owszem liczy niezaleznie ale wszystkie operacje przepisania w innych networkach beda juz asynchroniczne. Ocziwiscie jesli wystarcza plus minus kilka milisekund to faktycznie nie ma znaczenia cykl jednostki.
W zasadzie to są dwa podejścia do tematu: 1. Odświeżanie na żądanie ( trochę mi się rymło ) tj. każda operacja zmieniająca wyświetlaną daną powinna wywołać funkcję odświeżania ekranu. Nowy odczyt temperatury - bach zapis na ekran. Zmienił się stan wejścia - bach zapis na ekran itd. 2. Odświeżanie cykliczne tj. ekran odświeżany jest w zadanych odstępach...
Tu mamy soft rtc (timer 2 pracuje w trybie asynchronicznym liczac impulsy z kwarcu zegarkowego, maks błąd to 1sec na 2 dni) :D wiec poco zwiększać płytkę? To jest właśnie jedna ze zmian którą wprowadziłem. Drugą zmianą jest inny sposób wyświetlania godziny jeśli ktoś chciałby tego ds'a to mogę dopisać program. Aktualnie racuję nad zapisem eeprom'a przez...
Witam. Oto, co jeszcze udało mi się wyskrobać z programu: http://obrazki.elektroda.pl/8611691000_1... I w sumie najważniejsza rzecz, program: while(1) { GetADC(); if(ile_d==30) //15 jesli pobieram np z dwoch kanałów , jesli pobieram z jednego 30 { data[0] = cc++; ile_w++; rf22_sendpacket(data,ile_w);...
Jeśli chodzi o kwarc to na pewno od niego zależy dokładność odmierzanego czasu i jeszcze chyba od dołączonych do niego kondensatorów. Ja mam to zorganizowane tak, że procesor działa na wewnętrznym oscylatorze 1MHz, a sekunda jest odmierzana za pomocą timera2 w trybie asynchronicznym i dołączonego kwarcu 32.768kHz timer jest tak skonfigurowany, że generuje...
Witam, Używam Timera2 taktowanego asynchronicznie do realizacji RTC (kwarc 32768Hz). Zastanawiam się czy w tym trybie pracy można uruchomić jednocześnie tryb CTC tego timera by generować przebiegi na wyjściach OC2A i OC2B. Chyba raczej nie bardzo, bo we wzorze na częstotliwość przebiegu wyjściowego w trybie CTC występuje fclk_I/O, która to nie pochodzi...
void countDown(void) __attribute__ ((interrupt)); coś takiego owszem mam W ARM7 jest 5 rodzajów przerwań, więc to co masz to za mało. programie testowym (który działa) A ten program testowy to skąd? Bo jeśli "z netu", to z faktu że "działa" zbyt wiele nie wynika - równie dobrze może to być przypadek (większość programów z netu ma tą przypadłość). Jeśli...
(...) odczytu temperatury. Jaki zaproponowałbyś kod (AVR GCC), aby nie trzeba było używać delay'a (może pooling lub maszynę stanu) ? Przy okazji przedstaw optymalną (bez zmiennoprzecinkowych liczb) konwersję danych ze scratpad'a na stopnie (może być złożeniem liczb całkowitych jako stopnie i części ułamkowe). Do obsługi termometrów DS18B20 bez blokowania...
Sprawdź na symulatorze w którym momencie się rozjeżdżają wartości badanej zmiennej i timera1 Możliwe, że ta pętla się wykonuje więcej razy, bo warunek stopu przeskakuje. Timer jest zwiększany asynchronicznie w stosunku do programu i program może przeoczyć moment gdy Timer=konkretna wartość, bo sprawdza Timer1 w przypadkowych momentach a nie po każdej...
Najlepszym wyjściem byłoby użycie BW i streama asynchronicznego? Nie przy takich prędkościach nie Jak będziesz chciał dużo szybciej to tak. Jezeli chodzi o kod to możesz tak robić. Jeszcze jedno - do tej pory nadchodzące dane obsługiwałem w timerze. Jak została postawiona flaga, że dane są odebrane to wtedy uruchamiana była instrukcja warunkowa. Takie...
timer asynchroniczny prądnica asynchroniczny sterować asynchroniczny
prostownik dławik dioda ograniczenie prądowy nawigacja bateria telefon
opinie smartfony instrukcje obslugi instrukcje samochody
Blokada uruchomienia silnika przy zwarciu w samochodzie Koszt wymiany zasilacza w telewizorze Samsung 65 cali