atmega prescaler timer

Znaleziono około 884 wyników dla: atmega prescaler timer
  • ATmega1284p TIMER0_OVF_vect nie działa - diagnostyka przerwania

    Konfiguracja prescalera jest w TCCR0 B a nie TCCR0A.

    Mikrokontrolery AVR   03 Kwi 2020 11:48 Odpowiedzi: 2    Wyświetleń: 438
  • [C][Atmega 8] Pomiar czasu (milisekundy) miedzy zdarzeniami

    Funkcja delay_ms() nie zależy od timera, więc prescaler nie ma dla niej znaczenia.

    Mikrokontrolery AVR   09 Cze 2010 19:00 Odpowiedzi: 6    Wyświetleń: 2250
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Używanie dwóch timerów w BASCOM (atmega2560) - pobieranie danych z tablicy i sterowanie PORTB

    Kolego patrzę na ten kod ze zgrozą, ale załadowałem do swojego Bascoma i trochę więcej zrozumiałem bo mozna sprawdzać referencje i skakać po kodzie. W przerwaniu co osiem taktów (nierealne) timer ma zliczać te twoje "niby" OCR. (Incr Licz_timera1 : If Licz_timera1 >= Ooo Then) Te OCR jest ładowane z tabeli gdzie najmniejsza wartość to 127 a najwieksza...

    Mikrokontrolery AVR   07 Kwi 2023 07:26 Odpowiedzi: 17    Wyświetleń: 753
  • REKLAMA
  • [AVR] Dlaczego przerwanie TIMER1_COMPA_vect nie działa w VMLab?

    2 serwa można zrobić całkowicie sprzętowo TCCR1A = _BV(WGM11); /* Fast PWM, ICR1 is top */ TCCR1B = _BV(WGM13) | _BV(WGM12) /* Fast PWM, ICR1 is top */ | _BV(CS11) /* div 8 clock prescaler */ ; OCR1A = 3000; // to jest chyba dla zegara 16 Mhz - to by odpowiadało impulsom 1.5 ms OCR1B = 3000; ICR1 = clockCyclesPerMicrosecond()*(...

    Mikrokontrolery AVR   08 Lis 2010 23:03 Odpowiedzi: 8    Wyświetleń: 4056
  • Maksymalna częstotliwość kwarca wewnętrznego Atmega8 i konfiguracja Timer1

    Jaka jest maksymalna częstotliwość pracy kwarca wewnętrznego Atmegi8? ATmega nie ma w środku kwarc u , tylko oscylator RC, to tak gwoli ścisłości. Mam ustawione 4Mhz i kiedy ustawiam prescaler w timerze 16bitowym na 64 (TCCR1B|=1<<CS11|1<<CS10;) tak aby przerwanie spowodowane przepełniniem timera było wywoływane mniejwięcej co 1s 4000000/64/2^16...

    Mikrokontrolery   26 Wrz 2007 12:49 Odpowiedzi: 2    Wyświetleń: 2431
  • REKLAMA
  • [Atmega328][Atmega2560][Arduino] - Pomiar czasu propagacji fali 40kHz.

    Dodatkową niedogodnością jest to że Atmega2560 ma wspólny układ prescalera dla Timerów 0 1 3 4 5. a to nie wystarczy?: Timer/Counter 0, 1, 3, 4, and 5 share the same prescaler module, but the Timer/Counters can have different prescaler settings . Pytam bez analizy kodu. Nie definiuj F_CPU w kodzie z tych powodów: http://mikrokontrolery.blogspot.com/2011...

    Arduino   16 Lip 2015 20:13 Odpowiedzi: 8    Wyświetleń: 2283
  • Przerwania atmega2560 jak włączyć przerwania TIMER1/3/4/5_COMPB/C_vect

    Najprostszy przykład jaki mi przychodzi do głowy to wykorzystanie tych dwóch dodatkowych funkcji do wygenerowania przerwania które nastąpią po przerwaniu A po czasie zadeklarowanym w rejestrach OCRxB/C W twoim kodzie będzie to coś takiego void setup(){ DDRB |= (1<<PB7); // ustawienie pinu 13 jako wyjscie PORTB &= ~(1<<PB7);//...

    Mikrokontrolery AVR   17 Gru 2022 17:52 Odpowiedzi: 4    Wyświetleń: 432
  • REKLAMA
  • Atmega16: Jak ustawić timer0 CTC z kwarcem 8MHz i prescalerem 64?

    Musisz naleźć takie wartości do zliczania przerwań z zegara przy których uzyskasz największą dokładność. Możesz też spróbować użyć rezonatorów zegarkowych: 32.768kHz 4.194304MHz. W nich częstotliwość jest potęgą dwójki stąd łatwo się dzieli do uzyskania 1Hz. Może będą też dokładniejsze ale kto wie.

    Mikrokontrolery AVR   09 Lis 2010 10:19 Odpowiedzi: 8    Wyświetleń: 3081
  • Ustawienie timerów na ATmega128 - Zegar wewnętrzny 8MHz, Timer1 1s, Timer0 4ms, konfiguracja kodu

    W sobotę o tej porze mogę się mylić :P W tabelce pisze chyba wyraźnie, że dla tego trybu CTC który ustawiłeś to okres ustala się w OCR1 A i raczej powinieneś wtedy uruchomic przerwanie od OCIE1 A i oczywiście wskazać adekwatny wektor przerwania. https://obrazki.elektroda.pl/2405063000_... Sprawa 1 sekundy jest prosta. (8MHz/256)-1=...

    Mikrokontrolery AVR   12 Lis 2022 02:13 Odpowiedzi: 6    Wyświetleń: 414
  • Atmega 16 - Błąd error 12(Unknown CONFIG parameter[auto]) w konfiguracji ADC

    Na 100% w Prescaler było to R na końcu? Bo w timerach jest Prescale, ale w ADC jest Prescaler ;) Bo skopiowałem dokładnie ten kod, który udostępniłeś, dodałem tylko i wyłącznie to r i normalnie się skompilował na bascom-avr 2.0.7.5

    Mikrokontrolery AVR   25 Wrz 2016 20:44 Odpowiedzi: 5    Wyświetleń: 801
  • Jak skonfigurować trzeci timer w Atmega8?

    (at)seba_x:A co to za bzdura?:> • Peripheral Features – Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode A co do pytania autora, nie, zliczanie umożliwiają tylko dwa pierwsze timery. Trzeciego można używać jako wewnętrznego. Nie tylko...

    Mikrokontrolery   29 Mar 2008 12:57 Odpowiedzi: 7    Wyświetleń: 3265
  • ATMEGA 8 - Jak ustawić przerwanie timera co 1s z prescalerem 128?

    [syntax=c] #define RELOAD_VAL 131 int main (void) { TCCR0=0x8B; TCNT0 = RELOAD_VAL; TIMSK=(1<<TOIE0); sei(); while(1) { } } SIGNAL( SIG_OVERFLOW0 ) // 1 ms { TCNT0 = RELOAD_VAL; } [/syntax]

    Mikrokontrolery AVR   05 Gru 2014 09:46 Odpowiedzi: 11    Wyświetleń: 1446
  • [atmega328p] [atmega328p][c] Timer0 - dioda nie miga, ustawienia 8MHz, kod nie działa

    Bity CS00 i CS02 od preskalera są w rejestrze TCCR0B, a nie TCCR0A. Masz preskaler na 0 więc timer nie zlicza.

    Mikrokontrolery AVR   11 Sie 2014 23:33 Odpowiedzi: 7    Wyświetleń: 3846
  • REKLAMA
  • Bascom Atmega - Program z wykorzystaniem timera do odmierzenia czasu. Pytanie.

    Chcę napisac własny program z wykorzystaniem Timerów. Na początek proszę o wytłumaczenie dlaczego w poniższym programie: 1. wykorzystano podzial częstotliwości zegara (po preskalerze 256) 250/125 zamiast wykonac jedno dzialanie? 2. uzyto wartość początkową Timera0 = 250 przed Petlą do Loop End . O ile wyjaśnienie podane przez Tomq jest błędne(!) Load...

    Mikrokontrolery Początkujący   03 Maj 2014 20:09 Odpowiedzi: 4    Wyświetleń: 1251
  • [Atmega32]Jak skonfigurować zegarki wewnetrzne (Timer1 i Timer0)?

    1. W jakim języku piszesz? 2. Kalkuluje się to tak: Masz kwarc 16 000 000 Hz (16 MHz) i dajesz sobie jeden z dopuszczonych prescalerów, np. 64 i wtedy timer zlicza Ci impulsy z częstotliwością 16 000 000 / 64 = 250 000 Hz, czyli jeden impuls timera to 4*10^-6 s lub inaczej aby odmierzyć 1s musisz zliczyć 250 000 impulsów, Jako, że Timer0 jest 8 bitowy...

    Mikrokontrolery AVR   26 Cze 2011 20:40 Odpowiedzi: 13    Wyświetleń: 1845
  • AVR Timer1 - wyświetlanie tekstu co 0.23s bez blokowania komponentów

    \ 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...

    Arduino   20 Gru 2019 21:55 Odpowiedzi: 21    Wyświetleń: 2274
  • Symulacja Timer1 w Bascom na ATtiny2313 - brak przerwań, Timer0 działa

    Niestety Bascom jest niedorobiony. Ilez to ja niekiedy spedzilem czasu bo cos mi nie chodzilo. Co wersja to inny blad. W jednej wersji nie chodzily mi np. timery na Atmega 16, prescaler blednie sie ustawial itp. Warto jest podgladnac rejestry i sprawdzic czy aby Bascom nie wpisal tam glupot. Jesli wpisal glupoty a to najczesciej jest przyczyna probowac...

    Mikrokontrolery   02 Maj 2006 19:43 Odpowiedzi: 4    Wyświetleń: 1218
  • Atmega328 timer0 nie odlicza czasu/nie generuje przerwania (tryb normalny)

    Po pierwsze, timer liczy od 0 do 255, ale to oznacza 256 impulsów pomiędzy przepełnieniami, czyli powinno być 256, a nie 255 * 128us. Po drugie zaokrągliłeś wynik z 32.64 do 32 przed dzieleniem, co w efekcie dało niedokładny wynik ilości przepełnień. W rzeczywistości częstotliwość przerwań można obliczyć dużo prościej: ( 8000000 / 1024 ) / 256 = ok. 30,5176.....

    Mikrokontrolery AVR   11 Kwi 2019 11:28 Odpowiedzi: 9    Wyświetleń: 864
  • [atmega16/32] - Dokładność timerów/kwarców do pomiaru czasu

    Ja doskonale rozumiem, że Atmegi moga pracować na kwarcu zegarkowym, tylko chciałbym wiedzieć na jakiego rzędu dokładność mogę liczyć na zwykłym kwarcu w porównaniu do kwarcu zegarkowego. -- pozdrawiam, demeus Taka sama!.... Wszystkie resonatory kwarcowe maja dokladnosc rzedu +/- 20ppm. Rezonatory zegarkowe jest o wiele wygodniej stosowac do odmierzania...

    Mikrokontrolery AVR   25 Mar 2009 22:48 Odpowiedzi: 4    Wyświetleń: 1827
  • ATmega8 Timer0/Timer1 – jak ustawić prescaler, by uzyskać 1s przy 1MHz?

    Na dobra sprawe w tym przypadku do compare1a chyba moznaby dac 2x15625 czyli 31250 i tym sposobem procka przerwania bedzie krotsza.

    Mikrokontrolery   14 Mar 2006 21:13 Odpowiedzi: 27    Wyświetleń: 2867
  • [ATMega8515][C] Regulowany generator impulsów 0-12hz

    Witam. Mam takie o to zagadnienie, potrzebuje zrobić regulowany generator 0-15hz. Na wyjściu sygnał prostokątny, albo tylko same impulsy mogą być. Wszystko było by fajnie, ale muszę do tego użyć Timera i przerwania. A nie mam w ogóle pomysłu od czego zacząć i jak to zorganizować. Potrzebuję zrealizować coś takiego aby nie zależnie od głównej pętli...

    Mikrokontrolery AVR   13 Lis 2009 15:04 Odpowiedzi: 4    Wyświetleń: 1856
  • AVR Asembler: Timer0 Overflow w ATmega128 - Jak uzyskać 1s odstęp?

    ... Proszę o szczegóły. Dlaczego oczywiste jest, że timer że 16-bitowy odliczy 1s? Zakładamy że taktujemy kwarcem 4MHz. Jeden takt to 1/4 000 000=0,25us. 16 bitów to 65536 cykli. 65536cykli*0,25us=16,384ms Proponuję więc zliczyć 100 cykli 10-cio milisekundowych. ilość cykli = 10ms/0,25us=40000 cykli. Wpisujesz więc do timera 40000 i czekasz aż się...

    Mikrokontrolery   12 Lis 2005 16:11 Odpowiedzi: 15    Wyświetleń: 3811
  • [C] Atmega16 - Timer0 spieszy o 3 sekundy po 5 minutach, prescaler 1024, 8MHz

    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.

    Mikrokontrolery   31 Maj 2011 11:28 Odpowiedzi: 9    Wyświetleń: 2963
  • Atmega32A - Moduł L298 - Sterowanie silnikiem DC - PWM

    Może spróbuj sterowania w inny sposób - za pomocą przerwania INT2 (wywoływanego przyciskiem) uruchamiaj i zatrzymuj licznik TC0 (parametry PWM są ustawione u Ciebie poprawnie) tzn ustawiaj bity TCCR0|=(1<<CS00)|(1<<CS01) kiedy chcesz uruchomić licznik i zeruj je jeżeli chcesz zatrzymać. Samo ustawianie wartości wypełnienia czyli rejestr...

    Mikrokontrolery AVR   02 Sty 2018 23:56 Odpowiedzi: 22    Wyświetleń: 1569
  • ATMEGA328P - HC-sr04: Timer nie zmienia wartości przy zmianie odległości

    Coś takiego znalazłem. Co prawda na Atiny ale można przerobić. [syntax=c]// // Talking to ultrasonic sensor HC-SR04 with an ATtiny84, and // sending distance data using serial communications. // // electronut.in // #include <avr/io.h> #include <string.h> #include <util/delay.h> #include <avr/interrupt.h> #define F_CPU 8000000...

    Mikrokontrolery AVR   10 Kwi 2017 04:56 Odpowiedzi: 3    Wyświetleń: 936
  • [ATMEGA128] Timer1 CTC nie generuje przerwań przy 16MHz, OCR1A=62500

    Działa. Pewnie o czymś zapomniałeś na wstępie. Mój działający kod: .include "m128def.inc" .cseg .org0x0000 rjmpreset ;skok po resecie systemu .org0x0018 rjmpdata ;skok po wykryciu zgodności reset: ldi r16, high(RAMEND) out SPH, r16 ldi r16, low(RAMEND) out SPL, r16 rcallKONFIGURACJA_TIMER1 sei loop: nop rjmploop ;......

    Mikrokontrolery AVR   06 Lip 2008 08:32 Odpowiedzi: 23    Wyświetleń: 4139
  • Zmiana kodu z Timer0 na Timer1 w ATmega8 - jak to zrobić?

    Jedna uwaga tak na marginesie. Chyba wiem z jakiej książki korzystał kosmo90 i niestety jest tam błąd. Instrukcja Load Timer ma odrobinę inną składnię. Powinno być: Load Timer0, 250 czyli przecinek a nie znak =. Można ewentualnie napisać Timer0 = 5 co da taki sam efekt. A co do sposobu ładowania Timera to w pełni podzielam zdanie M.S. Taki trick poprawi...

    Mikrokontrolery   20 Wrz 2008 16:55 Odpowiedzi: 15    Wyświetleń: 6230
  • Przeniesienie kodu SPWM z Arduino UNO (ATmega328P) na ATTiny85A – kompatybilność

    Po niewielkich zmianach powinno działać też na Attiny85. Wrzucam kod dla Attiny85 (nie testowany; nie mam jak): [syntax=c]//############################... // SPWM implementation for Attiny85 // Clock frequency 8MHz internal clock oscillator // High Fuse: 0xFF, Low Fuse: 0xE2 // // Signals generated: // - SPWM...

    Arduino   20 Lip 2022 05:51 Odpowiedzi: 25    Wyświetleń: 885
  • [Atmega8] Jak przekształcić wartość z timera1 Atmega8 na obroty na minutę?

    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...

    Mikrokontrolery AVR   10 Kwi 2013 22:59 Odpowiedzi: 18    Wyświetleń: 3287
  • Jak zrealizować detekcję zbliżenia ręki z TSOP1736 na ATmega 8L?

    Witam... Generalnie rzecz biorąc procedury opóźnienia czasowego nie nadają się do modulowania diody IR... Częstotliwość nie jest zbyt stabilna to raz... Dwa nie uzyskasz 36kHz musisz skorzystać z dobrodziejstw timera... Np. tak... #include<avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <inttypes.h> int...

    Mikrokontrolery   03 Sie 2005 13:34 Odpowiedzi: 3    Wyświetleń: 1779
  • Czas trwania Waitms=500 na Atmega 8 z zegarem 1MHz bez prescalera?

    waitms 20 Zostanie to skompilowane do pętli, której czas wykonania wyniesie ~20ms (taktowanie procesora deklarujesz poprzez zmienną proprocesora $crystal lub w opcjach projektu), do dokładnego pomiaru czasu można wykorzystać timer.

    Mikrokontrolery AVR   13 Lip 2009 23:03 Odpowiedzi: 29    Wyświetleń: 2685
  • ATmega8, Timer0 i Timer1 – konfiguracja liczników do zmiany zmiennej co 1 sekundę, 4MHz

    A nie łatwiej jest policzyć DO ilu ma liczyć a nie OD ilu? :) i robić przerwania COMP a nie OVF? Ja tak robię i na kwarcu 4MHz timer1 odlicza sekundy bardzo ładnie. Ale u Ciebie timer1 wydaje się mieć dobrze ustawianą wartość. Przy prescalerze 256 musisz mieć 15625 taktów zegara, aby osiągnąć sekundę. W drugim coś mi nie gra. Odliczasz od 0x0F czyli...

    Mikrokontrolery   26 Mar 2008 13:45 Odpowiedzi: 5    Wyświetleń: 1739
  • [atmega128][bascom]Obrotom. z czujnikiem Halla w przerwaniu

    Zakres liczenia 16-bitowego timera przy zegarze 16MHz i prescalerze=1 to nieco ponad 4ms. Jak chcesz tym zmierzyć czas, który przy 5000obr/min wynosi ok. 12ms.?

    Mikrokontrolery AVR   17 Cze 2010 22:11 Odpowiedzi: 9    Wyświetleń: 2238
  • [c] Timer1 w Atmega164P: Niewłaściwa częstotliwość w trybie CTC, 16MHz kwarc

    Używam Timera1 z Atmega164P w trybie CTC, Atmega ma kwarc 16MHz, interesujący kawałek programu wygląda tak: Konfiguracja Timera: void Timer1_Init(void) { DDRD |= (1<<PD7); // PD7 wyjście PORTD |= (1<<PD7); // PD7 <= 1 TCCR1B = (1<<WGM12)|(1<<C...

    Mikrokontrolery AVR   24 Lis 2009 16:44 Odpowiedzi: 8    Wyświetleń: 1652
  • Jak zmieniać stan niski na wysoki za pomocą generatora? ATmega168 i język C.

    Wybrałem tryb 9 (Phase and Frequency Correct) i napisałem następujący kod: Nienajlepszy to wybór, bo akurat w tym trybie wartośc TOP jest ustawiana w rejestrze OCR1A, służąca do kontroli częstotliwości pracy timera , tymsamym elinujesz możliwośc generowania fali kanałem A. W tej sytuacji generowanie fali jest możliwe tylko w kanale B . Patrz ostatni...

    Mikrokontrolery AVR   09 Mar 2019 16:24 Odpowiedzi: 17    Wyświetleń: 978
  • ATMEGA 2560 czy można zmienić priorytety danych przerwań

    Zacznijmy od pytań: 1. Które bity według Ciebie ustawiłeś w TCCR2B : Autor tematu pisał, że stosuje gotową bibliotekę do obsługi jakiegoś panelu dotykowego. Z tego, co zrozumiałem, to przerwanie to znajduje się we "wnętrzu" tej biblioteki. Takie efekty są oczywiście normalne, gdy ktoś mało świadomy tego, co się dzieje w jego programie stosuje gotowe...

    Mikrokontrolery Początkujący   08 Sie 2017 20:29 Odpowiedzi: 15    Wyświetleń: 2010
  • [Atmega128][c][WinAVR] Timer w trybie asynchronicznym

    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...

    Mikrokontrolery AVR   08 Lis 2009 21:48 Odpowiedzi: 2    Wyświetleń: 2290
  • KAMAMI ZL3 AVR, Atmega32-16PU, TIMER0 - Częstotliwość przed i po preskalowaniu

    A moje pytanie, czy przy takim algorytmie, pomimo tego że nie wykorzystuje przerwań a na pinie mam częstotliwość którą chciałem procesor będzie miał jeszcze "czas" na po prostu realizację programu ? Czy tak skonfigurowany timer wykorzystuje procesor ? Widzę że timery to twoja słaba strona, więc napiszę ci troche ... Wszystkie timery w AVR mają możliwośc...

    Mikrokontrolery AVR   30 Mar 2017 19:25 Odpowiedzi: 12    Wyświetleń: 1329
  • Fast PWM nie działa na ATmega328 - kod nie zapala diody LED

    Masz błąd w ustawieniach prescalera...ustawiając wszystkie bity CS ustawiłeś zewnętrzny zegar jako taktowanie Timera, ustaw na przykład sam CS12 i zobacz czy działa

    Mikrokontrolery AVR   14 Sie 2017 05:11 Odpowiedzi: 3    Wyświetleń: 912
  • Licznik częstotliwości do 500 MHz na Atmega 48.

    (...)Nie jest on jednak bez preskalera, jak napisał androot, tylko wykorzystuje wbudowany w timer MPU 8-bitowy preskaler.(...) Miałem na myśli prescaler do kilku GHz, a nie ten wbudowany w µC.

    DIY Konstrukcje   23 Wrz 2013 18:43 Odpowiedzi: 37    Wyświetleń: 38166
  • [AtMega16] [AtMega16][C] - Implementacja multitaskingu dla odczytu ds18b20 i sterowania GPIO

    Powrócę jeszcze do tematu. Timery programowe to objaśnił Mirekk36 w swojej książce oraz artykułach i wideo poradnikach, bardzo dobrze je się stosuje. Jest to proste, wystarczy ustawić jakiś timer w tryb CTC i wywoływać przerwanie co jakiś zamierzony czas (stosuje około 10ms). F_CPU/Prescaler/100 Zaokrągloną wartość wpisujemy do rejestru OCRx. W przerwaniu...

    Mikrokontrolery AVR   13 Kwi 2013 20:38 Odpowiedzi: 24    Wyświetleń: 2649
  • [C] Atmega32 Timer0 CTC – dioda nie zapala się w przerwaniu, kod nie działa

    #include<avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000 int main(void) { TCCR0 = 0x05; //(1 << CS02) | (1 << CS00); prescaler na 1024 TIFR |= (1 << TOV0); TIMSK |= (1 << TOIE0); // aktywne przerwanie overflow // timer_enable_int(_BV(TOIE1)&...

    Mikrokontrolery   07 Mar 2011 09:24 Odpowiedzi: 8    Wyświetleń: 1997
  • Wybór trybu PWM i konfiguracja timerów w Atmega8a do sterowania silnikami

    Dlaczego W rejestrze "TCCR1A" ustawiane są bity odpowiedzialne za wyjście OC1B ? Czy generalnie sterwowanie prędkością poprzez zmianę zmiennej OCR1x jest wogóle dobrym rozwiązaniem ? Bardzo proszę o odpowiedzi. Większośc timerów w AVR a szczególnie 16-bitowe posiadają dwa kanały nazwane A i B, które możesz wykorzystac do generowania 'odmiennych' fal...

    Mikrokontrolery   22 Lut 2015 18:29 Odpowiedzi: 17    Wyświetleń: 1242
  • Atmega8: Konflikt przerwań Timer1 i Timer0 przy sterowaniu PWM i diodą

    To co napisał kol. Krauser jest bardzo istotne, ponieważ włączasz przerwanie od porównania (1<<OCIE1B), a nie masz funkcji jego obsługi, co de facto powoduje skok do adresu 0000h, czyli rozpoczęcie działania programu od początku.. Drobna uwaga do komentarza: [syntax=c]TCCR1B |= (1<<CS12)|(1<<WGM12) ; // prescaler 512[/syntax] W Atmega8...

    Mikrokontrolery Początkujący   07 Cze 2012 11:59 Odpowiedzi: 3    Wyświetleń: 1595
  • atmega 8535 - Konfiguracja Fast PWM tryb 15 na timerze 16-bitowym

    Witam, chcę uruchomić na timerze 16 bitowym tryb 15. 'Fast PMW' robię to tak: [syntax=c] PORTC |= (1<<PD4); TCCR1A|=(1<<COM1B0) |(1<<WGM11) |(1<<WGM10); TCCR1B|=(1<<WGM13) |(1<<WGM12) |(1<<CS11) //prescaler 64 |(1<<CS10); OCR1A=400; OCR1B=250; [/syntax] I teraz jeśli dobrze rozumiem to rejestrem OCR1A...

    Mikrokontrolery AVR   06 Lis 2013 14:25 Odpowiedzi: 1    Wyświetleń: 870
  • [mega8] Atmega8-16PU: Dioda miga zamiast reagować na przerwanie INT1

    W oparciu o Wasze rady oraz [url=http://www.avrfreaks.net/index.php?... Guide to AVR Timers i przydatną stronę [url=http://www.et06.dk/atmega_timers/]A... Timer/Counter/Prescaler Calculator w wolnym czasie sklepałem taki kawałek kodu: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h>...

    Mikrokontrolery   09 Maj 2011 14:25 Odpowiedzi: 8    Wyświetleń: 1812
  • Bascom - Atmega8a traci wartość liczników/samoczynny reset mikrokontrolera

    (at)emarcus: O ile się nie mylę, przy prescalerze 64 i cżestotliwości 8MHz timer0 będzie miał skok co 8us, czyli licznik bedzie przepełniał się co 2,048ms, więc do poprawnego odliczenia 1s w obsłudze timera należy załadowywać do niego Timer0 = 6, i dodać licznik, który 500 razy zliczy przepełnienia. A co do tych parametrów, to zawsze wstawiałem domyślne...

    Mikrokontrolery Początkujący   13 Cze 2013 13:47 Odpowiedzi: 10    Wyświetleń: 2196
  • ATMega128 - Świecenie 2 diodami na raz ze zmienną częstotliwością

    Kod piszę "na sucho", więc lepiej sprawdź czy działa.[syntax=c] #include <avr/interrupts.h> void timer0_init(void){ TCCR0 = _BV(CS02); //Mode 0, normal operation, prescaler 64 TIMSK |= _BV(TOIE0); //Timer/Counter0 Overflow Interrupt Enable } volatile unsigned long millis=0; volatile unsigned int okresy_migania_ledow[4] = {100,200,300,400}; ISR(TIMER0_OVF_vect)...

    Mikrokontrolery AVR   18 Wrz 2014 22:17 Odpowiedzi: 6    Wyświetleń: 1038
  • [Atmega16] [Atmega16][C] Jak uzyskać przerwanie timera co 100ms?

    Kwarc 1,8432MHz, prescaler 1024, timer w trybie CTC na 180 taktów. Kwarc 2,4576MHz, prescaler 1024, timer w trybie CTC na 240 taktów.

    Mikrokontrolery AVR   31 Sie 2010 12:29 Odpowiedzi: 7    Wyświetleń: 1206
  • Atmega8 - błędne wyświetlanie wartości TCNT0 na LCD po konwersji itoa

    Witam Mam problem z konwersją wartości 8-bitowego rejestru TCNT0 i wyświetleniem jego wartości na LCD. TNCT0 to rejestr licznika T0, który w mojej konfiguracji zlicza impulsu wejściowe na T0. 8-bitwa zmienna po konwersji wyświetlana jest jako wartości większe niż 255. Kod który to realizuje to: na początku deklaracje zmiennych: itoa(licznikT0, wynik,...

    Mikrokontrolery AVR   16 Lut 2015 20:07 Odpowiedzi: 7    Wyświetleń: 1146
  • [Bascom] Odmierzanie setnych sekund na Atmega8 z zewnętrznym kwarcem 4/8MHz

    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...

    Mikrokontrolery AVR   14 Cze 2009 20:05 Odpowiedzi: 4    Wyświetleń: 3529
  • Sterownik rolet z funkcją półotwarcia - wersja 2.

    W takim razie: w jak sposób i w którym miejscu następuje podłączenie głównego pliku irmp.c z poziomu irmp.h? W źródłach IRMP są przykłady jak używać z konkretną rodziną procków. irmp_get_data Powyższy plik mógłby być po prostu bazą dla twoich funkcji. Najważniejsze oczywiście jest to, że irmp.c musi być poddane kompilacji a potem linkowaniu. W tej...

    DIY Konstrukcje   18 Paź 2019 10:39 Odpowiedzi: 10    Wyświetleń: 5145
  • ATmega2560 - przerwania timera1 nie działają, dioda nie gaśnie po 1 sekundzie

    Cześć, mam napisać "prosty" program dla ATmegi2560. Po wciśnięciu przycisku na porcie A, ma on zapalić odpowiadającą mu diodę na porcie B. Dioda ma się świecić 1 sekundę a potem ma zgasnąć. Za podtrzymanie świecenia mają odpowiadać przerwania timera1, a program ma się zaczynać od ustawienia flagi przerwania int0. Int0 działa, po wciśnięciu przycisku...

    Mikrokontrolery AVR   30 Lis 2015 22:10 Odpowiedzi: 9    Wyświetleń: 1086
  • Atmega328 - Jak zmierzyć czas trwania impulsu wtrysku samochodowego?

    Witam. Rozumiem, że działa to tak: Timer cały czas zlicza czas... 1. Gdy zbocze jest narastajace, przepisuje aktualna wartość timera do zmiennej zbocze1. 2. Zmieniam aby teraz reagował na zbocze opadające. 3. Gdy zbocze jest opadające , przepisuje aktualną wartość timera do zmiennaj zbocze2. albo raczej: 1.Gdy zbocze jest narastajace, zeruję zawartośc...

    Mikrokontrolery AVR   25 Sie 2016 09:37 Odpowiedzi: 8    Wyświetleń: 2022
  • Zegarek na LCD i atmega8 ,brak precyzji...i Timer'ów.

    Można za jego pomocą generować przerwania co 1 s przy wykorzystaniu kwarców 4,8,12,16 MHz. Tak, lecz wymaga to wpisania do timera wartości początkowej <>0 Np przy kwarcu 4MHz na timerze 1 z prescalerem 64 trzeba do timera wpisać wartość początkową 3036. Zaś przy kwarcu 8MHz z prescalerm 256 wartość początkowa to 34286. Za pomocą doboru wartości...

    Mikrokontrolery   22 Wrz 2007 16:04 Odpowiedzi: 38    Wyświetleń: 5713
  • [C] ATMega8 - Timery i przerwania nie działają w kodzie C, WinAVR 20100110

    To właśnie zostało uruchomione - musi działać. Pisane pod WinAVR [syntax=c] #define SET(port, bit) port|=(1<<bit) #define RESET(port, bit) port&=~(1<<bit) #define NOT(port, bit) port^=(1<<bit) //Przerwanie wywolywane 100 razy na sekunde ISR(TIMER1_COMPA_vect)// == SIG_OUTPUT_COMPARE1A { NOT(PORTD,PD6); } int main (void) { SET(DDRD,PD6);...

    Mikrokontrolery AVR   20 Maj 2011 18:47 Odpowiedzi: 14    Wyświetleń: 2169
  • Stabilizacja pomiaru częstotliwości na ATmega16 z użyciem timerów 0 i 1

    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...

    Mikrokontrolery AVR   02 Sty 2012 12:40 Odpowiedzi: 38    Wyświetleń: 4691
  • [Atmega] Atmega: Timer1 CTC przycina się przy zmianie OCR1A z ADC, silnik staje

    Witam, Mam problem z timerem1 - timer pracuje w trybie CTC (4), wartość wpisywana do rejestru OCR1A jest wcześniej odczytywana z przetwornika ADC (potencjometr). Problem występuje podczas zmiany tej wartości - timer tak jakby się przycinał (ale tylko czasami) - nie zgłasza przerwania przez pewną chwile, żeby zaraz zacząć normalnie pracować. Np. po takiej...

    Mikrokontrolery AVR   11 Paź 2009 18:53 Odpowiedzi: 3    Wyświetleń: 5302
  • [AVR] ATMega ATTiny 0-Series, 1-Series uwagi ogólne

    Tym razem uwaga na temat taktowania timera B. Timer B ma bardzo zubożony dzielnik zegara gdyż may tylko opcję dzielenia przez 2 lub braku dzielenia. Alternatywą może być taktowanie zegarem zapożyczonym z Timera A, (sygnał pobierany zza dzielnika Timera). This peripheral uses the system's peripheral clock CLK_PER. The peripheral has its own local prescaler,...

    Mikrokontrolery AVR   16 Sty 2023 00:57 Odpowiedzi: 10    Wyświetleń: 2313
  • Różnice w odmierzaniu czasu na ATmega16 z timerem1 i preskalerem 1024/256

    Witam dopiero zaczynam przygodę z programowaniem mikrokontrolerów i mam pytanie odnośnie odmierzania czasu na uc atmega 16. Odmierzam czas przy pomocy timera1 kwarc 16MHz. Z obliczeń wynika, że przy preskalerze 1024 muszę odliczyć 15625 impulsów więc ładuję do timera wartość 49911 i wtedy uc odmierza mi około 4 sekund zamiast 1, natomiast gdy prescaler...

    Mikrokontrolery AVR   21 Gru 2009 12:52 Odpowiedzi: 1    Wyświetleń: 1344
  • [ATmega1284P] Timer1 przerwanie co BPM - błędne ustawienia preskalera?

    Zwracam się z prośbą o naprowadzenie co robię źle. Potrzebuje wygenerować przerwanie co czas zależny od danego parametru (tutaj BPM). ATmega1284P pracująca z zegarem 20MHz. Ustawiam BPM i wyliczam czas: [syntax=c]uint8_t bpm = 120; uint8_t step_time = 60000/(2*bpm); //czas trwania 8ki w ms uint8_t count = 0; //zmienna pomocnicza do zliczania przerwan[/syntax]...

    Mikrokontrolery AVR   18 Kwi 2012 20:04 Odpowiedzi: 1    Wyświetleń: 971
  • ATmega32 - Licznik impulsów Timer0 i Timer1 ustawienie

    Witam, mam problem z uruchomieniem programu do zliczania impulsów na T1 przez 1 sekundę. Wyświetla mi ciągle zero. Co źle ustawiłem z Timerami ?? Atmega 32 [syntax=c] #define F_CPU 1000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <hd44780.h> volatile unsigned char licznik = 0; //liczba...

    Mikrokontrolery Początkujący   29 Mar 2013 22:18 Odpowiedzi: 15    Wyświetleń: 5724
  • Sterowanie PWM Atmega8 i IRFP064 - niskie napięcie i grzanie MOSFET-a

    Witam Forumowiczów Jeśli dział niewłaściwy proszę o przeniesienie;) Mój problem polega na tym iż chciałbym za pomocą pwm-a zawartego w mikroprocesorze Atmega8 wysterować powiedzmy żarówkę (lub cokolwiek innego) ze zmiennym napięciem regulowanym pwm. A mianowicie wszystko gotowe poskładane i tu mały problem. Atmega kwarc 16MHz, timer 8bit , prescaler...

    Początkujący Elektronicy   15 Lut 2015 13:47 Odpowiedzi: 8    Wyświetleń: 1281
  • Wpisywanie wartości do tablicy, ATmega16 - jak wykonać?

    Witam serdecznie. Z racji chwili wolnego czasu piszę sobie kod do odbiornika IR na ATmega16. Korzystam ze scalonego odbiornika TSOP1736. O tym jak wygląda kodowanie sygnału w przypadku pilota do telewizora firmy Philips dowiedziałem się ze strony #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdint.h>...

    Mikrokontrolery AVR   29 Sty 2010 14:16 Odpowiedzi: 2    Wyświetleń: 1252
  • ATmega8/ADC/przerwanie - uC nie wchodzi w procedurę przerwania

    Chwila. Timer bez preskalera, częstotliwość procesora nieznana, załóżmy, że 1 MHz (nieistotne). Timer zgłasza przerwanie co 21 cykli zegara, czyli ATmega zajmuje się na okrągło obsługą przerwań timera, nie mając szans obsłużyć żadnych przerwań o niższym priorytecie (ADC). Tak, timer był ustawiony na 1 MHz (było to wpisane w komentarzu prescalera dla...

    Mikrokontrolery AVR   20 Sty 2013 16:02 Odpowiedzi: 8    Wyświetleń: 2223
  • ATmega8 - Timer w trybie CTC i wykorzystanie przerwań.

    Problem rozwiązany, zmieniłem tylko przerwanie które muszę włączyć, na compare i wektor do niego. Dzięki za pomoc :) Wstawiam tu kod, jeśli ktoś miałby taki problem jak ja, to może dojdzie co zrobić po kolei aby zadziałało ;) Czas jaki led ma migać ustawiłem programowo na wypełnienie 10% co daje jedno mignięcie 200ms i 1800ms przerwy. [syntax=c] /*...

    Mikrokontrolery AVR   12 Sty 2014 10:47 Odpowiedzi: 9    Wyświetleń: 6882
  • Atmega 328P - Timer 0 zbyt mała częstotliwość do multipleksowania

    Witam! FµC=8 MHz , prescaler = 1024. Timer 0. Wychodzi częstotliwość: 7812.5 Hz = 7.8125 kHz. Wyświetlacz 7 segmentowy 4 cyfrowy migocze właśnie przy takiej częstotliwości. Dopiero przy preescalerze 64 jest OK. Czy to jest normalne? Przecież już przy 4 * 50 Hz = 200 Hz nie powinno migotać. :/

    Mikrokontrolery AVR   27 Wrz 2014 14:42 Odpowiedzi: 5    Wyświetleń: 1035
  • Miernik częstotliwości 0-120Hz na ATmega8 – ocena schematu i kodu BASCOM

    ] Gdybym chciał jednak mierzyć załóżmy do 1kHz to wymaga aby zliczać przepełnienia? Dlatego napisałem..."Nie znaczy to jednak..." w złym obliczeniu 1 sek wartość wynosiła 61630, przy prawidłowym obliczeniu wynosi 34 286 uwzględniając czas 1sek, częstotliwość taktowania 8MHz i prescaler 256. Przecież czas (1 sec.) odmierzasz timerem0, który jest 8-bitowy...

    Mikrokontrolery AVR   09 Mar 2014 23:03 Odpowiedzi: 29    Wyświetleń: 3036
  • Atmega 16: Timer2 blokuje Timer0 przy wyświetlaniu na 7-segmentowych wyświetlaczach

    Dzięki, już działa. Wiedziałem, że mogę liczyć na forumowiczów :] ... Chociaż może nie do końca, bo teraz tylko timer 2 działa ;/ a 0 stoi. [syntax=c]void Timer0Init(void) { TCCR0 = 1<<CS01|1<<CS00; // Prescaler 64 TCNT0 = 128; // ~ 1.0 ms TIMSK |= 1<<TOIE0; // odblokowanie przerwania od licznika } void Timer2Init(void) { TCCR2 = 1;...

    Mikrokontrolery AVR   30 Sie 2011 22:58 Odpowiedzi: 11    Wyświetleń: 1483
  • ATmega88 - UART zakłóca działanie programowego PWM dla serwomechanizmu

    Poprawiłem kod żeby był czytelniejszy i nieco go skomentowałem: [syntax=c] /* układ ATmega88pa-pu 8MHz */ #define F_CPU 8000000 #define BAUD 9600 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdint.h> #include <stddef.h> #include <avr/interrupt.h> #include <util/setbaud.h> volatile...

    Mikrokontrolery AVR   15 Mar 2012 11:28 Odpowiedzi: 5    Wyświetleń: 1795
  • [ATmega8] ATmega8 Bascom: Jak użyć Timer0 do opóźnienia zapalenia LED?

    Udało mi się odpalić program z książki Pana Wiązani, ale tam timet odmierza 1s Jak to przeliczyć? Jest jakiś na to wzór? Rzeczywiście musiało się 'udac odpalić' bo ten program nie jest pozbawiony błędów (!) \ A jak zrobić żeby odmierzał np 10 sekund? Zmiana preskalera wydłużyła max do 2sekund czas. Aby timer1 odmierzył inne/dowolne interwały czasu,...

    Mikrokontrolery Początkujący   10 Cze 2013 12:08 Odpowiedzi: 19    Wyświetleń: 3483
  • Jak zintegrować ADC z TIMER2 w ATmega32 do próbkowania 8kHz w AVR Studio 4?

    Teraz masz prescaler ADC ustawiony tak że zegar ADC ma 125kHz. Zegar ADC- a nie inne zegary. Zegar ADC ma mieć 50-200kHz. Jak Ci mniej zależy na dokładności niż na szybkości- można dać zegar ADC na 250kHz. A oprócz tego- możesz zrobić tablicę albo bufor dla UART-a.

    Mikrokontrolery AVR   13 Lis 2011 15:02 Odpowiedzi: 21    Wyświetleń: 3390
  • Dlaczego ATmega16 z preskalerem 1024 odmierza 4 sekundy zamiast 1?

    Witam dopiero zaczynam przygodę z programowaniem mikrokontrolerów i mam pytanie odnośnie odmierzania czasu na uc atmega 16. Odmierzam czas przy pomocy timera1 kwarc 16MHz. Z obliczeń wynika, że przy preskalerze 1024 muszę odliczyć 15625 impulsów więc ładuję do timera wartość 49911 i wtedy uc odmierza mi około 4 sekund zamiast 1, natomiast gdy prescaler...

    Mikrokontrolery AVR   22 Gru 2009 02:41 Odpowiedzi: 6    Wyświetleń: 2963
  • [AVR] Jak skrócić czas odczytu 15 czujników DS18B20 na ATmega?

    Tak czytam i mam wrażenie ze te czujniki chcesz odczytać jeden po drugim co 10s, nie lepiej będzie odczytywać grupami np. po 3 czujniki co 2s? Czujnik obsługuję z pomocą timera:[syntax=c]ISR(TIMER0_COMP_vect)// przerwanie do timera sprzetowego { if( czas_konwersji ) czas_konwersji--; // jeżeli większy od zera, zmieszaj go aż osiągnie 0; } // definicje...

    Mikrokontrolery AVR   07 Sty 2014 16:21 Odpowiedzi: 47    Wyświetleń: 7872
  • Synchronizacja Bascom, mega8535, LED 7-segment, DS1307, DS1820, ULN2008

    Witam Wyświetlacz musisz zrobić w przerwaniu. Częstotliwość odświeżania każdego powinna wynosić minimum 50Hz. Lepiej unikać dokładnej częstotliwości 50Hz. Może to być np. 53.5Hz. Jeśli ma np. 4 takie kostki to częstotliwość powinna wynieść 4 * 53.5Hz czyli 214Hz lub jak kto woli przerwanie powinno być wywoływane co 4,67 milisekundy. Od tego bym zaczął....

    Mikrokontrolery   01 Sie 2006 08:50 Odpowiedzi: 6    Wyświetleń: 2234
  • [bascom] atmega8 wykorzystane 3 liczniki, timer2 zakłóca PWM

    Tylko mam pytanie bo nie jestem pewien, przy kwarcu 32.768kHz przepełnienie licznika odbywać się będzie równo co 1s ?? Co zrobić żeby przerwanie z przepełnienia było co 0.25s ?? Ustawić odpowiedni prescaler.Ponieważ timer jest 8'bitowy to przerwanie z prescalerem równym 1 będzie wywoływane 128 razy na sekundę. w M8 na T2 masz dostępne prescalery 1,8,32,64,128,256,1024....

    Mikrokontrolery   18 Maj 2011 08:48 Odpowiedzi: 2    Wyświetleń: 2516
  • Atmega644PA - Obsługa przerwania, multipleksowanie ADC

    dobra mam, rozumiem już wszystko, chociaż te diody dziwnie się zachowują, w pierwszym cyklu pali się pierwsza, następnie podczas świecenia pierwszej zapala się na sekundę trzecia, potem trzecia gaśnie i pierwsza pali się przez sekundę, gaśnie, zapala się druga, gaśnie, zapala się trzecia, potem normalnie pierwsza, druga trzecia zapalają się i gasną...

    Mikrokontrolery   10 Sty 2016 16:07 Odpowiedzi: 53    Wyświetleń: 2871
  • AtMega 324/644/1284 - reset mikrokontrolera po odblokowaniu przerwań

    Witam, Mam problemz AtMega z tematu. Ustawiam konfigurację Timerów wg manualki: tryb CNC; prescaler; zezwolenie na przerwania CompareMatch. Po ustawieniu tego odblokowuję przerwania przez "sei();" i.. procesor się resetuje. Dodam też, że taki sam kod działa bez problemów na AtMega 16/32/64. Czy przy pisaniu kodu na te procesory (324/644/1284) trzeba...

    Mikrokontrolery AVR   11 Lis 2015 17:52 Odpowiedzi: 6    Wyświetleń: 1284
  • [BASCOM] ATmega644PA-AU - dziwne zachowanie przy $crystal=12000000 w BASCOM

    Dla mnie byka masz w przerwaniu timer0=1023 ? Ten zegar jest 8bitowy więc brana jest pod uwagę wartość młodszego bajtu w tym przypadku 255, Przepełnienie zegara następuje po jednym impulsie taktującym timer0 czyli po 1024 impulsach zegarowych (prescaler) nie masz tam 5s tylko $crystal/1024 . W przerwaniach unikał bym wywołania call i if . Ustaw flagę...

    Mikrokontrolery AVR   15 Cze 2016 13:08 Odpowiedzi: 29    Wyświetleń: 1068
  • Atmega328P Timer1 z przerwaniem Input Capture - ustawienie licznika

    Patrzę też, że u Ciebie występuje niepokojąca manipulacja konfiguracją ICP w obsłudze od przepełnienia. W obsłudze od przepełnienia mam tylko konfiguracje timera gdyby był zanik sygnału.. Tak zwany "timeout" gdy nastąpi pod rząd ponad 10 przepełnień timera (400ms) a ICP tego nie skasuje bo brak sygnałów to ustawia timer na zbocze narastające i ustawia...

    Arduino   06 Maj 2020 19:32 Odpowiedzi: 2    Wyświetleń: 795
  • Jak uzyskać dane czasu i daty z RTC w ATmega8L?

    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...

    Mikrokontrolery AVR   24 Sty 2009 19:55 Odpowiedzi: 17    Wyświetleń: 5426
  • Konfiguracja przerwań TIMER0 na ATmega16

    Mam problem z uruchomieniem przerwania, kombinowałem wiele razy z różnymi ustawieniami jednak nie obserwuję zmian na porcie PD7, PWM na porcie PB3 działa (przebiegi obserwowane na oscyloskopie). Mikroprocesor to ATmega 16 taktowana z kwarcu 16 MHz. Może ktoś zerknie świeżym okiem i doradzi. #define F_CPU 16000000 #include #include #include #include...

    Mikrokontrolery AVR   21 Kwi 2024 20:25 Odpowiedzi: 9    Wyświetleń: 456
  • Bascom Atmega16 - Odliczanie czasu pomiędzy impulsami.

    W Bascomie jest do tego specjalna instrukcja Zaglądnij do Helpa na polecenie Pulsein Zauważ że zarówno instrukcja pulsein jak i pulseout mierzy tylko czas trwania impulsu a nie całego cyklu; patrz paniżej diagram: http://obrazki.elektroda.pl/1148630500_1... Zmierzysz tylko L1 albo L2 . Autor potrzebuje zmierzyc czas L (czas pomiędzy...

    Mikrokontrolery AVR   30 Sty 2015 05:05 Odpowiedzi: 29    Wyświetleń: 3876
  • [Atmega88][Bascom] - przerwanie zegarowe i odmierzanie czasu

    Dla kwarcu 4MHz jest to prescaler 64 i początkowa wartość licznika: 193 Dla kwarcu 8MHz prescaler to: 64 i początkowa wartość licznika: 131 To pokazuje kalkulator. Chciałoby się zakrzyknąć : a nie mówiłem :-P Aby wpisać do Timer2 początkową wartość, to używamy poleceń: TCNT2=początkowa_wartosc Timer2= początkowa_wartosc Counter2=początkowa_wartosc...

    Mikrokontrolery AVR   20 Sie 2009 22:06 Odpowiedzi: 19    Wyświetleń: 4473
  • Bascom Timer0 - brak 100us impulsów przy kwarcu 16MHz i prescalerze 64

    Witam, Nie będę zakładał nowego tematu. Mam podobny problem. Atmega 2560 + 16Mhz. Przy tym ustawieniu timera przerwanie powinno być generowane co 0,5s. Natomiast jest generowane co 1s. 256/16000000= 16us*65536=1,048576s 65536-31250=34286 co daje 0,5s [syntax=basic4gl] $regfile = "m2560def.dat" $crystal = 16000000 Config Portg.5 = Output : Portg.5 =...

    Mikrokontrolery   02 Sie 2013 16:17 Odpowiedzi: 7    Wyświetleń: 1488
  • [Atmega 8] [Atmega 8][GCC][VMLab] - Timer w symulatorze działa za szybko, jak to naprawić?

    Program ma dużo błędów i jest źle napisany. Po pierwsze nie wiem w jakim celu używasz pętli while. Po drugie nie wiem jakie jest taktowanie procesora (zakładam że 1MHz a nie 1 000 000MHz :) ). Do takiego zadania wybrałbym prescaler timera0 na maksa (1024), i nie skracał cyklu. Wtedy miałbym przerwanie o częstotliwości ok. 3,8Hz (co ok. 0,26 sekundy)....

    Mikrokontrolery AVR   19 Sty 2014 09:10 Odpowiedzi: 14    Wyświetleń: 2019
  • BTM112 - Jak sprawdzić status połączenia Bluetooth między ATmega32A i ATmega8L?

    Witam Czy istnieje w modułach bluetooth coś w stylu flagi nawiązania połączenia tzn. master zapala flagę gdy sparuje się ze slavem, a gasi ją gdy połączenie zostanie przerwane? Program miałby działać tak: Po nawiązaniu połączenia między mikrokontrolerami (ATmega32A i ATmega8L) za pomocą nadajników bluetooth przesyłany jest ze slave'a do mastera klucz...

    Mikrokontrolery Początkujący   20 Mar 2017 22:37 Odpowiedzi: 13    Wyświetleń: 1275
  • [Atmega169p] [Atmega169p][C] Wysoki pobór prądu w trybie uśpienia z LCD i Watchdogiem

    Witam Buduje urządzenie zasilane bateryjnie oparte na atmega169p. Procesor jest zasilany z około 2.6V i pracuje na zewnętrznym oscylatorze 1.8432MHz. Procesorem wysterowuje wyświetlacz LCD (4 wspólne + 12 segmentów). Problemem jest pobór prądu w czasie uśpienia procesora. Nie mogę zejść poniżej 100uA w power save mode. Brownout i debug mode wyłączone....

    Mikrokontrolery AVR   26 Lut 2009 15:41 Odpowiedzi: 4    Wyświetleń: 1157
  • Atmega644pa - Timer1 nie odmierza równo 1 sekundy w trybie CTC

    Pomysł pierwszy: zapisz poprawny wzór na zawartość rejestru okresu OCR #define PERIOD (F_CLK / PRESCALER) Pomysł drugi: załaduj poprawną wartość: OCR1A = PERIOD - 1; Pomysł 3: Takie użycie przerwania kompletnie nie ma sensu. Wyłącz przerwanie i testuj znacznik timera z rejestru TIFR w pętli głównej. Pomysł 4: Zamiast printf użyj czegoś prostszego -...

    Mikrokontrolery AVR   18 Wrz 2013 14:49 Odpowiedzi: 15    Wyświetleń: 2952
  • [atmega8][bascom] O co chodzi tak na prawdę z tymi timerami?

    Witam! Mam pytania: jak w praktyce zastosowac timery? Jak one działają? W którą stronę zliczają? Jak zczytac ich stan? Do ilu mogą zliczać? chciałbym, aby ktoś wytłumaczył mi to na przykładzie Atmegi8 i języka Bascom. Wiem już że: -Timery zliczają impulsy które same generują wg. prescalera -Prescaler to taki dzielnik, który bierze jakąś część taktowania...

    Mikrokontrolery AVR   29 Paź 2008 20:50 Odpowiedzi: 5    Wyświetleń: 2681
  • Konfiguracja timerów w Atmega8 - timer1 nieprawidłowo odlicza czas

    Dla powyższego przykładu wartość dla Timera1 powinna być 7999. 1000ms/800ms=1,25Hz *100=125Hz (clock speed 8000000Hz / (prescaler 8 * częstotliwość 125Hz)) - 1 = 7999 lub dla prescalera 256 wartość wpisywana do licznika 24999 da przerwanie co 0,8s EDIT: Ta linijka coś nie pasuje If Ms1 = 80 Then nie powinno być 100 zamiast 80 EDIT2: A, żeby nie było...

    Mikrokontrolery AVR   05 Paź 2011 14:08 Odpowiedzi: 7    Wyświetleń: 3092
  • Atmega328P - Jak zatrzymać właściwie Timer 2 w trybie CTC

    Timer 2 ma ustwienia prescalera na 1 i rejestru porównawczego na 7 Zacznijmy od tego: timer w trybie CTC, preskaler 1, OCR2A=7, czyli przerwanie co 8 taktów zegara, a ile taktów trwa procedura obsługi tego przerwania? Samo wejście i wyjście z procedury zajmuje więcej czasu.

    Mikrokontrolery AVR   24 Lut 2015 22:24 Odpowiedzi: 7    Wyświetleń: 2022
  • [Atmega16] BASCOM szybki obrotomierz motocyklowy na INT0

    Jak zmusić diodę alarmu do migania nie używająć procedur waitms ? Mam teraz zrobine tak: Używasz Timer0 jako pewnego rodzaju 'swoisty' prescaler: (4 ms; 100 ms; i 1 sec). Dlaczego okazyjnie nie wykrzystać tych 100 ms na miganie diodą? Wstaw tą wyżej procedure (troche zmodyfikowana - zamiast "set Porta.5" daj "toggle") w przerwaniu timera0 w miejscu...

    Mikrokontrolery AVR   24 Lip 2011 11:23 Odpowiedzi: 95    Wyświetleń: 17517
  • [AVR] Nieaktywny Auto Trigger ADC na ATmega168 przy użyciu Timer0 w trybie CTC

    Witajcie, Problem powinien być trywialny a nie jest. Dotychczas stosowałem auto trigger ADC na ATtiny13 i działało to przewidywalnie według datasheeta, ale kod przeniosłem na ATmege168 i działać przestało, mimo że wszystko ustawione według dokumentacji. Po krótce: - uruchamiam timer0 w trybie CTC by zdarzenie Compare Match A zachodziło co 250us (4kHz),...

    Mikrokontrolery AVR   16 Gru 2020 20:52 Odpowiedzi: 19    Wyświetleń: 504
  • Jak ustawić timer0 na 15ms w ATmega128 na podstawie kodu z ATmega16?

    Hmm on niby jest na atmega16, a ja chcę to przerobić na atmega128...w ogole zauwazylem ze u mnie wyswietlanie na LCD jest uzaleznione od...opoznien czasowych. np tu tak jest...albo załóżmy że przed wyswietleniem jakiegoś napisu (całej procedury wyswietlania itd) dam opoznienie np 5ms to juz nie wyswietli, a jak w ogole nie dam albo dam jakieś 44us to...

    Mikrokontrolery   19 Sie 2006 12:48 Odpowiedzi: 4    Wyświetleń: 1722
  • Bascom AVR - Dekodowanie części jawnej z układów HCS200/301

    Robi się to prosto na wejściu ICP Atmegi, mierzysz czas pomiędzy kolejnymi zboczami, raz jest opadające, raz narastające itd.. potem to tylko interpretacja wyników, liczenie bitów i po odliczeniu 64 bitów z transmitowanych 66, bo dwa ostatnie dla uproszczenia procedury pomijasz. wyświetlasz na LCD lub wysyłasz po RS232 do komputera, a tam wyświetlasz...

    Mikrokontrolery AVR   12 Kwi 2018 10:43 Odpowiedzi: 40    Wyświetleń: 7116
  • ATMega16 PWM: Jak ustawić impuls 20 ms z wypełnieniem 1-2 ms?

    ; ========================================... sterowanie PWM_1 ========================================... ; OC1A pracuje jako PWM (z korekcja fazy 8bit z częstotliwością =f/(2*pre*ICR1L) ; ustawiamy OC1 w tryb PWM z korekcja fazy ldi R16, 255 out ICR1L, R16 ; wpisujemy max wartosc zliczana timera T1 ldi R16, 128 ; wpisujemy wypelnienie dla PWM1A...

    Mikrokontrolery   18 Sie 2007 14:00 Odpowiedzi: 5    Wyświetleń: 6494
  • Atmega16L Timer0 i Watchdog - wpływ soft UART na reset po 950ms

    Witam Mam program który używa USART, ponieważ potrzebowałem jeszcze jednego portu UART, dołożyłem softwerowego UARTA i tu zaczeły się problemy z watchdogiem. Ustawienia watchdoga sa takie że robi restert jesli nie bedzie jego zerowania po około 2s, dopóki nie dodałem softwerowego uarta wszytsko było ok, ale po jego dodaniu reset procka nastepuje już...

    Mikrokontrolery AVR   18 Cze 2010 17:01 Odpowiedzi: 3    Wyświetleń: 891
  • [ATmega32U4][avr-gcc] - Typ zmiennej a jej wartość po petli while.

    Witam i proszę o wyjaśnienie, dlaczego jeśli zmienna x w funkcji main jest typu long int to po zakończeniu pętli while ma ona wartość mniejszą (66) niż jeśli jest typu int (86). Dzięki. [syntax=c] volatile uint8_t timer1; ISR (TIMER0_COMPA_vect){ uint8_t x = timer1; if (x) timer1 = --x; } int main (void) { TCCR0A |= (1<<WGM01);//tryb CTC TCCR0B...

    Mikrokontrolery Początkujący   14 Lis 2014 13:04 Odpowiedzi: 4    Wyświetleń: 948
  • Atmega32+biblioteka IRMP do odczytu pilota IR prośba o pomoc

    Witam, bardzo proszę o pomoc. Zrobiłem układ na Atmega32 z podłączonymi diodami do całego PortuA, oraz do PortuB Pin2 (PB2) dekoder podczerwieni TSOP31236 (testowałem też na TSOP31238). Wykorzystać chciałem bibliotekę IRMP https://obrazki.elektroda.pl/6945425800_... a w załączniku spakowany cały projekt z plikami biblioteki irmp.

    Mikrokontrolery Początkujący   08 Cze 2021 18:07 Odpowiedzi: 2    Wyświetleń: 588