atmega8 przerwanie timer

Znaleziono około 2277 wyników dla: atmega8 przerwanie timer
  • [Atmega8][assembler] Przerwanie z timera 0 nie działa

    Bo jak ma działać? Widać kolega nie do końca rozumie mechanizm przerwań, skoro czeka na przerwanie INT0, a włącza przerwanie przepełnienia Timera0. Adresem przerwania przepełnienia Timera0 jest OVF0addr, a nie INT0addr. Przerwanie od INT0 wyzwalane jest ZEWNĘTRZNIE zboczem lub stanem na fizycznym wejściu INT0 mikrokontrolera, a nie Timerem. Skąd ten...

    Mikrokontrolery AVR   07 Lis 2010 06:58 Odpowiedzi: 2    Wyświetleń: 2416
  • [C] Czy obsługa microswitcha na ATmega8 w przerwaniu timera jest poprawna?

    Debouncing można wykonywać na wiele sposobów. Twój sposób jest jak najbardziej poprawny. Ta bezsensowność jest tylko z pozoru bezsensowna :) - jakoś trzeba poinformować main(). Taka technika jest powszechnie stosowana nie tylko do debouncingu. Pamiętaj także, że zawsze możesz na końcu while() w main() uśpić mikrokontroler do następnego przerwania -...

    Mikrokontrolery AVR   21 Sie 2011 02:23 Odpowiedzi: 2    Wyświetleń: 8470
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Dlaczego przerwanie timera w ATmega8 nie działa? Dioda na PB1 nie świeci

    To co sugerowal Tajwoj - źle ustawiłeś preskaler, powinno być: TCCR0 = 0b00000101;

    Mikrokontrolery   21 Kwi 2005 20:07 Odpowiedzi: 18    Wyświetleń: 10040
  • REKLAMA
  • [ATmega8][BASCOM] Przerwania z timera a odczyt z UARTa

    Config Serialin = Buffered , Size = 80 Enable Interrupts Dim _Flaga_1s as Bit _Flaga_1s = 0 Config Timer1 = Timer , Prescale = 64 Enable Timer1 : On Timer1 Co1s Cls Do If Ischarwaiting() = 1 Then Znak = Inkey() Print Chr(znak) ; End If if _Flaga_1s = 1 then ' ------> a tutaj wyświetlaj już sobie spokojnie co chcesz co...

    Mikrokontrolery AVR   21 Sie 2008 10:59 Odpowiedzi: 4    Wyświetleń: 3124
  • [ATMEGA8] ATMEGA8 C - Przerwanie co 1s przy 16MHz i preskalerze 1024 nie działa poprawnie

    bierzesz pod uwagę nie to przerwanie. zobacz czasy dla TIMER/COUNTER1 OCR1A Compare Match

    Mikrokontrolery AVR   28 Kwi 2011 17:38 Odpowiedzi: 13    Wyświetleń: 3975
  • ATmega8 - Timer w trybie CTC i wykorzystanie przerwań.

    [syntax=C]// enable timer1 interrupts TIMSK |= (1<<TOIE1); [/syntax] Wybierasz tryb CTC, a włączasz przerwania od przepełnienia, które w trybie CTC wystąpi tylko dla maksymalnej wartości OCR1A. Dlatego nie działa. Włącz odpowiednie przerwanie i będzie ok.

    Mikrokontrolery AVR   12 Sty 2014 10:47 Odpowiedzi: 9    Wyświetleń: 6876
  • Dlaczego przerwanie przepełnienia timera 0 nie działa na Atmega8 w avr-gcc?

    wiesz... coś mi chodzi po głowie, że przy którejś wersji gcc albo avr-libc nastąpiły jakieś zmiany nazewnictwa procedur obsługi przerwań. Głowy nie dam że tak było, ale w każdym razie u mnie procedura obsługi od przerwania pochodzącego od przepełnienia timera 0 nazywa się: ISR (TIMER0_OVF_vect) { ... } A druga rzecz, to z całą pewnością...

    Mikrokontrolery   08 Mar 2011 14:44 Odpowiedzi: 18    Wyświetleń: 3114
  • [Atmega8] [Atmega8][C] Przerwanie INT0 nie działa, INT1 i TIMER działają poprawnie

    Nie pokazałeś całości, a problem może właśnie tkwić w rzeczach, których nie pokazałeś. Ale kilka uwag - po pierwsze przyciski drgają, w efekcie nie dostajesz jednego przerwania tylko dziesiątki. Twoja procedura obsługi to eliminuje, bo jest strasznie długa, ale i tak co najmniej 2 razy zostanie wywołana. Przyciski jak rozumiem masz podciągnięte rezystorem?...

    Mikrokontrolery AVR   19 Sie 2010 10:24 Odpowiedzi: 4    Wyświetleń: 1642
  • [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ń: 2166
  • REKLAMA
  • [Atmega8] [Atmega8][Bascom] Jak ustawić timer 2-bajtowy na przerwanie co sekundę?

    Wojtek - wchodzisz tutaj: [url=http://www.frank-zhao.com/cache/avr... z kalkulatorem 16MHZ z preskalerem 1024 oznacza że: - 1 sekunda nastąpi po 15625 cyknięciach timera - przerwanie następuje przy przepełnieniu jeśli wybierzesz OVERFLOW, ale może tez nastąpić przy COMPARE, od tego zależy jaką wartość wpiszesz do timera (czy odejmiesz...

    Mikrokontrolery AVR   22 Lip 2012 23:39 Odpowiedzi: 47    Wyświetleń: 6197
  • Timer na Atmega8 w Bascomie - nie działa poza symulatorem, co sprawdzić?

    a jak dziala w "realu"? a powiedz mi jeszcze skad wiesz ze on wywoluje przerwanie co 1s?

    Mikrokontrolery   31 Sty 2007 08:08 Odpowiedzi: 14    Wyświetleń: 1885
  • [Atmega8] Atmega8 resetuje się po 260 µs przy użyciu przerwań w AVR Studio - dlaczego?

    Włączyłeś przerwanie od "Timer Compare" (OCIE1A) które nie jest obsłużone.

    Mikrokontrolery AVR   10 Paź 2009 10:05 Odpowiedzi: 8    Wyświetleń: 3440
  • atmega8, c - Przerwanie TIMER0_OVF_vect wykonuje się tylko raz, dlaczego?

    Musisz też załadować nową wartość do licznika timera.

    Mikrokontrolery Początkujący   09 Mar 2015 10:28 Odpowiedzi: 9    Wyświetleń: 1218
  • REKLAMA
  • 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).

    Mikrokontrolery AVR   20 Sty 2013 16:02 Odpowiedzi: 8    Wyświetleń: 2223
  • [Atmega8] Jak obsłużyć enkoder MOZ 30 z Atmega8? Podłączenie i pomiar napięcia wyjściowego.

    Ja bym zrobił na przerwaniu + timer.

    Mikrokontrolery AVR   09 Gru 2011 11:02 Odpowiedzi: 20    Wyświetleń: 6622
  • Przerwania ATmega8: Sleep w obsłudze timera a działanie ADC i CPU

    Jeśli chodzi o mechanizm przerwań, to wszystko masz ładnie opisane w formacie pdf na stronie Atmela . Wywoływanie przerwania w procedurze obsługi jeszcze innego to porażka. Przerwania są kolejkowane i po powrocie z jednego jest wywoływane drugie, dlatego procedury obsługi powinny być jak najkrótsze (polecam asm ;)). W procedurze timera możesz sobie...

    Mikrokontrolery   11 Lis 2005 20:08 Odpowiedzi: 3    Wyświetleń: 1623
  • Atmega8 AVRgcc - problem z przerwaniami USART i TIMERa, LED na PB1

    Ja bym napisał tak, jak w załaczeniu. Zmieniając wartość dla zmiennej Czas_led , można zmieniać czas świecenia ledki.

    Mikrokontrolery   22 Wrz 2005 08:45 Odpowiedzi: 8    Wyświetleń: 3125
  • Atmega8 timer i przerwanie INT1 - jak wstawić do programu?

    Pomimo iż posiadam już lekturkę, siedzę nad Timer'em1 w trybie licznika już 2 dni nie bardzo nadal wiem co i jak... nie wspomnę, że z trybem CTC też próbowałem. Zrób "po bożemu": - ustaw tryb CTC - ustaw OCR1A na 31250 (dla zegara 8MHz) - zmień wektor przerwania na TIMER1_COMPA_vect - wyrzuć z przerwania ustawianie TCNT1 i zostaw tylko PORTD ^= (1...

    Mikrokontrolery AVR   14 Maj 2012 07:12 Odpowiedzi: 40    Wyświetleń: 5692
  • [ATmega8] ATmega8: Obsługa diod i przerwań z timerami 1 i 2 w C - ćwiczenie z książki

    Nienawidzę czytać datasheetów... Ooojo joj ... to będzie bolesna droga przez mękę ta nauka programowania :( W książce mam napisane że do TCCR1B jest przypisany OCR1B, ale jak widać niezbyt to działa... No to hmmm książek też nienawidzisz czytać ? tak by wynikało skoro piszesz, że ktoś tak napisał w książce. Coś chyba mało uważnie czytałeś. Nikt tak...

    Mikrokontrolery Początkujący   20 Lip 2012 22:00 Odpowiedzi: 5    Wyświetleń: 1418
  • AVR ATmega8 Timer0 CTC – konfiguracja rejestrów do przerwania co 2ms

    Skoro 122 wywołuje zmianę stanu diody co sekundę, to gdy doliczysz do 0.244 to będziesz miał przerwanie co 2ms :D Pojedyncze przerwanie jest wołane co 8 milisekund. Albo zmień preskaler albo użyj innego timera i po ludzki włącz ctc

    Mikrokontrolery Początkujący   03 Kwi 2015 20:23 Odpowiedzi: 39    Wyświetleń: 3900
  • [atmega8][C] - timer - zapalanie diody na 10s po przyciśnięciu przycisku.

    1. Zaprogramuj timer w tryb CTC, np. na częstotliwość 100 Hz. W przerwaniu timera: - sprawdź, czy przycisk naciśnięty; jeśli tak - zapal diodę i załaduj wartość 1000 do zmeinnej - "timera programowego". - jeśli zmienna timera ma wartość różną od zera, zdekrementuj ją, a jeśli zdekrementowała się do 0 - zgaś diodę. Razem daje to 5 linii kodu w przerwaniu...

    Mikrokontrolery AVR   10 Wrz 2013 18:59 Odpowiedzi: 15    Wyświetleń: 3915
  • ATMEGA8, przerwanie INT0 nie działa poprawnie powyżej 18kHz, dzielnik f

    Ale w tym drugim wariancie nie korzystam z przerwań tylko z timera.

    Mikrokontrolery AVR   25 Kwi 2009 10:59 Odpowiedzi: 20    Wyświetleń: 3185
  • [C][ATmega8]Zmiana sekwencji programu button switch

    Przerwanie od INT0 powinno aktywować przerwania od timera, które co 50ms będą zmieniać stan portu c: INT0: - blokuj przerwania INT0 - licznik sekwencji na portc = 0 - aktywuj przerwanie timera INT TIMERA: - switch (licznik sekwencji) ..... w ostatnik case czy default: 1) blokuj przerwania timera 2) kasuj flagę INT0 3) włącz przerwania int0

    Mikrokontrolery AVR   01 Paź 2019 17:57 Odpowiedzi: 26    Wyświetleń: 1425
  • Jak uzyskać precyzyjne przerwanie 1 kHz na ATmega8 przy 16 MHz?

    Kwarc 16.384MHz i do tego timer z preksalerem 1024 w trycie CTC z przerwaniem co 16.

    Mikrokontrolery AVR   26 Cze 2016 16:44 Odpowiedzi: 32    Wyświetleń: 2823
  • [atmega8][bascom] 7seg LED sterowanie z PORTB i PoC <<

    Jakoś nie widzę żebyś tu korzystał z przerwania od Timera... Bo nie musisz ;p mogłbyś pokazać jakiś przykład obsługi przycisku w przerwaniu timera ? Nawet jakiś URL do innego projektu. Więc chyba oczywistym jest że ten fragment kodu należy umieścić w przerwaniu od Timera.

    Mikrokontrolery AVR   02 Lut 2009 21:18 Odpowiedzi: 18    Wyświetleń: 6654
  • [Atmega8] [Atmega8][Bascom] Sterowanie fazowe - problem z detekcją zera na MOC 3021

    W zasadzie co ten program robi? Bascom jest wolny- ale procesor wykonuje instrukcje co 0.125us przy tym zegarze. Załóżmy 1000 cykli w pętli- zajmie mu 125us policzenie stanów 0 na wejściu i co dalej? Od wykrycia 0 powinien zblokować na jakiś czas zmianę stanu, odliczyć czas w ms a nie w us i zmienić stan wyjścia. Timer i ewentualnie przerwanie.

    Mikrokontrolery AVR   28 Lut 2010 00:07 Odpowiedzi: 9    Wyświetleń: 2354
  • Atmega8 - Timer1 nie odlicza czasu przy kwarcu 16MHz i preskalerze 64

    Tak się nie robi. Myślę że ten timer się parę razy przepełni zanim obsłuży LCD. Ustaw timer tak aby wywoływał przerwanie przy danej wartości i w tym przerwaniu dodawaj jakąś zmienną o 1 i czyść licznik.

    Mikrokontrolery AVR   08 Gru 2014 22:35 Odpowiedzi: 7    Wyświetleń: 1065
  • [atmega8] [atmega8][C] Timer 2 przerwanie co 1ms, nie działa odmierzanie 1 sekundy

    Dzieki wielkie.

    Mikrokontrolery AVR   13 Cze 2010 07:44 Odpowiedzi: 3    Wyświetleń: 1772
  • [bascom][atmega8] czy napisany program bedzie działać?

    Gdy już usuniesz wewnętrzną pętlę do..loop to zwróć uwagę, że stan przycisku będzie sprawdzany raz na 60s. Możesz zrobić sprawdzanie np. tak (co 1 sek.): dim x as byte ... do 'sprawdź przyciski if x=60 then x=0 toggle ... end if wait1 incr x loop end Albo wykorzystać timer lub przerwanie.

    Mikrokontrolery AVR   24 Mar 2009 15:20 Odpowiedzi: 5    Wyświetleń: 1624
  • [atmega8][c] obsługa dwóch przerwań + odmierzanie czasu

    Nic sobie nie robi z naciskania guzika bo właśnie obsługuje przerwanie. Ja bym to zrobił w ten sposób. Przerwanie od czujki uruchamia jakiś timer i kończy się obsługa przerwania. Timer odmierza czas i po jego upłynięciu sprawdza jakąś zmienną i w zależności od niej uruchamia alarm bądź nie. I tak jeśli przed przyjściem przerwania z tego timera naciśnięty...

    Mikrokontrolery AVR   18 Wrz 2008 22:46 Odpowiedzi: 14    Wyświetleń: 2597
  • [ATMega8] [ATMega8][Bascom] Przerwanie timer0 nie ustawia Portd.4 na wysoki stan

    A może na zakończenie przerwania załadować wartość do timera???

    Mikrokontrolery AVR   10 Sty 2010 10:37 Odpowiedzi: 10    Wyświetleń: 2278
  • ATmega8 - Przerwania CTC - Dioda LED świeci za krótko i nie resetuje czasu

    1) Czas masz źle policzony, rzeczywiście wychodzi 2 sekundy :) Policz jeszcze raz, np: #define F_CPU 14745000ul #define TIMER_PRESCALE 1024 #define SECONDS(s) ((s)*(F_CPU)/(TI... 2) podpięcie przycisku pod przerwanie to pomyłka - poczytaj o eliminacji drgań styków 3) po wyłączeniu diody musisz zatrzymać...

    Mikrokontrolery AVR   07 Lis 2009 23:19 Odpowiedzi: 6    Wyświetleń: 1960
  • [Bascom] [Bascom][Atmega8] Jak wywołać przerwanie int0 do uruchomienia timer1?

    Tak po pierwsze to przerwanie masz domyślnie wzbudzane stanem niskim, czyli przerwanie wywołuje się W KÓŁKO dopóki na pinie panuje stan niski. Musisz je ustawić tak, by reagowało na zbocze (w Twoim przypadku opadające). Poza tym jak pisał (at)emarcus - cały program jest pisany bez zastosowania się do jakichkolwiek dobrych nawyków, a i jak widzę wiedza...

    Mikrokontrolery AVR   01 Paź 2011 17:22 Odpowiedzi: 3    Wyświetleń: 1510
  • Atmega8 - Odblokowanie globalnych przerwań hamuje pracę mikrokontrolera

    pomyliłes timery, zrobiłeś przerwanie od timera 2 a włączyłeś timer 1.

    Mikrokontrolery AVR   21 Lis 2011 20:57 Odpowiedzi: 12    Wyświetleń: 2483
  • Atmega8: Timer CTC nie wchodzi w przerwanie SIG_OUTPUT_COMPARE1A, co robić?

    Prawda (dokładnie 2^15 Hz). Tylko podłączasz go do TOSC2 i TOSC2 a preskaler nastawiasz na /128 co daje ci przerwanie co 1 sekundę.

    Mikrokontrolery   07 Lut 2006 21:05 Odpowiedzi: 4    Wyświetleń: 2409
  • [C][atmega8]wywołanie funkcji w przerwaniu,aby while(1)pusty

    Zasada jest taka, że podczas wykonywania przerwania, wszystkie inne przerwania są zablokowane (chyba, że się jawnie ponownie załączy przerwania, ale to wymaga kilku drobnych operacji aby nie przeładować stosu). Jeśli w pętli głównej jest wywoływane "rc5decode", to przerwanie ustawiające "timer_flag" będzie się wykonywać. Natomiast załączenie rc5decode...

    Mikrokontrolery AVR   04 Gru 2009 17:12 Odpowiedzi: 12    Wyświetleń: 3409
  • [ATMEGA8] Czy przerwania TIMER-a zakłócą transmisję RS232 1200 b/s?

    Witam! Chciałbym zrobić układ regulacji fazowej na owym procku. Chciałbym obsługiwać przerwania od TIMER-a co 100us. Dodatkowo przerwanie od detekcji zera- wystąpi jak wiadomo co 10mS. Czy układ RS232 będzie obsługiwany równolegle jeśli będzie pracował z prędkością 1200b/s, co odpowiada 1 znakowi/10 ms? Czy prędkość RS232 ma tu coś do rzeczy- czytaj,...

    Mikrokontrolery AVR   11 Paź 2012 18:32 Odpowiedzi: 14    Wyświetleń: 3494
  • [Atmega8][ADC] - Przetwornik ADC z przerwaniem nie działa

    Oj pomieszałeś :) Dwie możliwości: Pierwsza wersja (opisałem wyżej): 1. wyłącz Free Running 2. zostaw przerwanie ADC, 3. przed pętlą główną w main() wywołaj pierwszą konwersję, 4. w przerwaniu ADC wykonuj to, co aktualnie wykonujesz w przerwaniu + wystartuj kolejną konwersję. Druga wersja zaproponowana przez BlueDraco: 1. wyłącz Free Running 2. zostaw...

    Mikrokontrolery AVR   20 Cze 2014 12:47 Odpowiedzi: 10    Wyświetleń: 2649
  • [Atmega8] Jak generować 36kHz na Atmega8 z zajętymi kanałami PWM PB1 i PB2?

    To nie są przerwania na PB1, 2, 3, a sprzętowe wyjścia timerów. NA ATmega8 masz trzy wyjścia PWM - dwa z T1 i jedno z T2. Nie wiem, ilu w końcu potrzebujesz. Jednego powinieneś użyć do generowania 36 kHz, kolejnego (a może dwóch) do sterowania silnikiem. Czemu mają służyć te zabawy z przerwaniem timera i programowym machaniem nogą uC?

    Mikrokontrolery Początkujący   13 Sty 2016 13:57 Odpowiedzi: 13    Wyświetleń: 1572
  • Atmega8/Bascom - Problem z kodem multipleksowania LED i termometru DS18B20

    Timer w przerwaniu obsługuje wyświetlacz LED i inkrementuje zmienną byte, która w pętli głównej w instrukcji Case wybiera konkretne funkcjonalne fragmenty programu do wykonania, których wykonanie czasowo mieści się pomiędzy przerwaniami od timera. W przerwaniu od timera ustawia się także flaga przerwania, która uruchamia za pomocą If Then instrukcję...

    Mikrokontrolery Początkujący   31 Lip 2014 12:09 Odpowiedzi: 18    Wyświetleń: 3474
  • Zmiana kodu z Timer0 na Timer1 w ATmega8 - jak to zrobić?

    Moja uwzględnia czas, który upłynął od przerwania do załadowania timera. Może to mieć wpływ gdy wystąpi w tym samym czasie obsługa innego przerwania.

    Mikrokontrolery   20 Wrz 2008 16:55 Odpowiedzi: 15    Wyświetleń: 6221
  • [Atmega8] Jak zmierzyć czas stanu wejścia z dokładnością 100ms na Atmega8 w C?

    Timery zwykle- choć nie zawsze- są ściśle związane z przerwaniami. Może od tego zacząć?

    Mikrokontrolery AVR   06 Sie 2011 18:22 Odpowiedzi: 53    Wyświetleń: 7543
  • [Atmega8][C++] - ADC i wyświetlacz 7seg nie współpracują

    Wyłącz przerwanie ADC - bit ADIE nie powinien być ustawiony. W przerwaniu timera, kiedy zmieniasz licznik cyfr na 0, odczytaj ADC do zmiennej pomocniczej, a potem tę zmienną rozbij na cyfry. Nie rób tego w pętli głównej bez potrzeby w kółko. W pętli głównej tylko uśpij procesor. ((ADC % 1000) % 100) % 10 to dokładnie to samo co ADC % 10. Nie używaj...

    Mikrokontrolery Początkujący   09 Mar 2013 11:02 Odpowiedzi: 8    Wyświetleń: 2085
  • [atmega8][Bascom]Wyświetlanie liczb multiplesowo na wyś. LED

    Przykładów w necie jest od groma. Z częstotliwością co najmniej 50Hz musisz przełączać wyświetlacz i wartość podawana na niego. Najlepiej wykorzystać do tego przerwanie timera.

    Mikrokontrolery AVR   05 Maj 2010 21:02 Odpowiedzi: 15    Wyświetleń: 2953
  • [AVR][C][Atmega8]TIMER i Preskaler - błąd przy kompilacji

    Wpisz większą wartość do OCR1A, przerwanie wtedy musi wywoływać się rzadziej albo zrób tak jak czasami robię kiedy procek działa za szybko a potrzebuję mieć przerwanie rzadziej; zadeklaruj zmienną globalną, np: uint8_t licz = 0; SIGNAL(TIMER2_COMPA_vect) { licz++; if(licz >= 10) //liczba przykładowa, zależy jak często chcesz...

    Mikrokontrolery   05 Cze 2011 09:34 Odpowiedzi: 27    Wyświetleń: 5378
  • [C] [C][ATmega8] - Problemy z przerwaniem zewnętrznym i sterowaniem serwami

    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.

    Mikrokontrolery AVR   05 Wrz 2013 19:54 Odpowiedzi: 17    Wyświetleń: 3444
  • ATmega8 Timer0/Timer1 – jak ustawić prescaler, by uzyskać 1s przy 1MHz?

    symulator bascoma jest bardzo dokładny i liczy co do taktu. jeżeli program opiera sie na przerwaniach timera to należy włączyć okienko "Slim Timers" , wtedy symulacja trwa trochę dłużej ale bierze pod uwagę przerwania timera. co do compare1a to jest to rejestr poruwnawczy timera1. co takt zegara jest on poruwnywany z zawartościa timera (czyli licznika)...

    Mikrokontrolery   14 Mar 2006 21:13 Odpowiedzi: 27    Wyświetleń: 2855
  • Atmega8, Timer 1, kłopot z przerwaniami w trybie CTC

    Włączasz przerwanie od przepełnienia timer1, nie mając procedury jego obsługi. Włączasz także przerwanie od porównania z OCR1B i także nie masz obsługi tego przerwania. Takie podejście = kłopoty.

    Początkujący Elektronicy   13 Mar 2013 21:40 Odpowiedzi: 4    Wyświetleń: 1200
  • atmega8 - Nieprawidłowe działanie klawiszy po edycji kodu ISR TIMER0_OVF_vect

    Dzień dobry, Mam problem z klawiszami. Zedytowałem do własnych potrzeb fragment kodu znaleziony na http://mikrokontrolery.blogspot.com/ [syntax=cpp]ISR(TIMER0_OVF_vect) { sei(); static uint8_t stan_przyciskow_najstarszy , stan_przyciskow_stary , stan_przyciskow_nowy; stan_przyciskow_najstarszy = stan_przyciskow_stary; stan_przyciskow_stary = stan_przyciskow_nowy;...

    Mikrokontrolery AVR   30 Lis 2013 01:37 Odpowiedzi: 2    Wyświetleń: 1107
  • [AT90USB1287] Jak napisać prosty program z timerem w asm dla AT90USB1287?

    Programuję w ASM ale tylko Atmega8/16 więc wklejam ci taki przykład: [syntax=asm] .CSEG .org 0x0000 //poczatek deklaracji skokow dla przerwan rjmp _poczatek reti reti reti reti reti reti reti reti rjmp _150_timer0 //przerwanie overflow timer0 reti reti reti reti reti reti reti reti reti _poczatek: in r16, TIMSK//timer0 overflow interrupt enable ori...

    Mikrokontrolery AVR   16 Kwi 2012 21:09 Odpowiedzi: 2    Wyświetleń: 1386
  • [ATmega8] [ATmega8][C] Przerwanie licznika nie generuje opóźnień, brak wyświetlania tekstu

    a _delay_ms i _delay_us Ci nie wystarcza ? Do opóźnień nie trzeba wykorzystywać koniecznie przerwań timera. Można wykorzystać flagi timera (o ile się da, ale wszystko zależy). Poza tym, zmienna deb w Twoim programie zapewne nie jest volatile, ale wrzuciłeś nam NIC, także pomoc też nijaka

    Mikrokontrolery AVR   05 Paź 2010 18:38 Odpowiedzi: 2    Wyświetleń: 731
  • [AtMega8][Bascom] Zegar PDF8563 + PCF8591 + Timer - kłopot z I2C

    Przeglądając Twój program mam takie małe spostrzeżenie, a mianowicie w pętli głównej masz wywołaną procedurę Gettime - ' Call Gettime' - która działa na I2C. Co się stanie gdy podczas wykonywania procedury Gettime zostanie zgłoszone przerwanie od Timer'a?? Program przerywa wykonywanie procedury Gettime i skacze do obsługi Timera a tam jest wywoływana...

    Mikrokontrolery AVR   15 Sie 2011 00:10 Odpowiedzi: 2    Wyświetleń: 2972
  • [Atmega8][C] Jak pobrać informacje w czasie wykonuwania funk

    np. przerwanie zawnetrzne :)... lub od timera :)... generalnie poczytaj o przerwaniach :)...

    Mikrokontrolery AVR   06 Lis 2008 14:23 Odpowiedzi: 21    Wyświetleń: 2343
  • [timer0] Jak uzyskać przerwanie co 0,5s, 1s, 2s na Atmega8 z timerem0?

    Czy dla uzyskania przerwania co 0,5s, 1s, lub 2sek musze użyc w przypadku Atmega8 timera1 16bit, czy mogę to też jakoś zrobić na 8-bitowym timerze0? Zakładam częstotliwość zegara 1Mhz-4MHz. (pracuję nad mruganiem diody :) widocznym dla oka przy uzyciu przerwania od timera)

    Mikrokontrolery   25 Lut 2006 09:02 Odpowiedzi: 6    Wyświetleń: 1638
  • Odliczanie czasu Atmega8 i wyświetlacz trzy segmentowy

    A jak wygląda wyświetlacz 3-segmentowy? Nigdy jeszcze takiego nie widziałem... Program napisz od nowa - ten nie ma prawa działać. Zacznij od przerwania timera. Odliczania czasu NIE DA się zrobić bez timera.

    Mikrokontrolery Początkujący   02 Sty 2016 13:26 Odpowiedzi: 10    Wyświetleń: 1566
  • Atmega8 - Timer nie generuje przerwań, zegar nie działa poprawnie

    Na bascomie się nie znam ale w którym miejscu masz obsługę wektora przerwań od timera ?

    Mikrokontrolery   21 Sty 2007 14:18 Odpowiedzi: 4    Wyświetleń: 1050
  • [Atmega8][C] - Multiplekser 13 wyświetlaczy LED + 2* rejestr przesuwny CD4094

    W Atmega8 timer mógł odmierzać określony czas i dawać przerwanie czy coś w tym stylu. Zastanawiam się w jaki sposób do obslugi enkodera wykorzystuje się timer zamiast przerwań reagujące na zmianę zbocza sygnału albo jakiś liczników ?

    Mikrokontrolery Początkujący   30 Sie 2013 17:38 Odpowiedzi: 74    Wyświetleń: 13107
  • [atmega8] Jak odebrać sygnał z odbiornika Hitec HFD-08R0 na Atmega8?

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

    Mikrokontrolery AVR   15 Lis 2011 16:43 Odpowiedzi: 10    Wyświetleń: 3387
  • Atmega8 - Implementacja przerwań dla DMX z UART i timerem RS485

    Te 960 taktów nie musi być zmarnowane. Równie dobrze możesz ustawić timer i dalszą transmisję inicjuje jego przerwanie. Co do glitcha to też nie wiem jak AVR sobie poradzi. PIC łykał bez problemu. Trzeciego zarzutu nie rozumiem. On nie ma nic wspólnego z proponowaną metodą Zwróć uwagę, że ja także podaję to jako alternatywę nie krytykując Twojego rozwiązania....

    Mikrokontrolery AVR   17 Wrz 2012 17:07 Odpowiedzi: 14    Wyświetleń: 2643
  • ATmega8 [BAS] - TIMER0 nie startuje przy konfiguracji preskalera 256

    Absolutnie żadne Start Timer0 nie jest tu potrzebne. Wystarczy, że tak będzie skonfigurowane przerwanie: [syntax=basic4gl]Config Timer0 = Timer , Prescale = 256 On Timer0 Sekunda Const Przerwanie = 131 Counter0=Przerwanie Enable Timer0 Enable Interrupts . . . end Sekunda: Counter0=Counter0+131 . . . Return [/syntax] ...i unikaj jak ognia "drukowania"...

    Mikrokontrolery AVR   10 Paź 2012 17:16 Odpowiedzi: 12    Wyświetleń: 1347
  • [Atmega8] [Atmega8][C] Timer2 z kwarcem zegarkowym - przerwanie co sekundę nie działa poprawnie

    Sprawdzałem Twój kod inicjalizacji timera + przerwanie -> wszystko jest ok. Musisz mieć błąd w zliczaniu sekund lub w wyświetlaniu. Tak na marginesie to po co ustawiasz bit OCF2 w TIFR? Nie korzystasz z porównania (compare match), więc nie potrzebnie robisz to ustawienie. Wystarczy TIFR=(1 << TOV2);

    Mikrokontrolery AVR   04 Lis 2009 17:38 Odpowiedzi: 7    Wyświetleń: 2653
  • Atmega8: Jak wysłać impulsy Timer1 na pin przy warunku portd.3=0?

    Portd.3 wiem że to jest przerwanie int1 , timer według pomocy bascoma startuje po wpisaniu preskaler..x a na oscyloscopie cisza. Teoretycznie podaję 0 na portd.3 wtedy następuje przerwanie ale brakuje chyba odblokowań. Mnie tu brakuje Start Timer1 po zadeklarowaniu jego preskalera. Poza tym, obsługę przerwań trzeba umieścić poza pętlą główną. Oraz...

    Mikrokontrolery Początkujący   26 Cze 2015 19:20 Odpowiedzi: 31    Wyświetleń: 1773
  • [Atmega8] [Atmega8][C] - Jak rozróżnić przerwanie LOW->HIGH i HIGH->LOW na INT0?

    Przecież już mówiliśmy o tym. ATmega8 -> 1,4V (zbocze opadające) i 1,9V (zbocze narastające) przy Vcc=5V. Te napięcia dotyczą wszystkiego. Niezależnie czy używasz pinu jako zwykłego IO, jako wejścia przerwania, czy jako wejścia Timera.

    Początkujący Naprawy   21 Lip 2013 16:01 Odpowiedzi: 93    Wyświetleń: 8487
  • [Atmega8][Bascom] - Generator zmiennej częstotliwości

    Hej, Jeśli chcesz płynnie regulować współczynnik wypełnienia to musisz wybrać jeden z modów PWM i wtedy będziesz skazany na jedną z kilku częstotliwości wynikających z zegara systemowego i tego jak ustawisz prescaler, Jeśli chcesz płynnie regulować częstotliwość to wybierasz mod CTC(clear timer on compare) ale będziesz miał wtedy stałe wypełnienie,...

    Mikrokontrolery AVR   03 Gru 2011 18:33 Odpowiedzi: 13    Wyświetleń: 6894
  • [Atmega8] Timer1 - opóźnienie przed pierwszym przerwaniem, co może być przyczyną?

    Dokumentacja mówi WYRAŹNIE: najpierw należy ładować wartość do TCNT1H (który zostaje zapisany do rejestru TEMP), a dopiero potem do TCNT1L, co pociąga za sobą wpisanie do TCNT1 aktualnej części jako dół i wartości TEMP jako góra (przy odczycie najpierw należy odczytać dół, potem górę). Ciągu skutków powodujących takie zachowanie a inne nie chce mi się...

    Mikrokontrolery AVR   09 Sty 2011 16:50 Odpowiedzi: 2    Wyświetleń: 941
  • [Atmega8][winavr] problem z konfigiracją Timera1 PWM

    Wszystko już chodzi tak jak trzeba. Jeszcze ostatnia rzecz której nie do końca mogę pojąć z dokumentacji. Widzę, że można w trybie normal ustawić OCR1A tak żeby po osiągnięciu tej wartości timer się resetował i liczył od nowa. Jest jeszcze coś o rejestrze ICR1. Czy można zrobić tak, żeby jeden z tych rejestrów resetował timer po doliczeniu do jego wartości,...

    Mikrokontrolery AVR   18 Lut 2011 15:43 Odpowiedzi: 10    Wyświetleń: 2664
  • [ATMEGA8][C/AvrStudio] Pomiar temperatury zaburza multipl.

    Problem pewnie leży w procedurze. therm_read_temperature(temp); Tam zapewne masz jakiegoś delay-a ustawionego (na czas potrzebny na konwersje temperatury przez DS-a). Musiał byś pokombinować, żeby przebudować tą funkcję a delay-a wbudować najlepiej w obsługę przerwań z timera z którego korzystasz. Np. Timer przerywa częściej, za każdym razem...

    Mikrokontrolery AVR   26 Sie 2010 19:10 Odpowiedzi: 20    Wyświetleń: 2342
  • Atmega8 - Timer0 nie odlicza 1 sekundy przy 12MHz i preskalerze 256

    Poza tym to: TCNT0 = 130; Powinna być pierwszą instrukcją w przerwaniu, a tak w ogóle polecam poczytanie o trybie CTC - nie będzie trzeba martwić się o ciągłe ładowanie wartości timera. EDIT: A problemem właściwym jest nadmiarowy średnik, o tu: if(licznik == 375); jak go wywalisz to będzie w miarę OK. A zmienna nie musi być w tej sytuacji volatile,...

    Mikrokontrolery Początkujący   19 Lut 2013 14:47 Odpowiedzi: 4    Wyświetleń: 1116
  • ATMEGA8 – obsługa dwóch ADC na przerwaniach, brak wywołania ISR po konwersji

    Free run i ręczny stan konwersji - coś się Koledze pomyliło. Będę nudny - zacznij od przerwania timera.

    Mikrokontrolery AVR   16 Lut 2015 09:45 Odpowiedzi: 17    Wyświetleń: 1884
  • Atmega8: Jak działa przerwanie z T0/T1 do zmiany stanu LED?

    Ale o co konkretnie Ci chodzi ?? Wogole nie wiesz co robia instrukcje czy jak ? Co do programu to jest malo przejrzyscie napisany. Jesli to jest kurs dla poczatkujacych to proponuje poszukac innego. Sam patrzac na to cos z poczatku zglupialem i musialem sie wgapic zeby zrozumiec o co chodzi. Do meritum: Na poczatku sa sa dwie dyrektywy org ktore mowia...

    Mikrokontrolery   25 Wrz 2005 13:31 Odpowiedzi: 8    Wyświetleń: 2942
  • [Atmega8] Atmega8 Bascom - Nadpisywanie zmiennej w przerwaniu int0/int1, reset timer1

    Ten sam kod, który zaprezentowałem w pierwszym poście , natomiast przerwanie wywołane już na nodze portb.0 i działa zmienna nie jest nadpisywana. Cała reszta kodu bez zmian poza zmianą przerwania. Przerwania skonfigurowane prawidłowo. Moze przerwania masz skonfigurowane prawidlowo... ale..... Czy mozesz wyjasnic w jakim celu, w obsludze przerwania...

    Mikrokontrolery AVR   09 Maj 2009 18:31 Odpowiedzi: 14    Wyświetleń: 2812
  • [ATmega8][C] Obsługa ADC - odczyt kanałów dla linefollowera

    Ja to lubię tak: Zmienić ATmega8 na 88- ta sama cena. Potem w rejestrze ADCSRB ustwić ADTS0...2 tak jak potrzeba- np. przerwanie od Timer0 Compare Match A. Timer0 ustawić tak aby i tak go wykorzystać jako timer systemowy- oba przerwania wykorzystać albo tylko żadanie obsługi przerwania. A reszta w głównej pętli. Ale to jest co ja lubię- wykorzystać...

    Mikrokontrolery AVR   14 Mar 2011 17:50 Odpowiedzi: 41    Wyświetleń: 7024
  • [ATMEGA8] ATMEGA8 BASCOM – Odbiór kodów RC5 w pętli głównej działa, w INT0 zawsze 255

    Dziwne jest to że w starszej wersji ten kod działa, a raczej nie powinien :). W helpie pisze że funkcja GetRC5 wykorzystuje timer0 i przerwanie od tego timera. Umieszczenie tej funkcji w przerwaniu INT0 wydaje się być błędne. Przerwanie od timera się nie wykona, dopóki nie zakończy się obsługa przerwanie INT0.

    Mikrokontrolery AVR   18 Sty 2012 23:55 Odpowiedzi: 12    Wyświetleń: 6205
  • Jak użyć ON TIMER w Bascom dla Atmega8 do odmierzania 3 minut?

    Tyle że kolega chciał w Bascomie :). Polecam help do bascoma. Konfigurujesz timer, uruchamiasz go i gdy zliczy pewną ilość impulsów wywołuje przerwanie.

    Mikrokontrolery AVR   11 Maj 2009 22:09 Odpowiedzi: 17    Wyświetleń: 4518
  • ATMEGA8 przerwania, dioda świeci zamiast być zgaszona po uruchomieniu

    0 zapalasz diode tak masz podłączone to dlaczego else w przerwaniu timera zapala diodę?

    Początkujący Naprawy   07 Lut 2011 22:30 Odpowiedzi: 10    Wyświetleń: 1277
  • 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ń: 2404
  • ATMega8 - Jakie rejestry timera zerować przed uśpieniem mikrokontrolera?

    Pierwszy i bardzo poważny problem zauważyłem w funkcji TIMER1_COMPA, jest nim linijka rjmp uspij. Gdy się wykona, to przerwania pozostaną zablokowane, oraz kilka bajtów na stosie zostanie uwięzionych - głównie adres powrotu z przerwania. Można temu zaradzić poprzez wstawienie pop + pop + sei przed rjmp. Drugi problem, to karygodna pętla główna - dławienie...

    Mikrokontrolery AVR   15 Sie 2014 19:22 Odpowiedzi: 17    Wyświetleń: 2583
  • Gasniecie LCD przy dużej czestotliwośći. atmega8

    Jednym z wielu błędów w Twoim kodzie jest przetwarzanie w pętli głównej zmiennych adc1 i adc2 zapisywanych w przerwaniu timera. To są zmienne 16-bitowe, więc pomiędzy odczytem jednej i drugiej połówki przerwanie timera może zmienić wartość zmiennej. Blokuj przerwania na czas ich odczytu, czytaj je w pętli głównej raz, skopiuj do innej zmiennej roboczej...

    Mikrokontrolery   25 Lut 2015 00:03 Odpowiedzi: 7    Wyświetleń: 867
  • Atmega8: Jak generować PWM na OC1A i przerwanie co 1s z timer0?

    źle postawione pytanie. Problemem jest odliczenie jednej sekundy a nie użycie na siłę timera 0. :)

    Mikrokontrolery AVR   12 Mar 2013 08:31 Odpowiedzi: 14    Wyświetleń: 2934
  • [atmega8] Jak uzyskać 40kHz dla paczek impulsów w ATmega8 z Bascom?

    64 takty to o połowę krócej. :) W każdym razie, rzeczywiście obsługa tego przerwania w asemblerze powinna się spokojnie zmieścić poniżej 2us. Ewentualnie można jeszcze dodać bramkę AND sterowaną z drugiego timera i załatwić to sprzętowo.

    Mikrokontrolery AVR   04 Wrz 2009 23:40 Odpowiedzi: 12    Wyświetleń: 2674
  • Atmega8 - Mikrokontroler nie chce wyjść z uśpienia

    Nie pamiętam, jak działa makro sleep_mode(); ale przecież przechodzisz do trybu uśpienia w przerwaniu od timera a jak wiadomo wejście w dowolną procedurę obsługi przerwania blokuje globalne zezwolenie na obsługę przerwań, wiec prawdopodobnie w chwili uśpienia skutecznie blokujesz także przerwanie zewnętrzne, przez co nie możesz później wzbudzić procesora...

    Mikrokontrolery AVR   25 Sie 2014 00:00 Odpowiedzi: 4    Wyświetleń: 987
  • [Atmega8] Atmega8: Nieprzewidywalne działanie klawiatury na multiplekserze - sugestie?

    Faktycznie aktywnym stanem jest zero i wtedy ten fragment kodu nie powinien dać żadnego rezultatu, ale co dziwne cokolwiek nacisnę i tak się wykona. Znaczy, dlaczego nie. Jak wcisnąłeś przycisk 0, a sprawdzasz 2, to przerwanie sie wygeneruje, ale na dwójce jest stan wysoki, to warunek (pierwszy) zadziała. Jak sprawdzam czy stan jest równy zero to też...

    Mikrokontrolery AVR   06 Wrz 2008 22:55 Odpowiedzi: 14    Wyświetleń: 1732
  • [ATMEGA8][C/ECLIPSE] - DS1820 i współpraca z wyswietlaczem LED

    Oprzyj multipleksowanie o timery, a te niech wywołują przerwania.. Tworzysz sobie procedurę przerwania od timera. Następnie w tej procedurze realizujesz funkcję "przełączania" segmentów. Uruchamiasz timer z żądaną częstotliwością + odblokowujesz odpowiednie przerwanie.

    Mikrokontrolery AVR   17 Sie 2012 20:14 Odpowiedzi: 10    Wyświetleń: 1944
  • Jak ustawić Timer0 w Atmega8 z BASCOM do odliczania sekund?

    Zrób to tak: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 4000000 Config Timer0 = Timer , Prescale = 256 'onfiguracja timera, przescaler 256 On Timer0 Odmierz_1s 'włączamy timer0 Dim Licz_8ms As Byte 'definiujemy zmienną pomocniczą Dim Sekundy As Byte Enable Interrupts 'włączamy zezwolenie na przerwanie Enable Timer0 Load Timer0 = 125 'ładujemy...

    Początkujący Elektronicy   08 Cze 2014 19:07 Odpowiedzi: 17    Wyświetleń: 1509
  • Atmega8-Bascom: Jak poprawnie skonfigurować układ opóźniający na zbocze?

    Niedokładnie przeczytałeś. W zakładce nawigator: Config Timer- uwaga! po ustawieniu prascale licznik natychmiast zaczyna zliczanie. Można użyć start Timerx i stop Timerx Np. Config timerx, prescale 'timer zaczyna liczyć stop Timerx 'timer stoi- ale już coś zliczył Timerx=y 'timer ma wartość początkową =y - np.0 Start timerx ' Timerx zaczyna liczyć od...

    Mikrokontrolery AVR   19 Lut 2010 13:51 Odpowiedzi: 24    Wyświetleń: 2378
  • [Atmega8] [Atmega8][AVR-gcc] - Jak dekodować 2 sygnały PPM z odbiornika RC?

    Daruj sobie obsługę przepełnień i przerwanie od przepełnienia timer - kompletnie nic one nie wnosi. Po prostu zapisz wartość timera przy zboczu narastającym, a przy zboczu opadającym odejmij od bieżącej wartości tę zapamiętaną - przewinięcie typu uint16_t przez zakres samo załatwi sprawę. Skąd wiesz, jakie masz wartości, skoro nic z nimi nie robisz?

    Mikrokontrolery Początkujący   13 Lut 2013 22:02 Odpowiedzi: 8    Wyświetleń: 3201
  • [C] [C][ATmega88] - Jak poprawnie obsłużyć przerwanie Timera0 dla diod LED?

    Wartość początkową ustalam odejmując 256 i 125, stąd TCNT0 = 131. Dlaczego tak to liczysz? Używasz trybu normalnego Timera0. Timer 0 w trybie normalnym liczy od 0 lub wartości początkowej ustawionej w rejestrze TCNT0 do wartości 0xFF. Przy 8 MHz i podziale przez 256 obliczenia wyglądają następująco: 8Mhz/256 = 31 250 31 250/256 (od 0 do 0xFF) = 122...

    Mikrokontrolery   29 Mar 2013 11:23 Odpowiedzi: 15    Wyświetleń: 2901
  • Jak zliczać impulsy z TCRT5000 na Atmega8 bez liczników sprzętowych?

    To dwa sygnały na timery jako liczniki a trzeci sygnał na przerwanie zewnętrzne. A trzeci timer jako zegar.

    Mikrokontrolery AVR   08 Kwi 2010 13:07 Odpowiedzi: 20    Wyświetleń: 4222
  • Atmega8, DS1820 i UART - konflikt przy jednoczesnym użyciu 1-wire i UART

    Potrzebny jest Timer i przerwanie od timera. Timer ustawia flagę jak się przepełni. Np. co 1s. W petli głównej sprawdzasz czy już upłynęła 1s. Dopiero potem wolno Ci odczytać pomiar temperatury. Nie wolno stosować Waitms jeśli program ma obsługiwać więcej niż jedno urządzenia.

    Mikrokontrolery AVR   07 Mar 2011 08:18 Odpowiedzi: 8    Wyświetleń: 2850
  • [atmega8] [atmega8][c] - Jak obsłużyć czujnik Mobot przez I2C i wyświetlić wynik w mm?

    Problem leży w sposobie działania biblioteki TWI_Master i miejsca, skąd jej pośrednio używasz. TIMER0_OVF_vect, jak i każde inne przerwanie, uruchamia się z czasowo wyłączonymi przerwaniami, dlatego ani sonar_request, ani sonar_gets_distance nie zadziała z tego miejsca. Polecenia zostają zakolejkowane, i może tylko TWI::START zostaje wykonany. Możesz:...

    Mikrokontrolery AVR   14 Sie 2014 17:16 Odpowiedzi: 5    Wyświetleń: 1191
  • [ATmega8] [ATmega8][C] Jak poprawić kod do sterowania silnikiem krokowym?

    To chyba nie jest sterowanie półkrokowe- ma tylko 4 stany a przy półkrokowym powinno mieć 8. 1-1i2-2-2i3-3-3i4-4-4i1 itd. P.S. tak jak napisał karol 966. P.S2 I żadne opóźnienia nie są potrzebne. Bo jak dołożysz coś do swojego programu to będzie chodził strasznie wolno. Zastosuj przerwanie od któregoś Timera i zmieniaj stany po wystąpieniu przerwania-...

    Mikrokontrolery AVR   16 Sty 2010 17:20 Odpowiedzi: 16    Wyświetleń: 5832
  • [Atmega8] Atmega8, C - Multipleksowanie wyświetlacza 7-seg, wspólna katoda, kodowanie cyfr

    Obsługa przerwania nie ma być "jak najkrótsza", tylko "nie za długa". Odświeżanie wyświetlacza zawsze robi się w przerwaniu, gdyż zajmuje to czasu tyle co nic, a nie zrobienie tego w przerwaniu powodowałoby złe działanie wyświetlacza - nierówną jasność cyfr, zmiany jasności, migotanie, przygasanie itp. To ma być działać ze stałą częstotliwością, a do...

    Mikrokontrolery Początkujący   28 Lut 2013 18:58 Odpowiedzi: 17    Wyświetleń: 2322
  • Atmega8 - Dlaczego flaga TOV0 nie aktywuje diody LED1 w ISR?

    Jak ma włączone przerwania przepelnienia to jak się flaga ustawi, przerwanie nastąpi, flaga się skasuje i w pętli zawsze będzie nieustawiona. Dlatego pytałem: Przerwania od timera wyłączone? Odpowiedział: Przerwania włączone. Wnioskuję więc, że timer stoi - źle ustawione bity CS ale ciężko coś powiedzieć, bo kod programu jest ściśle tajny. Usunąłem...

    Mikrokontrolery AVR   14 Sty 2019 18:21 Odpowiedzi: 10    Wyświetleń: 570
  • Jak skonfigurować wektory przerwań Timer1 PWM w Atmega8?

    Problem dla mnie pojawił się ze zrozumieniem wektorów przerwań które obsługują timer1. W dokumentacji jest tabela na stronie 46 W czym problem? Jak korzystasz z przerwania np. Timer/Counter1 Compare Match A czyli przerwanie w momencie gdy zawartość licznika (TCNT1) zgadza się z tym co wpisałeś do OCR1A to jeśli wcześniej w TIMSK ustawisz odpowiedzialny...

    Mikrokontrolery AVR   20 Gru 2011 23:04 Odpowiedzi: 19    Wyświetleń: 2996
  • Dlaczego przerwanie 0 w ATmega8 nie działa natychmiast?

    Dokumentacja ATmega8, strona 71: The bit TOV0 is set (one) when an overflow occurs in Timer/Counter0. TOV0 is cleared by hardware when executing the corresponding interrupt Handling Vector. Alternatively, TOV0 is cleared by writing a logic one to the flag. When the SREG I-bit, TOIE0 (Timer/Counter0 Overflow Interrupt Enable), and TOV0 are set (one),...

    Mikrokontrolery   02 Mar 2006 13:01 Odpowiedzi: 3    Wyświetleń: 1203
  • Atmega8 - Nieprawidłowe działanie przerwań zewnętrznych z enkoderem i LEDami

    I dlatego właśnie zacznij od przerwania timera, np. coś ok. 100 Hz.

    Mikrokontrolery Początkujący   13 Lip 2013 18:53 Odpowiedzi: 19    Wyświetleń: 3294
  • [ATMEGA 8] Jak napisać program do tablicy LED z ATMEGA8 i BASCOM?

    Zmień doświadczalnie wartość wpisywaną do timera. Zobacz czy poprawnie wyświetla ci to co chcesz. Ważne jest także żeby przerwanie nie było za długie bo wtedy może grozić to resetem uc.

    Mikrokontrolery AVR   02 Lis 2010 07:54 Odpowiedzi: 106    Wyświetleń: 35844
  • Jak zbudować obrotomierz na Atmega8 z linijką LED i czujnikiem impulsów?

    robilem cos takiego i tez poszedlem drogą licznika i timera. Timer odmierzał kwanty czasu, a licznik przerwania INT0. Dodatkowo wykorzystałem sobie jakieś przełączniki DIP do zmiany szerokości okienka czasowego w których liczone są impulsy.

    Automatyka Przemysłowa   12 Maj 2009 07:25 Odpowiedzi: 23    Wyświetleń: 3943
  • Atmega8 debugowana w avr studio i jeszcze raz counter0

    zrób to mniej więcej tak: .INCLUDE "m8def.inc" .cseg ; początek segmentu pamięci programu .org 0 rjmp RESET ; wektor ZEROWY (po resecie) .org OVF0addr ; wektor przerwania od przepełnienia Timera0 rjmp Przerwanie_T0 ; i tu właśnie skok do obsługi tego przerwania RESET: LDI R16, HIGH( RAMEND) OUT SPH, R16 LDI R16, LOW( RAMEND) OUT SPL, R16 ; porządek...

    Mikrokontrolery   30 Gru 2006 20:02 Odpowiedzi: 4    Wyświetleń: 1148
  • Atmega8 - Program do sterowania zegarem wtórnym PKP z mostkiem H

    Znacznie lepiej (i zdecydowanie dokładniej) byłoby wykonywać to w przerwaniu timer-a pędzonego rezonatorem zegarkowym, lub cały uC z niego taktować. Skrócenie okresu możnaby chociażby, realizować ładując odpowiednią liczbę do timer-a po przepełnieniu. Pozdrawiam, GSM

    Mikrokontrolery Początkujący   29 Mar 2015 01:01 Odpowiedzi: 4    Wyświetleń: 1743