W skrócie zajrzałem do noty katalogowej i dowiedziałam się, że do MEGA 16 można podłączyć 2 kwarce. Końcówki to XTAL1 i 2 oraz TOSC1 i 2. Należy pamiętać, że z końcówek TOSC1 i 2, do których można podłączyć kwarc zegarkowy można sterować asynchroniczny timer2, który należy zatrudnić do odmierzania czasu. Do XTAL1 i 2 podłaczysz sobie kwarc o wysokiej...
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...
Nie włączyłeś asynchronicznego typu pracy timer2 przykład: http://mikrokontrolery.blogspot.com/2011...
1. Raczej Arduino. Ponadto większość płytek Arduino (m. in. Uno, Leonardo, Mico, Mega 2560, ...) jest opartych o AVR, a więc przy projektach na Arduino-AVR można będzie wykorzystać (nieco zmodyfikowany, jeśli trzeba) kod dla „gołych” AVR. 2. Jeśli na baterii układ ma cały czas wykonywać sporo czynności, to Leonardo (M32u4 ma niższy pobór...
Witam, mam taki problem. Gdy podaję"ręcznie" +5v na TOSC1 układ działa poprawnie (do miejsca "sei"). Problem pojawia się, po podłączeniu 50Hz (nie działa). [syntax=avrasm] ldi r16, (1<<AS2) out ASSR,r16 ; Enable asynchronous mode ldi r16,(1<<CS20) | (1<<WGM21) out TCCR2,r16 init_Ex_TCR2UB: in R16,ASSR andi R16,1 ori R16,0 brne init_Ex_TCR2UB...
www.mcselec.com
Takie rozwiązanie istnieje podłącza się wtedy kwarc zegarkowy do nóżek TOSC i ustawia się Timer2 w tryb asynchroniczny. W Bascomie to banalna sprawa, więcej w helpie i datasheecie
Wewnętrzny oscylator RC jest mocno niedokładny. Z pewnościa musisz kupić zewnętrzny kwarc, ale na ATmedze8 32mhz raczej nie pociągniesz :P Bardziej zalecane jest jednak kupienie kwarcu zegarkowego 32.768 kHz i podłączenie pod piny TOSC1 i TOSC2 które wykorzystuje specjalnie dostosowany pod to Timer2 w trybie asynchronicznym. Wtedy uC można taktować...
Nie próbowałem, bo nie mam jeszcze płytki docelowej. Jak przetestuje to dam znać. Patrząc na schemat sygnałów zegarowych trudno powiedzieć na 100%...robiw
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.
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...
Kolego, przy tym kwarcu strasznie będzie Ci się to wolno rysowało. Nie lepiej podłączyć 16MHz i w przerwaniu od Timera wyliczyć sekundę? Autor postu zapewne będzie wykorzystywał kwarc 32.768kHz do odmierzania czasu w trybie asynchronicznym Timer2, a mikrokontroler ustawi np. na 8MHz z generatora wewnętrznego. Jeżeli tak zrobi, to jest to prawidłowo,...
No właśnie, w nocie jest taka wzmianka że tryb asynchroniczny T2 niby jest zoptymalizowany dla oscylatora 32,768Hz A ja mam ochotę, podać mu sygnał zewnętrzny. http://obrazki.elektroda.pl/9301747000_1... Szukałem jakiś danych w nocie odnośnie właściwości elektrycznych, alem się nie doszukał :) Macie jakieś doświadczenie, wskazówki na ten temat?
Jeśli nie wykorzystujesz tych samych pinów co kwarc zegarkowy to nic się nie będzie gryzło... O ile dobrze pamiętam wystarczy podpiąć kwarc 32,768kHz bez kondensatorów pod TOSC1 i TOSC2... Raz po uruchomieniu uC odpalasz timer2 w trybie asynchronicznym i tylko włączasz albo wyłączasz przerwanie od przepełnienia... Ustawiasz preskaler tak żeby przepełnienie...
A ja śmiem twierdzić że jeszcze dokładniejszy pomiar czasu będzie na oscylatorze zegarkowym 32768Hz :D Najlepiej to się robi na Timer2 w trybie asynchronicznym (zegar procesora jest sobie np. 18.432MHz[bardzo sympatycznie podzielne dla UART-a], a na innych wyprowadzeniach sobie tyka oscylator zegarkowy), występującym w niektórych AVR. P.S. W dobie internetu...
Wzorzec jest ok. Timer2 Atmegi w trybie asynchronicznym. Jest tylko problem ze zmianą czasu o godz 2 w marcu i o godz. 3 w pazdzierniku. Jesli uklad nie pobierze czasu w tych godzinach, to bedzie pokazywal czas błędnie. Czas musiałby być aktualizowany w tych godzinach przynajmniej.
Niestety, Timer 1 nie pracuje w trybie CTC, chociaż mógłby. Timer1 może pracować w tym trybie. Timer2 - do takich projektów należy wybierać te mikrokontrolery AVR, które mają Timer2 pracujący w trybie asynchronicznym.
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...
Przecież ze schematu (np Figure 64) jasno wynika że preskaler odnosi się zarówno do zewnętrznego oscylatora (tryb asynchroniczny) jak również do sygnału zegarowego. Wybór dokonujesz w rejestrze ASSR.
Witam Mam do zrobienia generator na atmedze w którym zadaję częstotliwość oraz wypełnienie sygnału prostokątnego. Udało mi się odpalić i generator i PWM z osobna ale mam problem z ich połączeniem. Chcę taktować Timer2 (na nim robię PWM) z wyjścia Timera1. Czysto teoretycznie wydaje mi się to możliwe ponieważ Timer2 może pracować w trybie asynchronicznym....
Jest jeszce asynchroniczna praca licznika TIMER2. Kwarc zegarkowy do nóżek OS1 i OS2 no i fuse bity na wewnętrzny generator.
No to od razu bez szczegółowego liczenia powinieneś zrobić tak: Tak naprawdę powinieneś wykorzystać Timer2 w trybie asynchronicznym z kwarc 32,768kHz na pinach TOSC1 i TOSC2, a mikrokontroler popędzać wewnętrznym 1MHz. Innymi słowy Twój mikrokontroler będzie prawie 100% czasu spał: - w czasie zamkniętych drzwi w trybie Power Down, - w czasie odliczania...
Uzupełniając to co napisał kol. niveasoft dodam, że zastosowanie kwarcu 32,769kHz ma sens w wielu przypadkach, jednakże nie jest lekiem na całe zło :) Można bowiem do taktowania mikrokontrolera zastosować kwarce, których podstawą (jak w przypadku kwarcu 32,768kHz) jest liczba dwa np. 1,8432MHz, 3,2768MHz ... 8,192MHz, ... 16,384MHz itd. Wtedy nie ma...
Wykorzystaj Timer2 w trybie asynchronicznym z kwarcem 32,768kHz.
Bo niestety muszę zegarek rozbierać No niestety w tym trybie nie uzyskasz stabilnej sekundy, tym bardziej, ze Bascom w obsłudze przerwania może robić zbędne bzdury i jeszcze nie raz ten zegarek będziesz rozbierał. Do konstrukcji czasomierza najbardziej się nadaje asynchroniczny licznik Timer2 w trybie CTC, taktowany specjalnym rezonatorem kwarcowym...
Atmega 8 obsługuje Timer2, używam w trybie asynchronicznym.
Pod warunkiem że procesor ma TIMER2 asynchroniczny- nie wszystkie mają. Pod warunkiem że kwarc 32kHz jest dokładniejszy niż kwarc sterujący. Jest to mierzenie linijki linijką z lepszej firmy. Ale przy pomiarach czasu zawsze tak jest. Linijka NASA z satelity na GPS ma zegarek z wzorcem cezowym. Jest on o kilka rzędów wielkości dokładniejszy niż kwarc...
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...
Oj, słownik i do tłumaczenia... Na Forum nie powinno się pisać rzeczy "oczywistych" i dostępnych w dokumentacji... A tam wszystko dokładnie jest opisane... A dlaczego tyle układów licznikowych? Bo można dowolnie wybrać zastosowanie: - potrzeba timer'a o ośmiu butach? jest timer0 i timer2 - rozdzielczość za mała? potrzeba dokładnego PWM? jest timer1...
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.
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...
Musisz zrobić bilans patrząc na to ile prądu pobiera timer2 w trybie asynchronicznym, a ile watchdog, ze wszystkimi aspektami w tym przywrócenia stanu po resecie watchdog. Jaki to mikrokontroler?
Jeśli potrzebujesz sekundę to prócz kwarcu 16MHz podłącz kwarc zegarkowy 32768Hz i puść Timer2 asynchronicznie. Timer0 się zwolni. [syntax=basic4gl]Config Timer2 = Timer , Async = 1 , Prescale = 128[/syntax]
Przytoczę tu słowa z książki Marcina Wiązania. W uC atmega8 jest możliwe taktowanie licznika timer2 w trybie asynchronicznym z zewnętrznym rezonatorem kwarcowym tylko wtedy, gdy sam mikrokontroler jest taktowany sygnałem wewnętrznym oscylatora RC. W takim przypadku precyzja odmierzania czasu przez timer2 zależy od oscylatora kwarcowego 32768 Hz, a nie...
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...
Dzięki za szybką odp. Niestety jestem "mocno" początkujący :-) a do tego z bardzo słabym angielskim ,czytałem o tym na forum ale niewiele z tego zrozumiałem tzn. Wyczytałem z DS że trzeba ustawić CS20-1, 21-0, 22-1 to prescaler 128 AS-0 ,EXCLK-0 tylko nie mam zielonego pojęcia jak to zrobić w Bascom domyślam się że trzeba napisać coś w stylu ASSR=00100000...
atom1477 no bardzo prawdopodobne bo podłączyłem inną atmege zasilając tylko VCC i na AVCC było właśnie około 4,4V. W układzie z rolet, przy takim samym zasilaniu na AVCC jest 0V. Oj kolego, podstawy: http://mikrokontrolery.blogspot.com/2011... Częstotliwość duża to nie jest, choć w tym projekcie spokojnie wystarczyło...
Możesz także wykorzystać kwarc tzw zegarkowy 32,768kHz podłączając go do Timer2 (piny TOSC1 i TOSC2) w trybie asynchronicznym.
Dokładnie tak. Pytanie z jakiego uP korzystasz? Np.: tiny2313 ma 4 wyjścia OC: OC0A i OC0B dla Timer0 oraz OC1A i OC1B dla Timer1. Dla mega8 masz trzy wyjścia OC: OC1A i OC1B dla Timer1 oraz jedno dla Timer2 (OC2) Co do wejść oznaczonych TOSC1 i TOSC2 - w kontrolerach ATmega służą do podłączenia kwarcu zegarkowego (32kHz). Przy wykorzystaniu licznika...
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...
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...
Udało mi się uruchomić tryb asynchroniczny, a zrobiłem to tak: #include <avr/io.h> #include <avr/interrupt.h> int main (void) { ASSR |= (1 << AS2); // tryb asynchroniczny TCCR2 |= (1 << CS22) | (1 << CS20); // preskalery TIMSK |= (1 << TOIE2); // odblokowanie przerwań z...
160000 Hz? Raczej 16000000 Hz Jeśli masz procesor który obsługuje Timer2 w trybie asynchronicznym możesz podpiąć do niego kwarc zegarkowy 32768 Hz i odmierzać czas dokładniej, gdyż typowe kwarce typu 16000000Hz mają zwykle małą dokładność i trzeba robić doświadczalnie korekty, bo się rozjeżdżają.
Timer1 wykorzystujesz do zliczania impulsów (wejście T1) a timer2 w trybie asynchronicznym z kwarcem zegarkowym odlicza czas... Musisz znać obwód koła... Potem to już prosto... Przeliczasz ilość obrotów w danym czasie na drogę i wyliczasz prędkość... Rejestry konfiguracji poszczególnych timer'ów są opisane w dokumentacji...
timer0 i timer2 mogą pracować jednoczesśnie i niezależnie względem siebie? W datasheet nic nie znalazłem na ten temat. A czy jest napisane że są zalezne? Gdyby były to jak timer2 mógłby miec możliwosc pracy asynchronicznej?
W trybie IDLE oraz POWER SAVE można użyć Timera2. W IDLE Timer2 może być taktowany synchronicznie jak i asynchronicznie. Tryb POWER SAVE takiej możliwości nie daje bo clkI/O jest zatrzymany. Zatem w tym trybie licznik może być taktowany wyłącznie asynchronicznie. Dodatkowo występują tu pewne niuanse opisane w datasheet ATMega8L na str. 34-35. Możesz...
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...
Co do wykorzystania ATTiny jako RTC to pomysł ogólnie jest ok, ale lepsza w tym przypadku była by jakaś ATMega, w której to Timer2 może pracować w trybie asynchronicznym z kwarcem 32kHz. Takie rozwiązanie w uśpieniu pobiera ok. 5-10uA, więc czas życia baterii będzie stosunkowo długi, na pewno ponad rok pracy na baterii 2032 da się uzyskać (sprawdzone...
Jeśli chodzi o piny INT (i tryb power-down) to też lipa, bo już mam taki schemat : ... Dodam że w grę nie wchodzi dodanie przycisku/oscylatora - po pierwsze 'too late', a po drugie płytka ma być mega mała i lekka . Do takich projektów podchodzi się od samego początku zupełnie inaczej niż do projektu zasilanego z zasilacza. Tutaj trzeba działać odwrotnie...
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...
zewnętrzny (ten zegarkowy) jest użyty jako źródło naliczania impulsów, które jakoś należy zamienić na impulsy sekundowe i w końcu minutowe Timer2 w trybie asynchronicznym - patrz datasheet, rozdział 17.9 Asynchronous Operation of Timer/Counter2 nie bardzo wiem jak podłączyć takowy kwarc do mikrokontrolera. → 8.5 Low Frequency Crystal Oscillator...
Witam. Tak ustawiam Timer2 [syntax=c] void initTimer2(void) { /* Funkcja inicjująca timer2 w tryb asynchroniczny wykorzystujący kwarc 32,768kHz timer2 odpowiada za odliczanie czasu generuje przerwania co 8 sekund ==== Rejestr ASSR w Timer_Counter_2 ====== */ TIMSK2 = 0;//Disable timer2 interrupts ASSR &= ~(1 << EXCLK); ASSR |= (1<<AS2);//Enable...
Nawet prosty projekt przynosi dużo satysfakcji :) Drobna uwaga: ATmega8 wykorzystuje wewnętrzny oscylator RC pracujący na częstotliwości ok. 8 MHz. Wiadomo, że oscylator RC nie nadaje się do bycia wzorcem czasu. W projekcie wzorcem jest kwarc 32 kHz podłączony do układu RTC DS1307. Układ ten zapewnia również ciągłe odmierzanie czasu w przypadku utraty...
Witam. W układzie licznik timer2 pracuje asynchronicznie - taktowany jest z kwarca zegarkowego. W Bascomie używam instrukcji RTC programowego. Czy mogę przy używaniu RTC usypiać procesor - uruchamiać tryb Powerdown?
(at)R-MIK Pisz jaśniej, bo nikt nie wie o co ci chodzi. ISR bez atrybutów nie odblokowuje przerwań. Jawnie musisz zadeklarować NO_BLOCK, aby kompilator wstawił sei na początek. W tym przypadku jest to kompletnie bez sensu, bo skończymy ze względu na drgania przycisku z wielokrotnie wywołanym ISR, a cała funkcja będzie musiała być napisana z umożliwieniem...
Timer2 w trybie asynchronicznym a uC idzie na wewnętrznym oscylatorze 8MHz Dodano po 7 Po 3 godzinach pracy już się spieszy o 3 sekundy :| Dodano po 12 Z tego co zrozumiałem z opisu przy problemie z asynchroniczną pracą timera2 należy poprzez kondensatory 20 - 36pF połączyć tosc1 i tosc2 z masą. Czy te śpieszenie się zegarka to wina tego że mam jeden...
... - rysuj schematy bez używania bus w ten sposób: ... Można owszem było dać etykiety, ale (na przyszłość) dlaczego nie korzystać z bus? ... - trochę wstyd eliminować drgania styków kondensatorami, skoro wolnej mocy obliczeniowej jest na oko z 95% :) Wiem, wiem. Ale to był jeden z pierwszych projektów w C i nie ma tu polecenia "DEBOUNCE" jak w Bascomie...
Dodałbym, że Bascom odpowiedzialny jest jeszcze za koklusz i gradobicie. 1. M8 musi być ustawiony na pracę z kwarcu zegarkowego - FUSY. Powoduje to napędzanie M8 z generatora wewnętrznego RC 2. Trzeba skonfigurować Timer2, który jest zdolny do asynchronicznego taktowania z kwarcu 32768Hz - polecam helpa Config Timer2. 3. W przerwaniu od timera2 należy...
Fusebity jeżeli to ma działać na zewnętrznym kwarcu to jednak trzeba zmienić... Dziwne, przecież ATmega8 fabrycznie ustawiona jest na wewnętrzny oscylator 1 MHz. Chyba, że automatycznie wykrywa podłączony kwarc, ale nic mi na ten temat nie wiadomo. Atmega nie jest taktowana tym kwarcem dlatego nie zmieniamy fusebitów. Tylko timer wykorzystuje ten kwarc....
Zbudowałem już 2 układy na różnych atmegach, które miały RTC oparty na kwarcu 32768 Hz. Timer2 w trybie asynchronicznym, prescale 128 -> przerwanie co 1s. Niestety, w obu wypadkach zegarki te późnią się o kilka sekund na dobę. Kwarce stosowałem różne, megi też. Zawsze korzystałem z wewnętrznych kondensatorów w medze (CKOPT). Czy wartość kondensatorów...
http://obrazki.elektroda.pl/1033615600_1... Witam wszystkich forumowiczów. Chciałbym przedstawić wam moją pierwszą konstrukcję opublikowaną na forum. Jest to prosty zegarek z budzikiem oparty na microkontrolerze atmega8. Pomysł narodził się gdy dostałem do ręki wyświetlacz poczwórny 7-segmentowy (30x15mm). Układ w całości zrobiony z...
Ok, a jak to się będzie miało do samego programu napisanego na 1Mhz ? Nigdy jeszcze z zewnętrznym kwarcem do czynienia nie miałem. W jaki sposób należy programowo z niego skorzystać? Normalnie Timer2 jest taktowany z tegosamego zegara co microkontroller. Aby uzyskac taktowanie z rezonatora 'zegarkowego' podłączonego do pinów XTAL1/XTAL2, potrzebujesz...
Witam serdecznie Napisałem krótki program wykorzystujący asynchroniczny licznik Timer2. Jako rezonator kwarcowy posłużył mi oscylator zegarkowy (32.768kHz). Program ma za zadanie generowanie przebiegu 1Hz na porcie PD1. Program: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define TIMER2_BUSY((ASSR...
No to lipa wtedy jak nie da sie. Myslalem ze te uC maja wlasnie taka opcje ze ten timer2 taktowany asynchronicznie z kwarcu zegarowego bedzie chodzil normalnie w trybie power seve. Cos takiego doczytalem w nocie. A power down wlasnie wszystko wylacza.
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
jak zrobić żeby przerwanie od timmera 0 w atmedze8 było taktowane kwarcem zegarkowym(tzn. podłączam kwarc w miejsce xtal 1,xtal2 i skąd timmer 0 będzie wiedział ze ma być taktowany takim kwarcem) i jak dobrać preskaler itd żeby po zapełnieniu licznika odmierzana była 1s używam programmer's notepad. Kwartz ( quartz/kwarc) zegarkowy podłączony do m8...
Wydaje mi się że się da. Oczywiście nie po całkowitym odłączeniu zasilania ale po przejściu na zasilanie bateryjne. Ale musisz dokładnie przestudiować PDF. W trybie power save procesor pobiera kilka uA a Timer2 działa. No i timer2 asynchronicznie z kwarcem zegarkowym- jak napisał tadzik85. Wszystko zależy od pojemności ogniwa. Poza tym zegar wewnętrzny...
Witam, Mam do szanownych kolegów pytanie o niestandardowy, wydaje mi się, sposób wykorzystania timera2. Dokładniej chodzi mi o to, aby używać go w trybie asynchronicznym do zliczania impulsów podanych na wyprowadzenie TOSC1. Potrzebuję rozczaić taką możliwość, ponieważ zmuszony jestem wykorzystać dokładnie to wejście timera2 do zliczania impulsów. Testy...
Problem z programowaniem na tej płytce dalej nie rozwiązany, może ktoś mi tu powie co się tutaj dzieje. Żeby odpowiedzieć na Twoje pytanie schemat musiałby być kompletny, a nie jest - brak wartości wielu elementów. Poza tym, co Ciebie podkusiło, by piny programatora wykorzystywać do innych celów skoro masz sporo wolnych? Stosowanie regulatora 7805...
(at)dondu No i niestety sama próba uśpienia kończy się tylko uspaniem uc. Procesor nie chce się wybudzać od przepełnienia Timera2. Aby mikrokontroler wybudził się z power save musi mieć podłączony zewnętrzny kwarc 32,768kHz, a timer2 ustawiony do pracy w trybie asynchronicznym. Szczegóły podałem Ci w linkach. Przeanalizuj kod programu szczególnie w...
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.
"Ktoś ma jakiś pomysł, żeby to rozwiązać? Może ktoś ustawiał RTC na innej atmedze i mu działał?" Kiedyś robiłem na Atmega32 , i działało . Rożnica taka , że w A32 timer pracujący z oscylatorem zewnętrznym to Timer2 ASSR = 1<<AS2; TCCR2 = 1<<CS22 | 1<<CS20; TIMSK = 1<<TOIE2;
(...) timer1 wykorzystałem do multipleksowania wyświetlaczy, timer2 odpowiedzialny jest za odliczanie czasu asynchronicznie a timer0 służy do odbioru komend w RC5. Gdyby użyć jakiś zewnętrzny zegar RTC to by zwolnił ci sie jeden timer2. Zaś jako czujnik oświetlenia można by było użyć którejś z diod LED, wykorzystująć ją jako FOTODIODĘ. Pozdrawiam
Witam. 1 - Stosuj aliasy. Np: drzwi alias portd.0 Później w kodzie po prostu drzwi = 1 lub drzwi = 0. bardzo poprawia czytelność kodu. 2 - Odczyt z przetwornika ADC powinien być do zmiennej WORD (przetwornik jest 10 bit). 3 - w pętli głównej masz instrukcje Wait. Powstaje problem ze sprawdzaniem stanu wejść, pętla może się wykonywać bardzo długo, w...
Witam Mam problem z programem zliczającym przepełnienia timer2. Do lini TOSC1/2 podłączony mam kwarc zegarkowy 32,768kHz, chciałbym wykorzystać przerwanie od przepełnienia tego licznika do odliczania równej sekundy oraz wyświetlić wynik na ekranie LCD. Oto kod programu: long int licz=0; void init_timer(void) //Inicjalizacja timera { TIMSK...
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ś....
Kwarc wymieniany. I ja nigdzie nie pisałem o sekundowym opóźnieniu załączenie po prostu po dotknięciu zaczyna chodzić. Jak pisałem robiłem to na 2 egzemplarzach na 1 chodziło i jak już pisałem widocznie w 1 medze miałem włączone wewnętrzne kondki, bo w niej PORTC i wejścia taktujące procesor są na współdzielonych pinach i akurat te pinu służą też to...
W wersji minimalistycznej- ATMega chodzi na wewnętrznym oscylatorze(jego dokładność jest żadna) a do XTAL1 i XTAL2 podłączasz kwarc 32kHz. Fusebity ustawiasz oczywiście na wewnętrzny oscylator. Ponieważ jest to ustawione fusebitami to nic nie można przełączyć (ustawienie sprzętowe) Jeden z liczników liczy impulsy 100Hz a drugi impulsy z kwarcu. Musisz...
Witam, Potrzebuję wykonać prosty układ z przekaźnikiem, który mierzy temperaturę i w zależność od jej wartości zmienia stan przekaźnika, po czym układ ma przejść w stan oszczędzania energii na czas 5 sekund, po tym czasie ponownie ma wykonać wcześniejszą czynność. Sam pomiar temperatury i sterowanie przekaźnikiem są bardzo proste, ale nie wiem jak skonfigurować...
Może być po $crystal. Dodano po 4 Jak chcesz jeszcze zaprogramować te "zablokowane" procesory to wpisz tutaj: http://obrazki.elektroda.net/20_12357589... Jakąś wielgachną liczbę. Np. 10000. PS. Ale zdajesz sobie sprawę z tego że ten program z kwarcem 32kHz nie będzie demonem prędkości? Dodano po 3 Ja na Twoim miejscu uruchomił bym to na wewnętrznym...
Wgrałem taki kod, trochę poprawiony, bo tamten miał drobne błędy i nie dało się skompilować. Zegar działa, ale nadal tak szybko odmierza czas. [syntax=basic4gl]'licznik Timer2 pracujący jako Timer asynchroniczny. $regfile = "m8adef.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 =...
Dioda ma migać średnio ok. 70 razy na minutę. Zastanawiam się czy komunikacja (np. po I2C) z driverem PWM do diod LED nie będzie zbyt wolna? Dodatkowo chciałam uśpić ATmegę, żeby zaoszczędzić na poborze prądu. A do komunikacji trzeba by ją ciągle budzić. Uśpienie jest możliwe, jeśli wykorzystuję tylko Timer2 w trybie asynchronicznym (taktowany z zewnętrznego...
piotr_go dzięki za dobre chęci ale niestety dalej nic. Skorzystałem z Twojej podpowiedzi z drukarką i nawet odinstalowałem cupsys (przy okazji nie wiem dlaczego ale wysypał się xserver i dlatego dopiero teraz odpowiadam) i nic nie pomogło. Zrobiłem jeszcze kilka prób: - wylączyłem komputer - zegar działa, zalączyłem na nowo, zegar się resetuje ( w...
Witam... Bawie się troche z silnikami BLDC (przeróbki na 3f)... W związku z tym potrzebowałem obrotomierz... A do rzeczy wziąłem się tak... Mam w rurce zamontowaną żarówkę przed nią osłąnięte fotoogniwo z kalkulatora... Pomiędzy żarówką a ogniwem wiruje śmigło... Sygnał z ogniwa wzmacniam w dwóch stopniach na tranzystorach a potem podaje na inwerter...
Ojj, to nie tak! Nie należy odmierzać dłuższych czasów delayem! Więc na dluzsza metę K to kompletna bzdura. Ponadto wewnętrzny kwarc jest niedokładny. Ja bym to zrobił tak (chociaż to też pewnie zły pomysł) ze pod Timer2 w trybie asynchronicznym podpiął kwarc 32768khz z preskalerem 128. W przerwaniu z niego inkrementowac zmienna sekund i zerowac zmienna...
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...
Projekt oczywiście fajny, ale chciałbym poznać odpowiedzi na następujące pytania: 1. W jakim celu stosujesz częstotliwość taktowania aż 16MHz? 2. Dlaczego dla tak prostego układu, stosujesz zewnętrzny zegar PCF, zamiast wykorzystać wewnętrzny timer2 mikrokontrolera do pracy w trybie asynchronicznym z kwarcem zegarkowym 32,768kHz na pinach TOSC1 i TOSC2?...
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! Ostatnio zacząłem uczyć się rozmawiać z uC Atmela na podstawie ATmegi 8. Po wielu różnych próbach i eksperymentach doszedłem do wniosku, że zbuduję zegar. A że człowiekiem jestem gwałtownym, to zamiast taktować kwarcem 32kHz sam Timer2 , postanowiłem (z powodu niewiedzy o trybie asynchronicznym tegoż) to zastosować także dla pozostałych układów...
To nie lepiej zastosować timera jak autor zasugerował, ustawić flagę przepełnienia i preskaler na 128. W tedy licznik 8 Bitowy liczący od od 0 do 255 czyli jak dojdzie do 255 będzie równa 1s. I np w taki sposób kolega mógłby włączyć takiego timera: [syntax=c] TIMSK |=(1<<TOIE2); TCNT2 = 0x00; ASSR |=(1<<AS2);//async while (ASSR & (1<<TCR2UB));...
Witam Potrzebuję zrobić zegar na ATMEGA8535 i nie mogę uruchomić pracy asynchronicznej. Kwarc zegarkowy podłączony do XTAL1/2. Program wstępny poniżej. Analogiczny program (ze zmianą ASSR.5 = 1) dla ATMEGA88 działa poprawnie. Proszę o pomoc. Pozdrawiam Jacek Program napisany w "BASCOM AVR" [syntax=basic4gl][/syntax] $regfile = "m8535.dat" $crystal =...
Mam problem z przerwaniem w trybie asynchronicznym - Amtega328. Załączam program uproszczony do niezbędnych elementów: [syntax=c]//co 0.5s ISR(TIMER2_OVF_vect) { ... _delay_us(30); //V1 //while(TIFR2 & (1<<TOV2)); //V2 //while(TIFR2 & (1<<TOV2)) _delay_us(1);//V3 //while(TIFR2 & (1<<TOV2)) TIFR2 |=1<<TOV2;//V4 //cli();...
Aby korzystac z rtc musisz podlaczyc kwarc 32,768 kHz do pinow PORTC 6 i 7. Ustawiasz timer2 na prace asynchroniczna i dobierajac prescaler na podzial przez 128 otrzymujesz przerwania co 1 s bez koniecznosci ladowania timera przy kazdym przerwaniu. Ponizej przedstawiam fragment kodu dla at90s8535 . Atmega8535 tez powinno dzialac. Sprawdz tylko czy nie...
Witam Czy da sie w jakis sposob obudzic AVR (ATmega16) z ktoregokolwiek trybu uspienia (najlepioej power-down, albo power-save) urzywajac zwyklego pinu (nie od przerwania zewnetrznego, nie od UARTA czy TWI) ?? Mam juz gotowy uklad i w gre nie wchodzi zmiana nozek procesora, poza tym wszystkie zewnetrzne przerwania sa uzywane do czegos innego. Dodam...
Cześć, Jest układ na Atmedze z timerem2 w trybie asynchronicznym realizującym RTC. Zależnie do stanu pinu kontrolowanego przez przerwanie INT2 układ ma albo działać normalnie, albo w uśpieniu (dokładniej na INT2 zrobioną mam detekcję zera sieci zasilającej i dodatkowo byłby to wskaźnik istnienia zasilania w ogóle). Timer2 musi pracować non-stop. I czegoś...
Czy i który timer wykorzystuje 1wire. Chce wyorzystać jeden timer do cyklicznych przerwań, ale jak wykorzystam timer 0 lub timer 1 wysiada transmisja 1wire. ATmega32 nie ma wbudowanego interface 1wire, wiec nie rozumiem problemu, a wróżyc tylko mogę, że o bascom się rozchodzi... Stawiałbym na niezbyt szczęśliwą obsługe przerwań przez Bascom (zapisuje/odczytuje...
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...
http://obrazki.elektroda.net/25_11981125... Witam wszystkich serdecznie ! Oto kolejny zegarek z wyświetlaczami LED oparty na ATmega8. Znowu ?? Tak, a czemu nie. Konstrukcja powstała jako odpowiedź na zapotrzebowanie na naścienny zegarek z dużymi cyframi widoczny w nocy. Wymiary całości to 180x70x18mm. Zegarek wyświetla tylko godziny i minuty,...
A jeżeli chodzi o obliczenia to zobacz jak jest w przykładzie z timerem1 w pierwszym programie, preskaler ustalony wraz z wpisem do rejestru timera by zgłaszał przerwanie co 1s Napisałem szybki soft do RTC w atmega8, oczywiście timer2 taktowany asynchronicznie z XTAL reonatorem zegarkowym 32768 Nie będę opisywał co jest z czego, sprawdz w help bascoma...
Witam. Stworzyłem na mikrokontrolerze ATMEGA8 zegar RTC. Do procesora został podpięty kwarc zegarkowy - timer2 pracuje w trybie asynchronicznym. Program powstał z wykorzystaniem instrukcji BASCOMOWEJ Config Clock = soft: Kod: "Jeśli w programie użyto instrukcji CONFIG CLOCK, kompilator automatycznie generuje specjalne zmienne nazwane: _sec , _min ,...
przerwania timer2 timer2 atmega32 timer2 atmega328p
delonghi uszczelka przegrywanie kaset czujnik temperatury liebherr
uziemienie pojazdu uziemienie pojazdu
Przeciek oleju hydraulicznego w rozdzielaczu - przyczyny i naprawa Olej w pompie hydraulicznej koparki - przyczyny i rozwiązania