Do takich timerów jest przeznaczony CD4541 i zrobi to dużo lepiej od NE555. Ale może ATmega ma jakiś wewnętrzny timer, który by dał się użyć?
Proszę o informacje, gdzie w nocie katalogowej można znaleźć informacje na temat priorytetów wykonywania przerwań, jeżeli wystąpią w tym samym czasie. Nie można, ale ten co ma niższy adres w tablicy wektorów wykona się pierwszy jak przyjdą w tym samym czasie. Co najwyżej możesz właczyć przerwania na początku obsługi aby umożliwić obsługę kolejnych...
Diody masz podpięte bezpośrednio pod porty ATmega? Jeśli tak to lepiej dołóż sobie oporniki aby nie spalić wyjść ATmegi. Bezpośrednio przy procku daj kondensator 100nF. Przed stabilizatorem np. 1000uF, a za stabilizatorem 100u (to i tak za dużo, ale lepiej więcej niż za mało). Zliczanie zrealizowałbym w taki sposób: - Odpalić któryś z wewnętrznych timerów...
Czyli zrobić zewnętrzne przerwanie na te funkcje??
Owszem, wykorzystać AVR z rodziny XMEGA - tam timer jest o wiele bardziej elastyczny, można go też taktować z innego timera, w efekcie uzystać dowolny preskaler zegara. W ATMega 64 timer też może mieć zewnętrzny zegar, możesz więc zewnętrznie połączyć wyjście jednego timera, który będzie preskalerem z wejściem zegarowym innego timera. CLK/2 w ten sposób...
Programowe generowanie sygnału video w jakimkolwiek standardzie jest zadaniem krytycznym czasowo, dlatego bez asemblera niewiele zwojujesz. Nawet w asemblerze trudno uzyskać więcej niż 100 punktów w linii. Zresztą zerknij na: Rejestrator przebiegów cyfrowych - przystawka do TV z EP Rejestrator przebiegów analogowych - przystawka do TV z EP Nie jest...
Atmega jest taktowana zewnętrznym kwarcem 12MHz, żeby jeden tick timera trwał ~1us. 1. Czy timer 8-bitowy przyjmujący zewnętrzne impulsy, może je przyjmować w takich samych odstępach czasowych jak 16-bitowy? Tak. Te dłuższe timery mają po prostu większy rejestr w którym liczone są impulsy, poza tym działają tak samo. 2. Czy do przerwania, kiedy jest...
zastosuj atmega 88PA Faktycznie jest to dobre rozwiązanie. Bez zewnętrznych elementów, można wykorzystać watchdog timera. Dzięki.
TCCR1B |= ((1 << CS10) | (1 << CS11) | (1 << CS12)); /* ustawia timer na pracę z zew. kwarcem */ Nie z zewnętrznym kwarcem, a z zewnętrznym źródłem sygnału. Timer1 o ogóle nie może pracować z rezonatorem kwarcowym. Gdzie w takim razie go w ogóle podłączyłeś (rezonator)?
Witam, chciałbym przy użyciu Atmega8 i zewnętrznego kwarcu odmierzać i zliczać setne części sekund, sekundę mogę łatwo wyłapać z timera1 według przykładowych obliczeń 4000000MHz / 256 = 15625 65536 - 15625 = 49911 lub 8000000Mhz / 256 = 31250 65536 - 31250 = 34286 Nie mam jednak pomysłu jak....... Z góry dziękuję za pomocne wypowiedzi. Aby odmierzac...
możesz się najwyżej przełączać między zadaniami. Wyjątek stanowią chyba tylko hardware'owe timery, one mogą generować sygnał na swoich wyjściach niezależnie od programu. pzdr.
Witam. Mam następujący problem - chciałem użyć timera 2 do pracy asynchronicznej z zewnętrznym rezonatorem kwarcowym (zegarkowym) o częstotliwości 32,768 kHz. Czyli ATmega powinna być taktowana wewnętrznym szybkim oscylatorem, a jedynie ten timer zegarkowym. Kod: #include <avr/io.h> int main (void) { DDRD |= (1 << 0);...
Atmega 162 potrzebna mi jest do zbierania danych z 4 rsów, dwóch sprzętowych UARTy i dwóch programowych, działające na przerwaniach zewnętrznych i timerach. Bardzo byłbym wdzięczny za kawałek kodu z funkcjami obslugi SPI dla Nut/OS, jeśli oczywiście ktoś miał z tym do czynienia.
generalnie nie wczytując się w kod za bardzo, to nie podałeś funkcji main i nie wiadomo co tak w ogóle tam jest. Ogólnie kod działa na przerwaniach - zewnętrznych czujnika i timerów. Co mogę napisać nie widząc funkcji main, to: - podłącz czujnik podczerwieni pod IN1 (PD3), - wywołaj w main rc5_init(); - później włącz przerwania przez sei(); ogólnie...
Nie obraź się ale Twoja metoda pomiaru częstotliwości jest "trochę" zagmatwana :) Korzystasz z timera w dziwaczny sposób a funkcje typu Delay() w połączeniu z przerwaniami nie działają poprawnie i nadają się co najwyżej do migania diodą. Natomiast pomiar częstotliwości można zrealizować np. tak: 1. Ustaw timer aby generował przerwanie w stałych odstępach...
Witam. Wyłączenie zgodności z mega103 nie jest przyczyną braku komunikacji z programatorem. W trybie zgodności wyłączone są tylko dodatkowe układy, którymi różnią się te uC. Np. drugi UART, jeden z timerów 16bit, TWI, itp. Być może ustawiłeś fusebity na zawnętrzny zegar, bądź układ RC a nie kwarc? Wydaje się to być jedyną możliwą przyczyną.
Sorry, Wiesz ja to sie z tym bawie tylko i program pisze w bascomie metoda prob i bledow. Nie ma większego znaczenia w jakim środowisku programujesz (Basic albo C). Istotny jest koncept projektu i sposób rachunkowy, reszta to tylko inna forma zapisu programu. Wybrałeś za narzędzia: Timer1 i jeden z interruptów zewnętrznych. Zatem jest tez bez znaczenia...
kod [syntax=cpp] int main(void) { TCCR0 |=(1<<CS00)|(1<<CS01)|(1<... //ustawienie timera 0 na zliczanie impulsów zewnętrznych TCCR1B |=(1<<CS12); //ustawienie źródła zegara timera 1 z preskalerem /256 TCCR1B |=(1<<WGM12); //ustawienie trybu CTC dla timera 1 OCR1A=31250; //ustawienie liczby do której ma zliczać timer...
Mikrokontroler taktuję zewnętrznym kwarcem 11,0592Mhz, Timerem2 w przerwaniu załączam tyrystor i wykonuję pomiary w taki sposób: [syntax=c]ISR(TIMER2_COMP_vect) { if(ika1 && kroki == ika1) GATE_ON; //załączanie tyrystora kroki--; adc_cnt++; switch (adc_cnt) { case 1: temp = pomiar(I); //pomiar prądu if(temp>bufor_prad) bufor_prad=temp;// break; case...
Piotrus_999 To timer miał określać momenty pomiarów, więc stosowanie przerwań ADC w takiej sytuacji ma niewielki sens. No ale raczej pojedynczy pomiar adc w tych prockach ma raczej niewelki sens. Jeżeli musialbym dostac wynik pomiaru i to w miarę dokładnie w okreslonej chwili to raczej bym jakies zewnętrzne adc zastosował. A to niby dlaczego? ADC w...
mam maly problem.. zdarza sie ze moj układ oparty na ATmega 32 jakby sie zawieszał... wykorzystuje przerwanie zewnetrzne... // External Interrupt(s) initialization // INT0: On // INT0 Mode: Rising Edge // INT1: Off // INT2: Off GICR|=0x40; MCUCR=0x03; MCUCSR=0x00; GIFR=0x40; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x01; a w programie...
Witam, pracuje nad małym systemem modułowym do sterowania w domu. Na ten moment mam : -klawiaturę Matrix do wpisywania kodu do drzwi (atmega88pa) -manipulator do temperatury (atmega164pa) -czujnik temperatury (attiny84a) Zamówiłem wszsystkie części i własny projekt płytek pcb. Klawiatura działa bez żadnego problemu, program wgrywa się i działa w 100%...
1.Każdy Timer działa niezależnie- to jest licznik sprzętowy działający jak zewnętrzny układ. To że został "wsadzony" w układ scalony OBOK procesora to tylko żeby użytkownikom było wygodniej. Dlatego nazywa się to "układem peryferyjnym", peryferiami itp. Takich "układów peryferyjnych" w mikroprocesorach jest dużo. Nie tylko liczniki ale też przetworniki...
Na początku zaznaczę, że siedziałem nad tym ostatnie 3 dni. Jestem z tego powodu CHOLERNIE WKURZONY. Ostatnie doświadczenia z kompilatorem AVR-GCC i obsługą TIMER0 i TIMER2 doprowadziły mnie do konkluzji, iż w Nocie Atmegi128 lub w headerach jest błąd. Spójrzmy na tabele preskalera TIMER2. http://obrazki.elektroda.pl/3213520200_1... Oto prosty...
Nie wolno ci w ethernucie uzywac Timera 0 jest on przeznaczony dla systemu operacyjnego :) - ponizej z helpa void NutRegisterTimer ( void(*)(void *) handler ) Initialize system timer. Initialize system timer hardware. This function is automatically called by Nut/OS during system initialization. Nut/OS uses on-chip timer 0 for its timer services. Applications...
Czyli pozostaje mi odbiór RC5 poprzez zewnętrzny układ ( UART programowy ), wtedy już bez użycia przerwania. Albo... mam układ Atmega 1284P i według noty ma: - dwa Timer'y 8-bit - dwa Timer'y 16-bit Tylko, że wpisanie: "Unknown CONFIG parameter"
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...
Jaką masz częstotliwość przerwań timera? Testowanie stanu przycisków powinno następować z częstotliwością rzędu 30..50 Hz jeśli pamiętasz tylko jeden stan wstecz. Jeśli masz większą częstotliwość, to albo testuj je w co którymś przerwaniu, albo wsuwaj stan do zmiennej i wykrywaj sekwencję stanów (bitów) np. 1110.
Ja bym proponował na początek przerwanie zewnętrzne INT w którym liczysz impulsy, oraz przerwanie timera w trybie CTC co około 1s w której jak kolega (at)bochnio wspomniał będziesz zerować licznik. Kolejny krok to mniej więcej tak:[syntax=c]if(licznik > 6) POTRB |= (1<<PB0); // ustaw stan wysoki gdy przekroczy wartość else POTRB &= ~(1<<PB0);...
Ten dział forum jest od pomagania, a nie od dawania gotowców, stąd reakcja BlueDraco, której nie powinieneś się dziwić :) Co do meritum sprawy, to wystarczy włączyć timer ustawić odpowiednio na początku pętli i odczytywać na jej końcu. Można także zrobić zewnętrzny miernik na innym mikrokontrolerze, a w pętli głównej Twojego programu zmieniać stan jakiegoś...
Fusebity nie ruszane. Atmega taktowana wewnętrznym oscylatorem. I ponoć do tego zastosowania, do którego ja używam zewnętrznego oscylatora, fusebitów ruszać nie trzeba.
Witam Szanownych Forumowiczów, w aktualnym projekcie muszę wygenerować trzy interwały czasowe z regulowaną długością. Poglądowy rysunek dołączony jest jako załącznik. T1ON powinien mieć regulację 1-100us, T2OFF (możliwie krótko - 5us), T3ON (możliwie krótko - 5us). Wykorzystywana przeze mnie Atmega taktowana jest zewnętrznym zegarem 20MHz. Wynika z...
Witam, jestem początkujący, chciałem zaimplementować w swoim układzie (dodatkowo) funkcję pokazującą czas, czyli generalnie zegarek. Układ będzie oparty na procesorze ATmega*. Poczytałem trochę na forum o kwarcach i chciałem uporządkować wiadomości. Jeżeli chcę by nie było dysproporcji między aktualnym czasem a wskazaniem układu, to rozumiem, że potrzebuję...
Zgadzam się, ale muszę wyświetlać "wyniki" (czas, temperaturę, wilgotność) na wyświetlaczu. W trybie POWERDOWN zatrzymywane są wszystkie clocki więc LCD nie będzie działał. Do tego program wybudza procesor timer'em 2. LCD może pracować na zegarze z pinu TOSC1. Czy po uśpieniu do POWERDOWN sam oscylator (na pinie XTAL/TOSC1) będzie pracował żebym mógł...
Generalnie nie nazywałbym tego tematu zegarem czasu rzeczywistego. Atmega jest spoko, jeśli stosujesz Bascoma to masz jak zwykle problem z precyzyjnym wyliczeniem czasu i cykli procesora więc ... . 1. Albo praca na timerze i przerwaniu ... 2. Albo zewnętrzny RTC :) - jako samodzielny układ scalony :) ; W skrajnym przypadku ... , stosowanie Atmegi może...
ISP, przetwornik A/C, timery, sporo pamięci i duża szybkość - Atmega już od kilku zł za sztukę. Programowanie przez WinAVR, wystarczy znać podstawy C. Ogółem można zrobić bardzo wiele na takim 'maleństwie' bez zewnętrznych przetworników.
Jeśli chodzi o soft, to powstał szkielet programu. Na razie odmierza to czas, i powinno obsługiwać pilot RC5. W polach „A:” – powinien wyświetlić się adres pilota, „C:” – numer przycisku z pilota. W symulacji programowej poszło, ale na razie nie mogę przeprowadzić prób z braku modelu. Ale żeby stworzyć wersje BETA...
Zamiast ICR1 powinieneś użyć np. OCR1A i przerwania TIMER1_COMPA_vect. Rejestr ICR1 służy do czegoś innego. Zapamiętuje wartość timera 1 na przykład w momencie zmiany stanu logicznego na pinie ICP1. Wykorzystuje się go np. do pomiaru czasu między zdarzeniami zewnętrznymi.
Atmega2560 jako tako nie posiada wydzielonego sprzętowego zegara RTC. Istnieje jednak możliwość zrealizowania tego typu funkcjonalności przy użyciu timera2, poprzez dołączenie do nóżek tosc1 i tosc2 kwarcu "zegarkowego" 32.768kHz i realizacji programowej funkcji RTC. Jest to opisane w oficjalnej dokumentacji http://ww1.microchip.com/downloads/en/Ap...
Witam . Zadanie jest trywialne . Potrzebujesz 3 zmiennych i dwóch przerwań zewnętrznych plus przerwanie do wyświetlacza. Po starcie procka ustawiasz wartość jednej z zmiennych która będzie równa ilości przerwań wyświetlacza w czasie 10 sekund . Podczas aktywacji przerwania od T1 aktywujesz przerwania od INT0 i INT1 . INT0 zwiększa jedną zmienną a INT1...
Teraz spróbuję ustawić RTC na zewnętrznym kwarcu. Zanim zamknę temat może ktoś zechciałby podpowiedzieć na co tutaj zwrócić uwagę? (Myślę że to nie odbiega od tytułu tematu) A konkretnie - jaki kwarc? przy okazji jeszcze ten link: Czas - odmierzanie
Witam Wykonałem pewne urządzenie nadzorujące pracę maszyny rolniczej. Program miał m.in. co sekundę wykonywać pomiary. Na warsztacie wszystko działało bardzo dobrze i w połowie września trafiło na maszynę stojącą w otoczeniu temperatury zewnętrznej. Obecnie dzieje się tak, że funkcje wyzwalane do przepełnienie timera2 taktowanego z kwarcu 32kHz nie...
A jak uzyje IR bez modulacji to co moze sie stac? Pomiar to bedzie maksimum 15cm i nie ma byc super dokladny. Sam ze zwykłych diod i fotodiod/tranzystorów nie zrobisz pomiaru odległości, co najwyżej cos na zasadzie "jest? nie ma?" Żeby mierzyć odleglość za pomocą światła potrzebne jest zastowowanie układów z pewnego rodzaju linijkami CCD. Generalnie...
Jeśli nie potrafisz to zrób to prościej. Podłącz zewnętrzny kwarc 32,768kHz (zegarkowy); Config Clock = Soft Procedura zegara używa specjalnych zmiennych: _day , _month, _year , _sec, _hour, _min Wszystkie są typu Byte. Można je modyfikować bezpośrednio: _sec = 1 Sprawdź, o ile się spieszy (opóźnia). Różnicę koryguj warunkiem któregoś dnia np o północy.
Tak przy okazji, to czemu upierasz się przy deklaracji F_CPU jako 8MHz, skoro pisałeś, że masz zewnętrzny kwarc 12MHz? To tak, nie działa, że wpisujesz sobie ile chcesz, a tyle masz. F_CPU to tylko deklaracja faktu, a nie życzenia.
(...)chodziło mi o to, że po co stosować w takiej sytuacji zewnętrzny układ RTC i budzić mikrokontroler przerwaniem jak może on sam się budzić od wewnętrznego przerwania timer'a i obsługiwać (...) Zgodzę się, ale gdy mikrokontroler ma dedykowany do tego celu timer (np timer 2 w atmega) taktowany kwarcem "zegarkowym", a attiny takiego timera nie ma.
Możesz zrobić tak: W tabelce zdefiniowana długość poszczególnych elementów (piknięć i przerw). W timerze zdefiniowana maszyna stanów - na podstawie jej stanu aktualnego (wartości timer'a) wybierasz określony "punkt programu" - czyli przerwę lub "piknięcie". Co się tyczy przycisków, to możesz zdefiniować albo przerwanie zewnętrzne, albo w przerwaniu...
Witam, Chcę zrobić prosty licznik impulsów na mikrokontrolerze Atmega16 i wyświetlać ilość impulsów na wyświetlaczu LCD. Impulsy prostokątne będą doprowadzone z zewnątrz z generatora zbudowanego np: na kostce NE555... Pozdrawiam, Rafał Czy masz jakiś specjalny powód budowy zewnętrznego generatora impulsów na 555 mając do dyspozycji 3 timery (T0,T2...
Właśnie co do DAC mam pytanie. Gdyż atmega8 sama w sobie ma tylko ADC a czy działa to w odwrotną stronę. Chcę aby atmega mi podawała poziom napięcia na wyjściu np aby sterować tranzystor ale nie Zatkany Nasycony tylko płynnie. Muszę mieć zewnętrzny przetowornik cyfrowo analogwy? Ja jestem na niskim poziomie dopiero poznałem dość znacznie timery i teraz...
mogę pomóc, ale w C, w BASCOMie sobie już sam pokminisz, bo algorytm działania jest wszędzie taki sam :) na początek wpychamy zewnętrzny kwarc 11.059200 MHZ + 2 kondensatory x 22pF, w nagłówkach należy dodać: #include <avr/interrupt.h> przed int main'em należy dodać: #define HI PORTC=0xFF; SIGNAL (SIG_OVERFLOW0)// funkcja obsługi Timer'a0...
Kilka uwag: - korzystaj z funkcji i rozbijaj program na funkcje. Niektórzy twierdzą, że jeśli blok ma więcej niż 10 instrukcji to należy go wyrzucić do funkcji. Moze to przesada, ale ułatwia czytanie kodu. - nie zostawiaj niewykorzystanych pinów jako wejścia w układzie - łapią zakłócenia, co w centralce alarmowej nie jest zalecane. - wewnętrzny pull...
Żeby nie zapomnieć na końcu to już tutaj napiszę, że liczy się to w programach bo one się rzadziej mylą, ale zrozumienie tematu jest oczywiście ważne. Jest kilka, a w pełni darmowych, kalkulatorów do tego. Timer jest urządzeniem sprzętowym wbudowanym w mikrokontroler. Najczęsciej taktowany jest w taki sposób, że sygnał zegarowy taktujący mikrokontroler...
(at)rax90 Moim zdaniem porada kol. (at)BlueDraco jest szkodliwa, bo tylko wprowadza chaos. Sądząc po twoich postach, bez obrazy, ale wnioskuję, że jesteś mocno początkujący zarówno w temacie programowania mikrokontrolerów, jak i elektroniki. Więc nie skacz z kwiatka na kwiatek, bo nigdy tego projektu nie zrealizujesz. ATMega ma wystarczająco dobry...
mam kondensatory przy kwarcu. Procek mi rusza ale tak jakby timer'y miczego nie zliczały bo mam na jednym z nich zegarek i nie działa.Wyświetla mi tylko na wyświetlaczu 00:00:00 i dalej nic. Ale jak tylko przełącze sie na wewnętrzny oscylator to już wszystko liczy i działa.
\ 1. Rozumiem, że ustawienie odpowiedniej częstotliwości da mi czas, który jest mi potrzebny? Tak, program z tego postu demonstruje rejestry i bity których odpowiednie ustawienie spowoduje daną częstotliwość przerwać timerów, a w konsekwencji odpowiednią częstotliwość wysyłania tekstu / migania diodą, jednak obecny ustawiony czas jest przykładowy, nawet...
Określ częstotliwość tych impulsów, lub ich szerokość. Jeśli trwają milisekundy, to najlepiej wykorzystać timer w trybie przechwytywania impulsów zewnętrznych - piny ICP i rejestr ICR. Jeśli są krótkie (setki ns lub us) to lepiej tymi impulscami taktować wejście licznikowe timera, a drugi timer wykorzystać do odmierzania odcinka czasu wzorcowego. Ze...
Witam, próbuję zrobić projekt w stylu inteligenty dom i chcę sterować różnymi urządzeniami przez internet lecz nie chcę stawiać serwera bo i tak nie mam zewnętrznego IP. Pozostaje więc założyć zewnętrzny serwer i wysyłać dane na ftp w postaci plików. Byłbym wdzięczny za wskazanie jakiejś drogi (tutorial kurs cokolwiek) kod z działającym serwerem już...
Nadal nie rozumiesz o czym koledzy piszą. Przeczytaj sobie co to są przerwania, co to są i po co są timery. Twój program powinien być taki że w pętli głównej procesor śpi, a w tle w timerach i na zewnętrznych przerwaniach dzieje się cała reszta. Timer mierzy czasy, a przerwania zewnerzne powodują wybudzenie i reakcje procka. Jeżeli masz 8 potencjalnych...
Witam Mam nadzieję że doświadczeni fachowcy pomogą. Potrzebuję zmierzyć ile impulsów z Timer1 mieści się w zewnętrznym impulsie. Doczytałem informacje że można to zrobić poprzez przechwycenie zawartości Compare1a po podaniu tego zewnętrznego impulsu na pin. ICP1. Pewno są na to też inne sposoby , o których nie pisze w pomocy i w googlach. Nie wiem od...
Zły pomysł, zły kod. Użyj jednego timera w trybie zliczania impulsów zewnętrznych i podłącz wyjście wentylatora do jego wejścia. Drugi timer zaprogramuj na zgłaszanie przerwań co 1 sekundę (timer 0 tego nie potrafi), w procedurze przerwania odczytaj wartość licznika, wyzeruj licznik i wyświetl wartość. Nie jest to idealne rozwiązanie, ale o niebo lepsze...
Witam, Miotam się z wyborem częstotliwości taktowania ATmegi pomiędzy sybką transmisją 57600bps a precyzyjnym taktowaniem procesu z częstotliwością 1kHz. Kwarce najlepsze do transmisji szeregowej np 11,0592 MHz dają słabe możliwości zestrojenia timera na 1kHz (albo ja nie umiem). Ostatecznie pojadę na dwa źródła zegarowe: kwarc dla jednostki centralnej...
Nikt na razie nie ma żadnego pomysłu..? A może za pomocą Timera0 lub Timera2, a może wejścia przerwań zewnętrznych jakoś by rozwiązać ten temat ? Pomiar nie musi być jakoś super dokładny (choć wiadomo, im dokładnej tym lepiej).
Bo nie tak się używa przerwań zewnętrznych. Można po pojawieniu się przerwania od zbocza narastającego wystartować timer, w przerwaniu zmienić na zbocze opadające i gdy pojawi się zbocze opadające zatrzymać timer, odczytać jego stan do zmiennej volatile wykasować i ponownie ustawić na zbocze narastające. Mozna też wykorzystać oba dostępne przerwania....
Procedury przerwań zewnętrznych: Dodano po 1 z tego co wiem, w ISR pozostałe przerwania są wyłączane, czy mam rację ? nie istnieje więc chyba możliwość, że odpala się za dużo przerwań i łącznie za dużo rzeczy odkładanych jest na stos ? Swoją drogą wywołanie takie prostego ISR z jedną linijką kodu również wiąże się z odkładaniem wszystkich zmiennych,...
Przecież pisze to wyżej:) Ma być CTC, i czy to ważne dlaczego? Ma być użyty dlatego, że Timer 1 to PWM, Timer 3 liczy czas między przerwaniami zewnętrznymi i wpisuje ten czas do wartości TOP Timera 2. Ale timer 2 jest 8 bitowy, wiec ucieka mi pewna wartość bo Timer3 jest 16bit. Timer4 jest również 16bit wiec powinno grac.. Teraz działa to tak, że wartość...
Witaj. Zamiast zewnętrznego PCF możesz wykorzystać timer2 z zewnętrznym kwarcem zegarkowym 32,768kHz. Dokładność ta sama, a koszty mniejsze.
a ustawiłeś Fuse Bity?? Bo jeśli nie masz ustawionych to ATmega pracuje z częstotliwością 1MHz. Musisz ustawić Fusy na albo 8MHz na wewnętrznym generatorze albo ustawić Fusy na zewnętrzny kwarc. i mniej więcej kod by tak wyglądał: $regfile = "m8def.dat" $crystal = 8000000 Cursor Off Dim Czestotliwosc As Long Const Licznik = 22336 Config Timer1...
Atmegi mają wewnętrzny układ taktujący 1MHz, do tego trzeba zmienić ustawienia programowania w stk200 (przełączyć fuse na zewnętrzny kwarc). co do zworki - jakaś bzdura, 1wire niewymaga żadnych zworek, 1-wire to kwestja programu, timer służy do odmierzania czasu i niemusi byc połączony z portem. co do i2c- niewiem...
Niestety nie będzie działać, jeśli nie zastosujesz w tym przypadku sprzętowego (filtr RC) debouncingu. Pytanie, czy to musi być całkowicie sprzętowo? Jeśli tak to tylko zewnętrzny filtr RC + podłączenie pod wejście XCK timera, wtedy każde naciśnięcie przycisku generuje impuls zegarowy zliczany przez timer. Całkowicie sprzętowa realizacja prostsza jest...
KEYBOARD_KEY_TIMEOV skąd się to bierze? Ogólnie widziałem że używasz real-time do domierzania opźnień. Jak I2C się pogubi to i program stanie. Przesiądź się na arduinową funkcje millis() lub w przerwaniu od jakiegoś timera zrób własne liczniki czasu, niezależne od zewnętrznego zegara. millis() zwraca czas w ms od uruchomienia systemu, w dużej zmiennej....
I to ma coś wyjaśnić? Co to za zmienne? Twoja obsługa INT0 i INT1 jest bez sensu - zobacz co się będzie działo ze zmiennymi x2 i x1. Tak jak pisałem, albo wykorzystaj wejścia ICP timera, albo jeśli masz dwa wolne timery wykorzystaj ich wejścia CLK, podając na nie zliczane impulsy. Jeśli już musisz na INT to zrobić, to w tym przerwaniu tylko zwiększaj...
mały błąd, myślałem że w danej chwili tylko 1 timer może przyjmować sygnały zewnętrzne. W takim razie pozostaje mi wykorzystać 3 timer do odmierzania okresu czasu. Zastanawia mnie jeszcze rozwiązanie z rejestrami ICP/(Input Caputre Unit?) Nie wiem czy dobrze to rozumiem: narastające zbocze sygnału podane na nóżkę ICP uruchamia timer, opadające go zatrzymuje....
"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;
Próbowałem tego wcześniej bascom wywala błąd nie przewiduje innej opcji niż on i off . Ale nie ma błędów w kodzie na atmega 8 działa poprawnie. Może jakoś fabrycznie jest zablokowany zewnętrzny rezonator dla timera2 ??
Witam...Dlaczego przerwania z Timera0 generowane nie sa zgodnie z dokumentacja? chciałbym zrealizować generator sterujący pinami portu PC0-7...w taki sposób aby wartości z tabeli --- unsigned char GenTab DDRC = 0xFF; // port C jako wyjscie 11111111 CLI(); //disable all interrupts TIMSK = 0x01; //timer interrupt sources TCCR0 = 0x00; //stop OCR0...
Witam, Mam drobny problem z wyrabianiem się w czasie na Atmedze8 z wewnętrznym zegarem 8MHz (zewnętrzny kwarc niestety nie wchodzi w grę ze względu na ograniczenie miejsca na PCB). Ogółem piszę w C, ale procedury dla których czas wykonania jest ważny napisałem w asmie. Problem jest taki, że nie wiem jak użyć ich jako przerwań, poza rozwiązaniem polegającym...
Witam forumowiczów :D! Tworze projekt na zaliczenie - prostą perkusje elektroniczną, która posiada 12 przycisków, czytnik kart SD i wyjście PWM podpięte przez wzmacniacze do gniazda jack. Wszystko do momentu odtwarzania dźwięku działa poprawnie - wartości z pliku czyta prawidłowo (przetestowane na diodzie). Problem pojawia się gdy zaczynam odtwarzać...
Sprawa wygląda tak, że siedze nad tym długo, a w Internecie nie znalazłem nic, co by mi pomogło. Szukałem dość dużo i już zaczynam się frustrować. Nie chodzi o delay trwający 750ms, bo ten wyeliminowałem. Rzecz jest m.in. w tych, które trwają od kilku do aż 500µs (reset pulse). Śmiem przypuszczać, że to właśnie za przyczyną tych krótkich opóźnień...
Witam. Maiłem zbudowany zegar z pomiarem temperatury na atmega 16, lcd standard, temp na ds18b2, czas na wewnętrznym oscylatorze 1mhz. Ze względu na dużą niestabilnośc wewnętrznego generatora dołożyłem zewnętrzny kwarc zegarkowy oraz zmieniłem program, który używał timera1 na timer2. I tu pojawiły sie problemy z 1wire. Przypuszczam, że procedury Bascom...
Chce wlutować bezpośrednio w nogi podstawki do atmegi :P trochę będzie odstawać ale ważne, że działa :) Podpowiedz mi jeszcze, czy jak przylutuje kwarc i preskaler zmienię na odpowiednio mi pasujący to nie muszę w zadnym rejestrze timera0 nic ustawiać, ze to jest zewnętrzny oscylator? (pomijając fusebity)
Kiedyś umieściłem na obecnie niedostępnej stronie and.elektroda.eu materiał o dekodowaniu sygnału DCF. Urządzenie potrzebne było w urządzeniu, które wymagało synchronizacji czasu w pomieszczeniu gdzie wyprowadzenie anteny zewnętrznej do GPS było utrudnione. Poniżej umieszczam treść oryginalnego materiału, który może być pomocny przy budowaniu urządzeń...
W tym trybie timery są wyłączone - może działać tylko Timer 2 z zewnętrznym, kwarcem zegarkowym. Najpierw czytaj Datasheet, potem wymyślaj oprogramowanie... ;)
Witam Oglądam sobie dokumentację do PCF8563 i brakuje mi w nim generowania przerwań (na pinie INT) co sekundę jak robi to PCF8583. Wolałbym nie używać pinu CLKOUT skonfigurowanego do pracy przy 1 Hz. Kiedy używam PCF8583 ATMEGA w przerwaniu zewnętrznym generowanym przez PCF odczytuje sekundy, a jak trzeba to minuty i ... tak dalej. W PCF8563 widzę teoretycznie,...
Nie wiem czy może tak atmega działać. Główny oscylator może działać na zewnętrznych generatorach. A czy Timer2 to nie wiem.
Witam Mam problem z taktowaniem w moim projekcie. Pewnie jakaś głupota, ale obszukałem się jak głupi i już nie mam pomysłów. Jak tylko poskładałem układ, to zmieniłem taktowanie procka na zewnętrzny kwarc 10MHz, zmieniłem fusebity, wydawało mi się, że wszystko jest okej. Jednak konfigurując timer mocno mi się nie zgrywały czasy. Po dłuższym czasie studiowania...
Z tego co wiem to w ATmega-ch raczej trudno o możliwość zliczania impulsów z 3 niezależnych źródeł zewnętrznych i generowania dla każdego z osobna przerwania (chyba że powyżej ATmega32, ale w grę wchodzi wtedy wysoka cena). Pytanie czy konieczne jest takie rozwiązanie jak zaproponowałeś? Przy pracy uC z prędkością 8MHz (np. jak dla ATmega8, ATmega16...
O właśnie teraz pomyślałem o zewnętrznych przerwaniach, że tak można by to zrobić. Natomiast nie rozumiem co rozumiesz przez stwierdzenie, że tryb PWM skraca cykl zliczania do 256 (czy ileś tam)? Specyfikacja procka stwierdza że dla Fast PWM "The minimum resolution allowed is 2-bit (ICR1 or OCR1A set to 0x0003), and the maximum resolution is 16-bit...
Nie znam języków wysokiego poziomu - więc program jest w asemblerze, ale jeszcze raz powtarzam - nie przypisuję go sobie, ja go jedynie dostosowałem do moich potrzeb. Nie jestem programistą ale wydaje mi się że w zastosowaniach gdzie priorytetem jest określony czas obiegu pętli (np w falowniku) asembler się najlepiej sprawdzi, bo mamy kontrolę nad...
Poboru prądu nie potrafię zmierzyć, gdy próbowałem, ekran przestawał cokolwiek wyświetlać (i tak działa poniżej napięcia nominalnego). AtMega przez większość czasu nic nie robi nawet w czasie jazdy, wchodzi w tryb nieaktywny, a budzą go jedynie przerwania z sensorów, przycisków i timera. Podejrzewam, że największym prądożercą jest ekran, a potem rezystory...
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...
Spokojnie panowie...... po co tyle opinie sprowadzających się do "nie"... Atmega8 ma możliwość podpięcia rezonatora zegarkowego 32kHz do pinów i emulacje RTC z wystarczająca dokładnością do zastosowań amatorskich w oparciu o pracę asynchroniczna jednego z liczników. Wtedy reszta uP pracuje w konfiguracji taktowania wewnętrznym zegarem RC. Dodanie zewnętrznych...
w 168 nie działa mi zewnętrzny kwarc który oczywiście jest podłączony Z racji tego że w tym uc końcówki TOSC1 i 2 pokrywają się z XTAL1 i 2 to musisz ustawić fuse bity na wew. oscylator a do wspomnianych wcześniej nóżek podłączyć kwarc zegarkowy.
tak na szybko zauważone drobiazgi: SCH: - staraj się w polu wartości (Comment) stosować dokładne part number wybranego komponentu lub przynajmniej skróconą jego wartość. Zalecam nie stosować pola Comment do oznaczania funkcji pełnionej przez komponent (np. LCD_Control, JTAG). Lepiej użyć do tego celu Text String. cpu: - nety TCK, TMS, SCL_I2C, RESET...
Mam problem z TIMER2 - odmierzanie czasu , najlepiej 1s. Wartość b będzie zmieniała się - tylko co jaki odstep czasu. Może ktoś poratować? Albo ma może jakiś swój przykładowy programik na Timer2 z wywoływanym przerwaniem? Radzio // Testowanie timera 2 #define F_CPU 8000000UL #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h>...
W rejestrze TCCR0 ustawiasz 3 bity CS02, CS01, CS00 zgodnie z tabelką 42 (83 strona w dokumentacji) Odpowiednio: 0 0 0 – timer zatrzymany 0 0 1 – timer włączony, zlicza bez preskalera (impulsy z zegara systemowego) 0 1 0 - tak jak wyżej, zlicza z preskalerem 8 itd. Dwa ostatnie wiersze to zliczanie impulsów zewnętrznych. W rejestrze TIMSK...
Strona 29 noty katalogowej ATmega16 ( Timer/Counter Oscillator ) : For AVR microcontrollers with Timer/Counter Oscillator pins (TOSC1 and TOSC2), the crystal is connected directly between the pins. No external capacitors are needed. The Oscillator is optimized for use with a 32.768 kHz watch crystal. Applying an external clock source to TOSC1 is not...
Timer-1 16bit pracuje jako PWM dwa kanały OC1A i OC1B chyba że chcesz mono wtedy wystarczy jeden kanał . Timer 8bit musisz ustawić tak żeby generował przerwanie z taką częstotliwością jak próbkowanie dźwięku a w przerwaniu ładujesz próbki do PWM . Ok , tak zrobię . Wiesz ja już robię , to chciałbym to zrobić w miarę "fajnie" i , żeby to w miarę też...
Zastosować RTC zewnętrzny z potrzymaniem bateryjnym.
Przepraszam że nie potrafię tego wyjaśnić ale to nie ja pisałem ten program. Mam taki kod: http://obrazki.elektroda.pl/4548415200_1...
Czy ktoś mógłby mi łopatologicznie wytłumaczyć o co w tym chodzi? Napisałem prosty program do odliczania 1 sekundy i albo się spieszy, albo spóźnia ok 3 sek na 5min. Próbowałem już wielu ustawień tccr0 dla ctc i z identycznym skutkiem... Procek to Atmega16, kwarc zewnętrzny 8MHz, prescaler 64, odliczam 125 lub 124 i ciągle wariacje. Jak powinienem poustawiać...
zewnętrzny timer timer zewnętrzny timer zewnętrzny atmega8
alternator iveco oscyloskop karty dźwiękowej gniazdka angielskie
whirpool dźwięk fizyka mechanika maszyn
Obniżenie map LPG a skład mieszanki paliwowej Cena matrycy do telewizora Samsung UE43AU9002K