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...
Ja bym zaczął od przeczytania noty katalogowej procesora. Masz tam sekcję o timerze w trybie asynchronicznym, masz też opisane fusebity.
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!
Timer asynchroniczny + kwarc 32,768
(at)piotrva To miganie diodami to był tylko taki przykład. Watchdoga chcę użyć tak jak ten timer asynchroniczny w power save.
Potrzebuje ale w momencie gdy jest ustawiony do pracy w trybie asynchronicznym.
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.
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.
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 ;)
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.
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...
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...
RTFM podrozdział "Asynchronous Operation of Timer/Counter2". W dużym skrócie: przed uśpieniem trzeba zapisać coś do jednego z rejestrów i czekać na wyzerowanie flagi Busy w ASSR.
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...
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...
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...
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...
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...
oczywiscie w CMOSie :)
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.
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...
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...
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.
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.
[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....
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ą...
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...
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ść...
W ATmegach do tego zadania dedykowany jest timer 2 w trybie asynchronicznej
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...
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
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...
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...
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.
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...
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...
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...
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.
(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.
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...
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).
A czy ustawiłeś preskaler dla Timer/Conter 0 ???
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...
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...
Preskaler to mniej więcej licznik - dzielnik częstotliwości, zliczający od zera do 1023 wraz z taktami zegara, i dopiero przepełnienie tego wewnętrznego licznika powoduje zwiększenie wartości Timera o 1. Więc przy preskalerze 1024, gdy występuje przerwanie i wykonuje się twój kod, preskaler już zlicza kolejne 1024,więc jeśli przed upływem tych ~1000...
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...
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...
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 ?
Albo Atmegę z asynchronicznym timerem. Wyjdzie taniej niz Tiny + RTC.
Sugerujemy użycie przerwania timera do tego zadania.
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.
Jaki to procesor ? Czy podłączyłeś kwarc do wejścia timera 2 skoro ustawiasz go jako asynchroniczny.
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.
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);...
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");...
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...
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...
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...
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
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...
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 ;)
Witam, Dwa timery W LOGO! wystarczy jeden. Pozdrawiam.
? 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...
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.
Ź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ść...
Panowie, pytanie może zabrzmi banalnie i odpowiedź byc może tez taka będzie ale jakoś moja głowa nie może przeskoczyć tego zagadnienia. Otóż, - zegar RTC działa w trybie normalnym prawidłowo (co jedną sekundę generuje się przerwanie na skutek przepelnienia timera pracującego asynchronicznie, oscylator oczywiście zagarkowy podpięty do TOSC1 i TOSC2)....
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,...
(...) 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...
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...
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.
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ś....
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...
RTC po to żeby dokładnie liczyć czas, zapewnia mi to kwarc zegarkowy który jest lepszy do liczenia czasu niż "okrągłe" kwarce (jak na przykład 20MHz). Atmegi na zegarkowym nie puszczę, bo się multiplex z pwm-em nie będą wyrabiać. Chyba że da się taktować atmegę wewnętrznym kwarcem, timer puścić asynchronicznie, taktowany kwarcem zegarkowym. Co do oporników...
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...
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ś...
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...
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...
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...
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,...
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...
Witam. Chcę asynchronicznie taktować timer częstotliwością 32768Hz za pomocą kwarcu zegarkowego. Czy wie ktoś jak sygnał prostokątny o tej częstotliwości wykorzystać w innym układzie w pobliżu? Oczywiście bez obciążania procesora.
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...
(at)Milek79 Sprawdziełm jeszcze raz zgodność z datasheetem CS12=0 CS11=1 CS10=1 to clkI/O/64 (from prescaler) więc chyba tu nie ma błędu. Możesz dokładniej opisać jak użyć timera w trybie asynchronicznym i co oprócz kwarcu będę do tego potrzebował? Dodano po 5 (at)excray Albo źle rozumiem działanie przerwań, albo nie rozumiem o co Ci chodzi. Dobrze...
Aby to zlikwidować skorzystaj i innej metody eliminacji drgań styków a najlepiej umieść obsługę przycisków w przerwaniu... ...timera, tu jest przystępnie wytłumaczone jak obchodzić się z timerami http://diycenter.acid19.linuxpl.com/read... Timery działają asynchronicznie w stosunku do głównej pętli programu, więc timer licząc czas...
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...
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...
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...
Lepsza stabilnosc uzyskasz stosując zewnetrzne żrodlo synału zegarowego (np kwarc, wtedy max 16MHz) lub używając timera w trybie asynchronicznym, wtedy podłączasz kwarc zegarowy do wejsc TOSC1 i TOSC2 (kwarc 32768h). Niestety w tym modelu (o ile kojaze, sprawdź w specyfikacji) te wejscia pokrywają sie z wejsciami sygnału taktujacego procesor (XTAL1,...
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...
Witam! Dopiero zaczynam przygodę z avr i niestety jestem programistą, a nie elektronikiem, więc staram się nauczyć niezbędnej wiedzy. Chcę wykonać mały zegar binarny i czytając dokumentację Atmegi8 natrafiłem na: 1] The sum of all IOH, for all ports, should not exceed 300 mA. 2] The sum of all IOH, for port C0 - C5, should not exceed 100 mA. 3] The...
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...
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.
Trochę źle sprecyzowałeś pytanie. Piszesz, że potrzebujesz czasu około 1s czyli tak naprawdę niekoniecznie potrzebujesz kwarcu 32kHz wystarczy clock systemowy do napędzania timerów. Jeśli natomiast potrzebowałbyś dokładnie 1s odmierzyć to ustawiasz Timer 2 w tryb asynchronicznego taktowania i pod odpowiednie nóżki atmegi podpinasz kwarc 32768[Hz]. Jeśli...
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.
Szczególnie jak wpiszesz wartość początkową do timera i uzyskasz 15s Chyba to wykonalne jest . Pewnie tak, ale nie doczytałem jak jest z synchronizacją bo przecież CPU i Timer będą chodziły asynchronicznie a wtedy bardzo łatwo zgubić takt z rezonatora kwarcowego, lepiej jest jak licznik sam sie przeładuje na 0. Oczywięcie ktoś może powiedzieć że to...
Chyba mogę pisać bzdury ;) : 1. Jak dotychczas (16.02.2006r.), żadna ATmega nie ma wbudowanego RTC (Real Time Clock - Zegar Czasu Rzeczywistego). 2. Niektóre modele (nie napisałeś o który tobie chodzi, a wypadałoby to wymienić już w tytule tematu) mają możliwość pracy Timer/Counter2 w trybie asynchronicznym z kwarcem zegarkowym 32 kHz, co dopiero umożliwia...
Jeśli podłączysz zewnętrzny kwarc, musisz zmienić fusebity, dzięki czemu uC będzie chodził z tego kwarcu - to będzie główne źródło taktowania. Dalej po prostu wybierasz prescaler /1: timer1 zawsze pracuje w oparciu o to samo źródło co rdzeń (z wyjątkiem gdy zlicza impulsy z wejścia IC1) więc nie występuje problem wyboru źródła. Wybranie prescalera /1...
DZIALA. podsumowanie: oczywiscie ze wszystko poustawialem z dokumentacja. nie wiem o jakie fuse'y chodzi - chyba, ze o te co ustawiaja zegar na wewnetrzny RC - ale to juz napisalem. Pomogla pierwsza rada - czyli kondensatory. opcja z trymerem tez pewnie by zadzialala - bo juz przy wlutowaniu jednego uklad zaczal dzialac - no ale dalem dwa. teraz robie...
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...
asynchroniczny timer prądnica asynchroniczny sterować asynchroniczny
transformator ethernet lenovo blokada biosu triak sterowanie przekaźnikiem
podłączenie kuchenki elektrycznej m890g schemat
Rezystancja czujnika temperatury Indesit LR9S2QSWB Komunikat "przepełnienie" w bileterce Autopark L-C Mefa: przyczyny i rozwiązania