atmega przerwa timer

Znaleziono około 6882 wyników dla: atmega przerwa timer
  • ATmega32 - Program nie wchodzi w obsługę przerwania TIMER0_COMP_vect

    Mnie wychodzi, że to nie jest tryb CTC tylko normalny. Po drugie na przerwanie compare trzeba zezwolić w rejestrze TIMSK - bit OCIE0 - masz < zamiast << stąd problem. Jak masz jakieś wątpliwości co do konfiguracji, to użyj symulatora AVR Studio. Można sobie w nim też ustawić tryb pracy i odczytać wartości rejestrów kontrolnych dla niego i potem...

    Mikrokontrolery AVR   30 Gru 2012 14:29 Odpowiedzi: 17    Wyświetleń: 2439
  • [C] Atmega32: Przerwania licznika, diody co sekundę, preskaler 256, TIMER1_OVF_vect

    Chodzi o to, że po pierwszym przerwaniu TCNT1 będzie miał wartość 0, czyli zliczy potem 65536 impulsów. Zaś do generowania, jak Ty chcesz, przerwań co określony odcinek czasu służy tryb CTC. Wtedy w rejestrze OCR ustawiasz ilość impulsów, które chcesz zliczyć, i wygenerować odpowiednie przerwanie.

    Mikrokontrolery Początkujący   27 Gru 2012 16:24 Odpowiedzi: 17    Wyświetleń: 1740
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • AVR ATmega16 - Zawieszanie programu przy przerwaniu Timer2, kwarc 8MHz

    W jakim środowisku działasz? Jesteś pewny nazwy tego wektora? Nie ma żadnych ostrzeżeń? Bo mnie się tu coś nie zgadza: [syntax=c]ISR(TIMER0_COMPA_vect){}[/synt... Tak chyba powinno być prawidłowo: [syntax=c]/* Timer/Counter0 Compare Match */ #define TIMER0_COMP_vect_num19 #define TIMER0_COMP_vect _VECTOR(19) #define SIG_OUTPUT_COMPARE0 _VECTOR(19)[/syntax]

    Mikrokontrolery AVR   26 Sty 2014 09:24 Odpowiedzi: 8    Wyświetleń: 1656
  • REKLAMA
  • ATmega1284p TIMER0_OVF_vect nie działa - diagnostyka przerwania

    Witam, Z racji tego ile już zrobiłem na atmegach to aż wstyd pisać taki post, ale ręce już mi opadają.... Mam układ ATmega1284p, na który przenoszę kod obsługi modbus'a RTU który już skutecznie odpaliłem na kilku innych atmegach. Ta jednak jest oporna. Drogą śledztwa doszedłem, że winny jest niedziałający timer0. Zacząłem więc go rozbierać na czynniki...

    Mikrokontrolery AVR   03 Kwi 2020 11:48 Odpowiedzi: 2    Wyświetleń: 438
  • REKLAMA
  • ATmega168: Przerwanie TIMER1_COMPA_vect nie działa, co sprawdzić?

    Nie istotne co program robi, wazne ze przerwanie mi nie dziala:) Program ma 400 lini i nie ma sensu go wklejac. ale można daodać jako załącznik jeśli się nie myle, ... mniejsza z tym, kolega poszuka wróżki :)

    Mikrokontrolery   21 Lis 2007 23:22 Odpowiedzi: 10    Wyświetleń: 1860
  • [Atmega32][C][Eclipse] - bład programu gdy przerwamnie timer0 aktywne

    Podczas odbioru danych z pinu PD2 ( funkcja zgłoszenie ) występuje błąd tylko wtedy gdy przerwanie z timera 0 jest aktywne. Gdy na czas odbioru danych zablokuję to przerwanie procesor ładnie odbiera wysyłane do niego dane. I moje pytanie brzmi: Co jest nie tak z przerwaniem? Konkretnie to, co wskazał albertb: ... jeśli masz włączone przerwanie to jego...

    Mikrokontrolery AVR   05 Gru 2012 08:49 Odpowiedzi: 12    Wyświetleń: 1797
  • Błąd w programie multipleksowania LED na atmega32 - przerwania nie działają

    // ================= PROCEDURA OBSŁUGI PRZERWANIA COMPARE MATCH ISR(TIMER0_OVF_vect) Błąd. To jest przerwanie od przepełnienia licznika. Przerwanie od porównania to: TIMER0_COMP_vect . W nagrodę Pomógł od mniej spostrzegawczych użytkowników i moderatorów :) A co do tranzystorów, to oczywiście lepsze by były PNP, ale z NPN też będzie działać (trochę...

    Mikrokontrolery Początkujący   01 Cze 2015 18:16 Odpowiedzi: 22    Wyświetleń: 1497
  • [BASCOM][ATmega8515] Nie działające przerwania - TIMER0

    Ale która konkretnie, czy Enable interrupts, czy Enable Timer0, czy oba na raz? Moim zdaniem to kolejny bug bascoma, znów może jakieś pokręcone rejestry, itp. Dokładnie problemu zidentyfikować nie mogę, bo takich procesorków nie mam, ani czasu tez zabardzo na takie badania. Jedyne co mogę doradzić to: a) zrobienie własnoręcznie przejściówki m8515/m32...

    Mikrokontrolery AVR   26 Kwi 2011 14:28 Odpowiedzi: 13    Wyświetleń: 2063
  • Dwa duże problemy z przerwaniami od timera na ATmega32

    Co do Twojego pierwszego problemu to prawdę mówiąc nie wiem, ale zwróć uwagę na to że po zakończeniu obsługi przerwania zawartośc R16 i R17 jest zamieniona: ... .org 0x0012 rjmp t1Ovf ... t1Ovf: push r16 push r17 in R16, PORTC ldi R17, 0b00000011 eor R16, R17 out PORTC, R16 pop r16 ; R17 pop r17 ; R16 reti ... Może to wina własnie tego. Co do Towjego...

    Mikrokontrolery   16 Lut 2007 16:21 Odpowiedzi: 2    Wyświetleń: 1254
  • REKLAMA
  • [Atmega128] [Atmega128][C] - Timer0 blokuje _delay_ms przy aktywnym przerwaniu TIMER0_OVF_vect

    Bardzo ciekawy link, przeczytałem w całości. Werror aktywne, oraz wszelkie opcje analizy kodu są włączone. Optymalizacja S. Konsola: **** Build of configuration Release for project program1 **** make all Building file: ../main.c Invoking: AVR Compiler avr-gcc -Werror -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields...

    Mikrokontrolery AVR   06 Wrz 2012 03:28 Odpowiedzi: 15    Wyświetleń: 1779
  • ATmega16 - Timer1 16-bitowy: brak wywołania przerwania ISR(TIMER1_OVF_vect)

    ADTS2:0 dla trzech 0 jest free running mode. Dodano po 2 Doczytałem, że konwersja jest wykonywana wtedy gdy jest odczytywany ADC. Dodałem zmienną volatile int w main i w pętli głównej zapisuję do niej rejestr ADC. Teraz zadziałało. Czy to jest dobre rozwiązanie? [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #define LED1 PC0 int...

    Mikrokontrolery Początkujący   23 Lut 2017 02:47 Odpowiedzi: 5    Wyświetleń: 849
  • Jak poprawnie wyświetlić zmienne w przerwaniach timera na ATmega16?

    kolega Freddie zasugerował jedno z możliwych rozwiązań, mianowicie: zamiast deklarować jakiś wskaźnik do bufora, spróbuj zadeklarować tablicę, np: unsigned char bufor[10]; nie jestem pewien co z tą funkcją dtostrf(), może to ona nie działa...

    Mikrokontrolery AVR   12 Gru 2008 16:43 Odpowiedzi: 6    Wyświetleń: 1065
  • 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ń: 396
  • [ATmega8][C] - TIMER1 kontrolowany przerwaniami INT0:1

    twój program doskonale miga diodą zgodnie z zamierzeniem ale musisz poczekać nie sekundę a kilka minut bo z powodu niezerowania licznika count kolejne mrugnięcie zachodzi dopiero po przekręceniu inta :) (btw. w tej sytuacji volatile jest niepotrzebne)

    Mikrokontrolery AVR   04 Lis 2012 12:30 Odpowiedzi: 3    Wyświetleń: 1629
  • atmega 8535 - Program nie sygnalizuje przerwań. ISR(TIMER0_COMP_vect)

    Może dlatego, że Twój program po prostu się kończy w ułamku sekundy? Wiesz co robi procesor gdy skończy się funkcja main()? Albert

    Mikrokontrolery AVR   10 Wrz 2013 09:47 Odpowiedzi: 1    Wyświetleń: 1440
  • [C] Atmega32 Timer0 CTC – dioda nie zapala się w przerwaniu, kod nie działa

    Chcialbym napisac najprostrzy program aby sprawdzic czy progra mi wogole wchodzi w przerwanie czyli czy zapali diode. Ale zupelnie nic sie nie dzieje. Zarówno symulacja programowa w AVR Studio, jak i program uruchomiony na realnym sprzęcie działa poprawnie. Albo się pomyliłeś co do podłączenia diody, albo procesor jest uszkodzony. Po drobnej zmianie...

    Mikrokontrolery   07 Mar 2011 09:24 Odpowiedzi: 8    Wyświetleń: 1997
  • [ATMega168] Jak obsłużyć przerwania przycisków i timera w ATMega168 z kwarcem 32,768 kHz?

    W przerwaniach masz _delay()- to wielki błąd. A _delay() w pętli- to duzy błąd. Masz Timer i masz go ustawić na przerwanie co 20ms. W tym przerwaniu ustawiasz sobie tyle flag ile trzeba i je zwiększasz. W głównej petli sprawdzasz czy flaga1==1, zerujesz i wykonujesz jakiś warunek. Potem sprawdzasz czy flaga2==5, zerujesz i robisz to co ma być robione...

    Mikrokontrolery Początkujący   20 Gru 2011 10:00 Odpowiedzi: 31    Wyświetleń: 5120
  • 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ń: 420
  • Atmega328p - Odczyt potencjometrów z przerwaniami, wartości 0-255

    Zawartości wyświetlacza nie ma sensu zmieniać częściej niż 2 razy na sekundę, bo i tak obserwator nie odczyta częstszych zmian wartości. Rzadko kiedy jest sens używać przerwania ADC. Typowo w przerwaniu timera odczytujesz i przetwarzasz poprzedni pomiar ADC, a następnie uruchamiasz nowy (kolejnego kanału), który przetworzysz w następnym wywołaniu przerwania...

    Mikrokontrolery Początkujący   20 Lut 2020 21:14 Odpowiedzi: 14    Wyświetleń: 1113
  • atmega8, c - Przerwanie TIMER0_OVF_vect wykonuje się tylko raz, dlaczego?

    Musisz też załadować nową wartość do licznika timera. Jak już pisałem, bez fragmentu kodu odpowiadającego za pobranie czasu przerwania dziaął poprawnie, więc nie w tym problem.

    Mikrokontrolery Początkujący   09 Mar 2015 10:28 Odpowiedzi: 9    Wyświetleń: 1218
  • [ATmega32] Jak napisać procedurę obsługi przerwania timera0 dla diody LED na ATmega32?

    Ale jeśli mniejsze, to już po 1 takcie zliczania powinno wyskoczyć z przerwania a tak nie jest. Taktowanie timera to 16MHz/1024 = 15625Hz. Pojemność timera to 256, więc przerwanie pojawia się z częstotliwością 15625/256 = ~61Hz. Aby uzyskać opóźnienie ok. 1 sekundy przerwanie musi pojawić się 61 razy i dopiero za 62 zapalić lub zgasić diodę. I tak...

    Mikrokontrolery AVR   27 Paź 2011 11:19 Odpowiedzi: 8    Wyświetleń: 2552
  • [ATmega1284P] Timer1 przerwanie co BPM - błędne ustawienia preskalera?

    WGM01, CS02 oraz CS00 nie są dla Timera 1. Więc to co masz, to wcale nie jest tryb CTC. Preskaler akurat wyjątkowo się zgadza. Szacuję, że zamiast 200 milisekund kod w ifie wykonuje się coś pomiędzy 600 a 700 ms.

    Mikrokontrolery AVR   18 Kwi 2012 20:04 Odpowiedzi: 1    Wyświetleń: 968
  • Czy przerwania Timer1 i Timer0 w ATmega32 mogą się kolidować?

    Jeżeli piszesz w C i używasz avr-libc, to przerwania "nieblokujące" (takie które mogą być przerwane przez inne przerwanie (lub nawet same przez siebie, trzeba uważać)) deklaruje się tak (przykład dla INT0): ISR(INT0_vect, ISR_NOBLOCK) { jakiś kod } Dzięki temu sei() zostanie wywołane prędzej, niż zrobiłbyś to wewnątrz procedury sam.

    Mikrokontrolery AVR   05 Lut 2011 01:34 Odpowiedzi: 21    Wyświetleń: 1484
  • [ATmega64] [ATmega64][C] Zawieszanie programu przy odczycie zmiennej w przerwaniu TIMER0

    Program nie tyle idzie w krzaki, ale po prostu warunek nie ma szans się spełnić. Program idzie w krzaki, tylko nie z powodu "wadliwego" kodu, a z powodu złego ustawienia fusebitów, a w zasadzie jednego fusebitu - M103C I tak to jest, jak się nie zagląda do PDF-ka :D

    Mikrokontrolery AVR   26 Gru 2009 02:52 Odpowiedzi: 9    Wyświetleń: 4076
  • [ATMega32] ATMega32: Obsługa I2C na przerwaniach w C - kiedy i dlaczego warto?

    Niektóre z funkcji faktycznie zawierają pętlę oczekującą na zwolnienie magistrali: [syntax=c] while ( TWI_Transceiver_Busy() );[/syntax] Autorzy założyli, że można będzie użyć tej funkcji w dowolnym momencie, niestety powoduje to, że kiedy wywołamy funkcję, kiedy magistrala jest zajęta, to będzie ona czekała na zwolnienie magistrali, co wprowadza czasami...

    Mikrokontrolery AVR   27 Sie 2012 19:25 Odpowiedzi: 21    Wyświetleń: 2940
  • 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ń: 822
  • Atmega328P: wykonanie przerwania po wybudzeniu, SPI i MISO, resetowanie

    WDTON Fuse Unprogrammed: In this mode, the Watchdog Timer is initially disabled, but can be enabled by writing the WDE bit to 1 without any restriction. A timed sequence is needed when changing the Watchdog Time-out period or disabling an enabled Watchdog Timer . WDTON Fuse Programmed: In this mode, the Watchdog Timer is always enabled , and the WDE...

    Arduino   16 Cze 2020 18:26 Odpowiedzi: 14    Wyświetleń: 675
  • ATmega128 - Czy krótki sygnał INT1 wywoła przerwanie przy aktywnym TIMER1?

    Tak, o ile procesor nie będzie w uśpieniu. Jeśli będzie to wymagana jest funkcjonalność asynchronicznego wybudzania, czego ATMega nie ma dla zboczy, wyłącznie dla poziomu. Trzeba też pamiętać, że zmiany krótsze niż okres zegara mogą być przez MCU niezauważone. Oczywiście dla kwartcu 14 MHz i impulsu 20us nie jest to problemem.

    Mikrokontrolery AVR   05 Maj 2016 14:38 Odpowiedzi: 4    Wyświetleń: 1491
  • Atmega8 - Tym razem; przerwanie sprzętowe - nie działa

    Wyrzuć te delay'e. Zmienną licznik jak radzili koledzy zmień na volatile. Zmień sei(); na SREG |= (1<<7); Jeśli będzie działać, to zapytam jakiej wersji avr studio używasz? [syntax=cpp] #include <avr/io.h> #include <avr/interrupt.h> volatile uint8_t Count = 0; ISR(TIMER0_OVF_vect) { Count++; TCNT0 = 0; } int main(void) { DDRB = 0xFF;...

    Mikrokontrolery Początkujący   03 Kwi 2013 20:44 Odpowiedzi: 30    Wyświetleń: 3780
  • Używanie dwóch timerów w BASCOM (atmega2560) - pobieranie danych z tablicy i sterowanie PORTB

    Tak po krótce przeanalizowałem wątek TIMER2 tego nowego programu. Po prześledzeniu kilku instrukcji i "śladów skoków" mogę stwierdzić, że nie jest dziwne, że gdy aktywny jest TIMER2 i jego przerwania to wszystko siada. Pojawia się przerwanie TIMER2, program wskakuje do jego obsługi a tam napotyka: GOSUB w inne miejsce, gdzie napotyka GOTO w jeszcze...

    Mikrokontrolery AVR   07 Kwi 2023 07:26 Odpowiedzi: 17    Wyświetleń: 738
  • [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
  • Jak zliczać czas stanu niskiego w Atmega16 BASCOM przy przerwaniach?

    Najpierw dajesz Config INT0=Falling Wprowadzasz zmienną opisującą wybrane zbocze wyzwalające przerwanie (Edge_) i w procedurze obsługi tego przerwania: If Edge_ =0 Then Start Timer1 Config INT0=Rising Else Stop Timer1 Config INT0=Falling End If Niektóre AVR'y umożliwiają konfigurację typu Config INT0= Change Wtedy przerwanie wywoływane będzie po stwierdzeniu...

    Mikrokontrolery   13 Lut 2007 19:48 Odpowiedzi: 8    Wyświetleń: 2768
  • [bascom] Różnice w przerwaniach między Atmega8 a Atmega32 w Bascom - jak dostosować kod?

    Te procesory się aż tak nie różnią. Dodatkowe funkcjonalności pinów nie przeszkadzają w niczym dopóki ich nie uruchomisz. (PCINT - Pin Change Interrupt trzeba wiedzieć jak włączyć). Jest duża różnica jeśli chodzi o Timery właśnie. Mega8 ma na przykład tylko jeden rejestr Compare dla Timer2 dlatego inaczej się nazywają. Opisałem to u siebie na stronie...

    Mikrokontrolery Początkujący   05 Gru 2014 06:58 Odpowiedzi: 12    Wyświetleń: 1461
  • [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ń: 1200
  • [ATMEGA644P] Timer T1 działa w trybie Normal zamiast CTC - przerwanie co kilkadziesiąt sekund

    A tam czasem nie brakuje operatora przed znakiem przypisania? TCCR1B | = (1<<WGM12)|(1<<CS12)|(1<&...

    Mikrokontrolery AVR   04 Maj 2017 10:45 Odpowiedzi: 12    Wyświetleń: 1590
  • [ATMEGA32] ATMEGA32 BASCOM TIMER1 - Odliczanie czasu w przerwaniu działa nieprawidłowo

    Witam. Zapis (składnia) Load Timer1 jest zły. Sprawdź w pomocy Bascoma.

    Początkujący Elektronicy   20 Gru 2014 12:32 Odpowiedzi: 3    Wyświetleń: 675
  • [ATmega32][c] Przerwanie od porównania w timer1 - ograniczenia

    Niestety problem znów się pojawił: Program nie wchodzi do pętli while, gdzie warunek jest niespełniony dopiero po zatrzymaniu dopiero co ustawionego rejestru licznika, próbowałem jeszcze inny sposób, z bitami zmiennej flag ustawianymi w przerwaniach - do przerwania wchodzi, ale jak wróci do programu to nie wychodzi z pętli - tak jakby warunek był cały...

    Mikrokontrolery AVR   21 Lis 2011 17:23 Odpowiedzi: 10    Wyświetleń: 2464
  • Atmega2560: Niepoprawne wartości z Timer1 w przerwaniu INT0 - jak to naprawić?

    Dzięki za szybką odpowiedź. Pewnie w tym zapewne będzie problem, wieczorem sprawdzę, o zapisie do Timer1 to sobie przypomniałem, nie wiedziałem że odczyt działa odwrotnie. Pozdrawiam

    Mikrokontrolery Początkujący   20 Lis 2024 11:19 Odpowiedzi: 5    Wyświetleń: 156
  • atmega8 - przerwania od timer0 i timer1 nie działają razem

    No jest kretyński :) TIMSK = _BV(TOIE1); // wlacz obsluge przerwan T/C1 TIMSK = _BV(TOIE0); //jw dla T/C2 TIMSK = _BV(TOIE1) ; // wlacz obsluge przerwan T/C1 TIMSK |= _BV(TOIE0); //jw dla T/C2 albo TIMSK = _BV(TOIE1) | _BV(TOIE0) ; ;)

    Mikrokontrolery AVR   28 Lis 2009 22:30 Odpowiedzi: 2    Wyświetleń: 2609
  • Jak skonfigurować przerwania w ATmega8 w języku C z użyciem GCC?

    Bity w MCUCR określają na co będzie reagować przerwanie zewnętrzne... Zmiana stanu, opadające lub narastające zbocze więc jest to jak najbardziej potrzebne... SIGNAL (INT0_vect) - obsługa zewnętrznego przerwania INT0... SIGNAL (TIMER0_OVF_vect) - obsługa przerwania od przepełnienia timer0... Co do portu... Jak na mój gust powinno być PORTC = !PORTC;...

    Mikrokontrolery   13 Lis 2010 16:13 Odpowiedzi: 48    Wyświetleń: 19435
  • Atmega644PA - Obsługa przerwania, multipleksowanie ADC

    Jeśli wartość OKRES nic nie zmienia, to masz gdzieś gruby błąd. Prawdopodobnie skrzyżowałaś różne kawałki kodu i wyszło coś, nad czym nie panujesz. W moim kodzie 3 kanały są ciągle mierzone przez ADC, a wartość OKRES reguluje tylko to, jak często czytasz/przetwarzasz te pomiary. Tak to się robi w rzeczywistych zastosowaniach, gdzie zwykle musisz mieć...

    Mikrokontrolery   10 Sty 2016 16:07 Odpowiedzi: 53    Wyświetleń: 2865
  • Ogólny zarys programu, co w przerwaniach? Obsługa przycisków

    Mikrokontrolery to także jak najmniejsze zużycie prądu. Gdzie tylko to możliwe należy je usypiać. W Twoim przypadku możesz wykorzystać co najwyżej uśpienie 'cpu', ponieważ potrzebujesz działających 'timer'ów( przydatna tabela znajduje się w notach przy 'Power Management and Sleep Modes', np. 'atmega8' str.33) Zalecana przez twórców 'avr-libc' sekwencja...

    Mikrokontrolery   28 Wrz 2007 10:23 Odpowiedzi: 9    Wyświetleń: 1868
  • [C][ATmega16] - Niechciana zmiana częstotliwości przerwania (Timer1)

    Taki bubel całkowicie krzyżuje mi plany Masz rację, zrobiłeś bubel ;) który na szczęście można naprawić na kilka sposobów, z których najprostszy to wywołanie sei() w funkcji obsługującej przerwanie. Dlaczego tak się dzieje - po prostu dlatego, że na początku obsługi przerwania samo z siebie wywołuje się cli(). Najczęściej unika się tak długo trwających...

    Mikrokontrolery AVR   12 Sie 2012 16:25 Odpowiedzi: 3    Wyświetleń: 1428
  • [Atmega32][Avr-assembler] - Timer1 w trybie porównania przerwanie co 1s

    Działa ;-) Ustaw Breakpoint na linijce (prawy myszy Toggle Breakpoint) [syntax=avrasm]com LED[/syntax] naciśnij F5 (Run) jak zatrzyma się na Breakpoint wykonaj kod przerwania krokowo F11 naciśnij F5 (Run) jak zatrzyma się na Breakpoint wykonaj kod przerwania krokowo F11 itd. Zamiast 15625 ładuj do OCR1A 15624. Wieczorem wrzucę inny sposób migania tym...

    Mikrokontrolery Początkujący   06 Maj 2016 18:29 Odpowiedzi: 22    Wyświetleń: 2175
  • [Atmega] Atmega: Timer1 CTC przycina się przy zmianie OCR1A z ADC, silnik staje

    W trybie CTC wartość timera jest zerowana, gdy TCNTx jest równe OCRxA. Nie pojawia się tutaj sprawdzenie w relacji większy/równy. Tak więc jeśli w danym momencie OCRxA jest równe 100, TCNTx 98 i w tym momencie zostanie wpisane do OCRxA wartość 96 to nie zostanie spełniony warunek dla TOP, timer będzie się zwiększał aż do 65535 (długa przerwa) kiedy...

    Mikrokontrolery AVR   11 Paź 2009 18:53 Odpowiedzi: 3    Wyświetleń: 5266
  • Atmega88: Brak wywołania przerwania Timer1 Overflow - co robię źle?

    brakuje instrukcji sei(); włącza ona globalną obsługę przerwań. Umieść ją zaraz przed pętlą while(true) Dodano po 5 a poprawnie jest TIMSK1 = _BV(TOIE1);

    Mikrokontrolery AVR   17 Maj 2011 12:13 Odpowiedzi: 2    Wyświetleń: 1791
  • 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ń: 1101
  • [Atmega32] Timer0 nie wywołuje przerwania SIG_OVERFLOW0 w skanerze 3D

    Tutaj masz hex'a z tego programu, skompilowanego przez avr-gcc dla atmega32 1Mhz. Zobacz czy zadziała, a ja sprawdzę makefile.

    Mikrokontrolery AVR   15 Maj 2009 14:59 Odpowiedzi: 13    Wyświetleń: 3966
  • [atmega16][bascom] Dziwne zachowanie programu z przerwaniem.

    Nic nie trzeba informować kompilatora - Bascom ładnie przyjmuje wprost rozkazy asemblera ale w zasadzie atom1477 zrobił to nawet bez asemblera - sorki - po prostu "ręcznie" odwołał się do rejestrów i wpisał do nich odpowiednie wartości tzn poustawiał bity tak żeby coś tam działało w tym przypadku co ja ci podałem trza by to było mniej więcej zrobić...

    Mikrokontrolery AVR   03 Mar 2010 09:56 Odpowiedzi: 35    Wyświetleń: 4541
  • [AVR ATmega328] [AVR ATmega328][C] - Timer1 nie wywołuje przerwania, kod nie działa

    Dołącz bibliotekę <avr/interrupt.h>

    Mikrokontrolery Początkujący   19 Gru 2014 19:11 Odpowiedzi: 5    Wyświetleń: 852
  • [ATmega32] ATmega32 Timer0 CTC - przerwanie nie działa poprawnie, licznik się zeruje

    A co na to symulacja programu? Taki program wgraj: .nolist .include "m32def.inc" .list ; ## START ########################################... .cseg ;=======================================... ;= WEKTORY PRZERWAŃ = ;=======================================... .org 0x0000 rjmp reset_vector ; po...

    Mikrokontrolery AVR   13 Sie 2008 21:39 Odpowiedzi: 4    Wyświetleń: 2544
  • [Atmega328][Atmega2560][Arduino] - Pomiar czasu propagacji fali 40kHz.

    Nieprawidłowo zatrzymujesz timer1 w przerwaniu TIMER1_CAPT_vect: [syntax=c]TCCR1B = TCCR1B | B00000000;[/syntax] Dodatkowo po wykonaniu pomiaru nie zerujesz TCNT1 i preskalera Timer1. W jakim celu wykorzystujesz TSM? EDIT: Dodałem Ci 25 punktów bo miałeś 0,25. PS. Twój kod to praktycznie już C :)

    Arduino   16 Lip 2015 20:13 Odpowiedzi: 8    Wyświetleń: 2277
  • [Atmega32A]Power-save mode - Obsługa przerwania TIMER2 w trybie PSM

    Witam. Zwykły kwarc 32K. Usypiasz procesor i możesz go budzić na żądanie w określonym czasie. Jak wszystko pójdzie dobrze uzyskać pobór prądu na poziomie 1uA w stanie uśpienia.

    Mikrokontrolery AVR   15 Sty 2017 22:05 Odpowiedzi: 1    Wyświetleń: 843
  • Jak wywołać programowe przerwanie w ATMEGA644 bez użycia wolnych pinów?

    Ustaw znacznik gotowości w jakimś nieużywanym peryferialu albo załaduj timer wartością sprzed końca okresu i go włącz.

    Mikrokontrolery AVR   18 Sty 2018 21:38 Odpowiedzi: 51    Wyświetleń: 2295
  • [C] Atmega16 Timer0 - Przerwanie co 1s opóźnia się o 1,5s na minutę, dlaczego?

    Nie. Bo to po ustawieniu fuse jest właśnie wraz z wewnętrzną logiką generator sygnału bazowego całego proca (w tym timerów).

    Mikrokontrolery AVR   12 Wrz 2012 18:12 Odpowiedzi: 11    Wyświetleń: 1212
  • avr-gcc - Atmega32 - przerwania timera 0 restartują program

    źle zdefiniowana funkcja obsługi przerwania. Sprawdź w odpowiednich plikach nagłówkowych.

    Mikrokontrolery AVR   15 Mar 2010 14:28 Odpowiedzi: 3    Wyświetleń: 1119
  • [C][ATMega8535] Jak zabrać się za obsługę przerwań?

    ... ale niestety mądrala nie przytoczył jak powinno się to zapisywać... ) Oj, uważaj bo ktoś może poczuć się urażony i raportować post :) Na temat F_CPU w sieci można znaleźć wiele: F_CPU – gdzie definiować? Chciałbym dowiedzieć się co znaczą te TCCR2, OCR2, TIMSK, jak liczyć te przerwania i dlaczego timer po skopiowaniu tego kodu nie liczy faktycznie...

    Mikrokontrolery Początkujący   26 Kwi 2012 20:12 Odpowiedzi: 6    Wyświetleń: 1508
  • ATmega32 Bascom - Jak odczytać wartość Timer0 przy przerwaniu Int0?

    Zadeklarowałeś "Zmianna" a przypisujesz "Zmienna". :) Edit: Wyjście z procedury obsługi przerwania wykonuje się za pomocą Return a nie Goto Glowny ! Resztę błędów znajdziesz sam. :)

    Mikrokontrolery Początkujący   04 Sty 2012 23:02 Odpowiedzi: 6    Wyświetleń: 2135
  • ATmega32 IAR: Nie działa przerwanie przy przepełnieniu timera T1

    Witam, Popełniłeś kilka błędów: - aby odblokować przerwania od przepełnienia timera 1 trzeba ustawić bit 2 a nie 5 w rejsestrze TIMSK - wektor przerwania od przepełniania timera 1 to nie 0x12 a 0x24 Dobrze jest przy pisaniu w C korzystać z funkcji dostarczanych wraz z kompilatorem "intrinsic function" takich jak __interrupt_enable, __interrupt_disable,...

    Mikrokontrolery AVR   11 Lis 2008 00:00 Odpowiedzi: 3    Wyświetleń: 1437
  • ATMega168: Czy timer generuje przerwania 100 Hz przy kwarcu 16 MHz?

    Pewnie w fusebitach.

    Mikrokontrolery AVR   24 Lip 2010 21:32 Odpowiedzi: 4    Wyświetleń: 1007
  • 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
  • ATmega32 sterowanie silnikami krokowymi - robot kartezjański

    Pierwsze, to nie możesz kuglować włączaniem i wyłączaniem przerwań. Silnik musisz zatrzymywać w inny sposób. z stepCounter zrób tablicę stepCounter[4]; Przerwanie zmodyfikuj mniej więcej tak [syntax=c] ISR(TIMER0_COMP_vect) //funkcja obsługi przerwania { for(char l=0; l<4; x++) { // lepiej for(char l=0; l<LSILNIKOW; x++) // i zrobić #define LSILNIKOW...

    Mikrokontrolery AVR   19 Mar 2018 15:54 Odpowiedzi: 8    Wyświetleń: 876
  • [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ń: 2235
  • ATmega32, jak poprawnie ustawić przerwanie TIMER1 w C na zestawie and-tech EvB 4.3

    słowo kluczowe "volatile"

    Mikrokontrolery Początkujący   29 Gru 2011 20:59 Odpowiedzi: 4    Wyświetleń: 1533
  • Atmega Bascom - Przerwanie - nie mozna skrócić timera

    Uruchomić timer w trybie CTC. Tryb CTC [syntax=vbnet]CONFIG TIMER1 = ..... CLEAR TIMER = 1[/syntax]

    Mikrokontrolery Początkujący   01 Kwi 2016 21:04 Odpowiedzi: 6    Wyświetleń: 1092
  • [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
  • Przerwania w ATmega168 - Prośba o sprawdzenie programu i wytknięcie błędów.

    Wszystko - głównie oczekiwanie w przerwaniu timera. Zacznij od określenia okresu przerwań timera. W przerwaniu użyj zmiennej zliczającej przerwania, np.: - inicjujesz ją na wartość 3 - na początku procedury dekrementujesz ją - przy wartości 1 zapalasz diodę, - przy wartości 0 gasisz diodę i reinicjujesz licznik na wartość 3 Oczywiście zamiast 1 i 3...

    Mikrokontrolery AVR   05 Lip 2013 12:17 Odpowiedzi: 8    Wyświetleń: 1725
  • [ATmega8] [ATmega8][BASCOM] Jak zbudować sekundnik z przerwaniami na LCD 16x2?

    Do drasmen: jeżeli chcesz aby układ zadziałał musisz przestawić fuse bity na wew. generator np. 8MHz a do pinów gdzie podłączasz kwarc musisz wpiąć kwarc zegarkowy 32.768kHz. Program dla autora tematu: 'Program wykorzystujący przerwanie od timera0(8 bitowego) generowane co 8ms 'jeżeli przerwanie zostanie wywołane 125 razy, otrzymamy 1 sekundę...

    Mikrokontrolery AVR   28 Wrz 2008 16:08 Odpowiedzi: 20    Wyświetleń: 4556
  • 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ń: 1389
  • [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ń: 2646
  • Cykliczne załączanie PWM w ATTiny2313A/ATMega328P

    Cześć Pobierz notę katalogową np. Attiny2313a i popatrz jak wygląda kod obsługi USART'a, bo masz błędy w kodzie. Nie chce mi się wierzyć, że nie da się osiągnąć tego czego oczekujesz na Attiny. W przerwaniach timer'a, czy to jednego czy drugiego, możesz manipulować rejestrami COM0Xn, przerwaniami TIMSK. Powinieneś osiągnąć możliwość włączania i wyłączania...

    Mikrokontrolery AVR   20 Gru 2019 22:11 Odpowiedzi: 19    Wyświetleń: 840
  • [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ń: 2647
  • [C] ATMega8 - Timery i przerwania nie działają w kodzie C, WinAVR 20100110

    OK, już działa. Nie wiem czemu, ale Programmers Notepad i A pisałem abyś zainstalował AVR Studio 4.

    Mikrokontrolery AVR   20 Maj 2011 18:47 Odpowiedzi: 14    Wyświetleń: 2166
  • [ATMEGA128] Timer1 CTC nie generuje przerwań przy 16MHz, OCR1A=62500

    Nie widzę problemów przy symulacji w AVR Studio (4.14) Twojego programu. Sprzętowo nie mam jak sprawdzić gdyż nie posiadam obecnie żadnego ATMega128/64.

    Mikrokontrolery AVR   06 Lip 2008 08:32 Odpowiedzi: 23    Wyświetleń: 4136
  • [ATmega8][BASCOM] Przerwania z timera a odczyt z UARTa

    Wklep na początku przerwania : Enable Interrupts Wywnioskowałem to z pomocy bascoma (polecenie on Interrupt)

    Mikrokontrolery AVR   21 Sie 2008 10:59 Odpowiedzi: 4    Wyświetleń: 3124
  • [Atmega8] Atmega8 Bascom - Nadpisywanie zmiennej w przerwaniu int0/int1, reset timer1

    Witam ATMega8 ma Timer1 16-Bitowy i do odczytu lub wpisu służą dwie dane: "TCNT1L" - odczyt lub zapis "dolnej" 8-Bitowej części i "TCNT1H" - odczyt lub zapis "gónej" 8-Bitowej części n.p. stan licznika "21456" odpowiada : TCNT1H =83 ; TCNT1L=208 bo 21456:256(pojemność TCNT1L=256)=83+208 Aby wszystko było OK to obie wartości (TCNT1H i TCNT1L) muszą być...

    Mikrokontrolery AVR   09 Maj 2009 18:31 Odpowiedzi: 14    Wyświetleń: 2809
  • ATmega32, Timer2 RTC, SLEEP_MODE_PWR_SAVE – powrót do snu po przerwaniu Timer2

    na podstawie flagi z przerwania INT2 na początku pętli głównej wchodzić w uśpienie. Ale pętla główna jest wykonywana powiedzmy 0.5 sek. Co sekundę wykonywane jest przerwanie od Timer2. Więc procesor będzie w uśpieniu tylko ok. 50% czasu. Ale problem z długim wykonywaniem się pętli głównej wystąpi tylko za pierwszym razem po zaniku zasilania (ustawienie...

    Mikrokontrolery AVR   14 Paź 2014 18:47 Odpowiedzi: 8    Wyświetleń: 1173
  • 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 - 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
  • [atmega32][bascom] 4 przyciski, jedno przerwanie i powerdown

    A teraz jeszcze jedno pytanie do kolegow jak zrobic budzenie, co sekunde za pomoca timer'a 2. Z tego co zauważyłem, ... Config Clock = Soft , Gosub = Sectic ... to masz podpięty do swojej M32, kwarc "zegarkowy". Do usypiania M32 pracującej jako zegarek, producent przewidział tryb Power-save , więc wykorzystaj ten tryb. Szukalem ale nigdzie nie moge...

    Mikrokontrolery AVR   07 Wrz 2009 14:13 Odpowiedzi: 21    Wyświetleń: 6276
  • [atmega8] [atmega8][C] Timer1 CTC generuje przerwanie rzadziej niż 1s, co robię źle?

    czy nie jest uruchomiony dzielnik zegara przez 8. bo ma włączony bit CKDIV. Tylko od kiedy Atmega8 ma fusebit CKDIV8? TCCR1A |= (1<< WGM12); //tryb CTC WGM12 jest w rejestrze TCCR1B

    Mikrokontrolery AVR   26 Sty 2011 22:19 Odpowiedzi: 6    Wyświetleń: 1705
  • [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
  • 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
  • [BASCOM] Jak skonfigurować przerwanie z transoptorem na Atmega32 bez INT?

    Z tego co wiem "PIN Change Interrupt" ma np. Atmega168 i Atmega 328. Atmega 32 - jakoś nie widzę takiej możliwości. Proszę o poprawienie mnie, jeśli się mylę. Oczywiście zawsze można skorzystać z tych specjalnych pinów - INT0, 1 czy 2 lub zasymulować taką kontrolę stanu pinu w zwykłym przerwaniu - np. timera.

    Mikrokontrolery AVR   27 Maj 2012 17:57 Odpowiedzi: 6    Wyświetleń: 1189
  • ATmega32 - Jak zliczać impulsy, generować PWM i przerwania co kilka ms?

    Cześć, mam pytanie odnośnie Timerów w uC ATmega. Potrzebuję następujących opcji: - zliczanie impulsów z dwóch enkoderów - generowanie dwóch przebiegów PWM - generowanie przerwania co kilka ms. ..............? Czy są jakieś AVR'y mające 4 timery? ........... Pozdrawiam, Bartek Wystarczy ci Atmega48/88/168 Dla 2-ch sygnałów PWM wystarczyłby 1 timer z...

    Mikrokontrolery AVR   05 Lis 2014 23:09 Odpowiedzi: 4    Wyświetleń: 1593
  • 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
  • [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
  • 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
  • [AVR][Atmega328]Przerwania w trybie asynchronicznym

    RTFM podrozdział "Asynchronous Operation of Timer/Counter2". W dużym skrócie: przed uśpieniem trzeba zapisać coś do jednego z rejestrów i czekać na wyzerowanie flagi Busy w ASSR.

    Mikrokontrolery   13 Lis 2020 17:29 Odpowiedzi: 4    Wyświetleń: 354
  • [Atmega8] Timer1 CTC: Jak działają przerwania dla OCR1A i OCR1B?

    Przecież pisze jak na tacy: 1. Licznik nie doliczy do 5000 w trybie CTC - zatem logicznie myśląc trzeba ten tryb wyłączyć . 2. Jeśli licznik ma pracować w trybie CTC to wartość z OCR1B musi być mniejsza niż OCR1A.

    Mikrokontrolery AVR   08 Sie 2009 14:50 Odpowiedzi: 5    Wyświetleń: 2009
  • [Atmega32]Jak skonfigurować zegarki wewnetrzne (Timer1 i Timer0)?

    drogi starosto int0 jako przerwanie zewnętrznę może posłużyć np tak jak na laborkach do obsługi odbioru rc5 gdy podczas wystąpienia tego przerwania odbierany jest kod rc5 z odbiornika podczerwieni . pml11

    Mikrokontrolery AVR   26 Cze 2011 20:40 Odpowiedzi: 13    Wyświetleń: 1845
  • Cuda z przerwaniami. Ciągle wraca do reti. Listing.

    nie wiem czemu przeskakuje do 8 od dołu "reti" po czym dochodzi do pętli głównej i co drugi krok wraca do tego nieszczęsnego "reti" Tam nie powinno być reti, a poza tym jako wektrów przerwań dla ATmega16 musisz używać instrukcji 'jmp', a nie 'rjmp'. Spróbuj zrobić tak: ..... .org 0x00 jmp reset jmp ext_int0 jmp def_vect jmp def_vect jmp def_vect jmp...

    Mikrokontrolery AVR   03 Maj 2011 09:56 Odpowiedzi: 4    Wyświetleń: 1139
  • Atmega16L Timer0 i Watchdog - wpływ soft UART na reset po 950ms

    Jeśli piszesz w WinAVR i otworzysz plik w asemblerze to zobaczysz, że każde nie używane przerwanie prowadzi do resetu. Nieużywane tzn. nie posiada funkcji obsługi przerwania. Przerwanie takie od np. przepełnienia timera może nastąpić jeśli zostanie odblokowane, ale jak mówisz w tym przypadku to nie to. Możesz po prostu wyłączyć watchdoga i upewnić się...

    Mikrokontrolery AVR   18 Cze 2010 17:01 Odpowiedzi: 3    Wyświetleń: 888
  • [atmega8][bascom] O co chodzi tak na prawdę z tymi timerami?

    Poi pierwsze. Do BASCOM-a jest pomoc - także po polsku, której to zresztą jestem autorem. Wersję on-line (beta) znajdziesz na mojej stronie WWW. Jak one działają? Zliczają impusy. Albo z prescalera, albo z zewnątrz. Patrz nota katalogowa. W którą stronę zliczają? Zwykle liczą w górę. W trybach PWM liczą też w obie strony. Patrz nota katalogowa. Jak...

    Mikrokontrolery AVR   29 Paź 2008 20:50 Odpowiedzi: 5    Wyświetleń: 2678
  • 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
  • Atmega 128 - Timer0 nie działa poprawnie, jak skonfigurować przerwania?

    Po pierwsze nie podoba mi się zapis: Pinc.1 = not Pinc.1 Powinno być raczej: Portc.1 = Not Portc.1 Albo jak ktoś się bardzo uprze: Portc.1 = Not Pinc.1 Ale ogólnie do rejestru Pinx raczej nie zapisujemy. Ponadto... zegar 4MHz, dzielnik w timerze przez 256, timer0 (8 bitowy) ładowany wartością 250.... to daje podział przez 6*256 = 1536. To częstotliwość...

    Mikrokontrolery   24 Sie 2007 15:42 Odpowiedzi: 2    Wyświetleń: 1533
  • [ATMEGA8] ATMEGA8 licznik czasu: start/stop odliczania przyciskiem, obsługa timerów i przerwań

    O nie na gotowca nie licz :) Ale jeżeli chcesz to mogę Cię naprowadzać i poprawiać błędy w kodzie. To pozwoli Ci nauczyć się czytać i rozumieć datasheet w zakresie timerów i przerwań. Pasuje?

    Mikrokontrolery AVR   18 Kwi 2011 09:29 Odpowiedzi: 34    Wyświetleń: 6573
  • Atmega168A-PU: Brak działania przerwań, mruganie diodą nieudane.

    Widzicie gdzieś problem w kodzie? Zobacz rozwinięcie asseblerowe czy na pewno istnieje obsługa:[syntax=c]ISR(TIMER0_OVF_vect)[/... Kompilator AVT-GCC nie sygnalizuje próby stworzenia obsługi wektora, który nie istnieje a o bład łatwo, bo w nazwach wektorów jest "mały" nieład. Możesz tez sprawdzić debugerem. Jeśli przerwanie nie istnieje nie da...

    Mikrokontrolery Początkujący   03 Lip 2018 14:16 Odpowiedzi: 10    Wyświetleń: 612
  • ATmega8 i LCD: błędy przy włączaniu przerwań timera0 - jak to naprawić?

    Miałem podobny problem. Tyle tylko, że ja umieściłem w przerwaniu zegara funkcję, która aktualizowała czas na wyświetlaczu i gdy przerwanie trafiło na moment, gdy inna funkcja cos wyświetlała to robiło się zamieszane. Objawiało się to w taki sposób ze pojawiały się przypadkowe znaczki. Musisz pokombinować tak żeby nic nie przerywało aktualnie trwającego...

    Mikrokontrolery   13 Lut 2008 19:54 Odpowiedzi: 7    Wyświetleń: 1632
  • Atmega8: Konflikt przerwań Timer1 i Timer0 przy sterowaniu PWM i diodą

    A co jeśli do pierwotnego kodu dodasz: [syntax=c]ISR(TIMER1_COMPB_vect) { }[/syntax]

    Mikrokontrolery Początkujący   07 Cze 2012 11:59 Odpowiedzi: 3    Wyświetleń: 1589