przerwanie timer atmega

Znaleziono około 3996 wyników dla: przerwanie timer atmega
  • 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ń: 1089
  • REKLAMA
  • ATMEGA 2560 czy można zmienić priorytety danych przerwań

    Jakoś nie mogę sobie tego wyobrazić. Żeby ISR od Timera zakłócał ISR od UARTA musiałby trwać dłużej niż interwał. Podejrzewam, że raczej program główny nie wyrabia się ze skonsumowaniem zawartości bufora UARTa. Tak czy inaczej pokaż program, a co najmniej procedurę obsługi przerwania timera.

    Mikrokontrolery Początkujący   08 Sie 2017 20:29 Odpowiedzi: 15    Wyświetleń: 2007
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • ATMEGA 8 - Jak ustawić przerwanie timera co 1s z prescalerem 128?

    W dokumentacji niestety dla licznika 1 nie występuje preskaler 128. Występuje natomiast 256. Zakładając, że licznik pracuje w trybie CTC (WGM12 =1) i zakładając 8MHz źródło sygnału zegarowego (tak jak jest w komentarzu w kodzie) należy wpisać do OCR1A= 31249 oraz ustawić preskaler na 256 czyli CS12=1 A tak na przyszłość ...nota katalogowa. Tam wszystko...

    Mikrokontrolery AVR   05 Gru 2014 09:46 Odpowiedzi: 11    Wyświetleń: 1380
  • Atmega, ADC, przewanie w trybie pojedyńczych strzałów

    W przerwaniu timera kolejno: 1. odczytujesz poprzedni pomiar ADC i przetwarzasz wyniki 2. startujesz kolejny pomiar, którego wynik odczytasz przy następnym wejściu w przerwanie timera

    Mikrokontrolery Początkujący   14 Sty 2021 14:16 Odpowiedzi: 6    Wyświetleń: 402
  • 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
  • REKLAMA
  • Atmega 8 Timer - Timer0 nie działa, kod nie wywołuje przerwań

    Ustawiasz timer0 a oczekujesz przerwania z timera 1 Interesujace.

    Mikrokontrolery AVR   16 Mar 2016 15:39 Odpowiedzi: 12    Wyświetleń: 1389
  • [AVR] Wymuszenie przerwania Timera Atmega jakakolwiek

    Witam, Niedawno zrobiłem programik, który generuje 3przebiegi przesunięte w fazie. Triggerem dla pierwszego przebiegu jest detektor zera sieci na INT0. Chciałem całą obsługę generowania sygnałów zrobić na przerwaniu Timera. Ale mój ból jak wywołać przerwanie Timera natychmiast po otrzymaniu sygnału na INT0 Wykombinowałem sobie takie o to rzeczy tuż...

    Mikrokontrolery   08 Sie 2010 20:13 Odpowiedzi: 2    Wyświetleń: 1722
  • Arduino - WS2812B brak pełnego spektrum świecenia.

    Obsługa WS2812 na AVR nie może działać przy aktywnych przerwaniach z jakiegokolwiek źródła. Obsługa DMX korzysta z przerwania UART i masz jeszcze przerwanie timera. Proste? Zmień mikrokontroler.... Z ATmega WS2812 DOBRZE nie popędzisz.

    Arduino   03 Lut 2016 23:16 Odpowiedzi: 2    Wyświetleń: 1341
  • Bascom Atmega - Program z wykorzystaniem timera do odmierzenia czasu. Pytanie.

    8Mhz /256 daje 31 250. 31250/125 daje 250 (ms) (250 -125ms) * 8 (co ósme przerwanie) = 1s.

    Mikrokontrolery Początkujący   03 Maj 2014 20:09 Odpowiedzi: 4    Wyświetleń: 1242
  • [C][Atmega8A] - DS18B20, wyświetlacze 7-osegmentowe, a opóźnienia

    Jeśli w przerwaniu wyświetlania będzie tylko zatrzaśnięcie danych w HC585 i wybór kolumny, to nie ma problemu. Do OW najlepiej jednak będzie użyć UARTa, bo na przerwaniach timera na ATmega raczej się zarżniesz. OW na UART, ładowanie danych wiersza w pętli głównej i jakoś to poleci nawet na cienkim ATmega.

    Mikrokontrolery AVR   02 Kwi 2013 20:59 Odpowiedzi: 23    Wyświetleń: 2496
  • Atmega 32A - PWM i ADC wykorzystane jednocześnie??

    Przecież to Ty programujesz timer, a timer może po każdym okresie np. zgłosić przerwanie.

    Mikrokontrolery   29 Sty 2015 21:26 Odpowiedzi: 8    Wyświetleń: 1602
  • Atmega 32 Timer - Niekompilujący się kod z przyciskiem i INT0, LCD pokazuje 0

    Zanim włączysz konkretne przerwanie włącz przerwania globalne. wpisz tak Enable interrupts Enable int0 Pozdrawiam :)

    Mikrokontrolery AVR   22 Sty 2013 20:51 Odpowiedzi: 3    Wyświetleń: 1221
  • [ATMega] Jak najlepiej mierzyć prędkość na ATMega w Bascom? Impulsy, przerwania, timer?

    Tak. Tylko mniej świadomość że procek będzie odrywany od pracy wieloma nieprzydatnymi impulsami. Ewentualnie po pierwszym impulsie na INT, wyłącz przerwania na czas drgań. Jak teraz masz podłączony kontrakton ? INT podciągnięty pod +5V ? Jak INT wyzwalasz ? W docelowym projekcie koniecznie czujnik kontraktonowy zamień na jakiś halotron albo transoptor...

    Mikrokontrolery AVR   27 Lip 2009 22:14 Odpowiedzi: 6    Wyświetleń: 4350
  • REKLAMA
  • 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
  • Jak zbudować obrotomierz na Atmega8 z LCD 2x16 i sygnałem 5V?

    Diody masz podpięte bezpośrednio pod porty ATmega? Jeśli tak to lepiej dołóż sobie oporniki aby nie spalić wyjść ATmegi. Bezpośrednio przy procku daj kondensator 100nF. Przed stabilizatorem np. 1000uF, a za stabilizatorem 100u (to i tak za dużo, ale lepiej więcej niż za mało). Zliczanie zrealizowałbym w taki sposób: - Odpalić któryś z wewnętrznych timerów...

    Projektowanie Układów   07 Mar 2008 13:37 Odpowiedzi: 1    Wyświetleń: 3173
  • 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ń: 1857
  • [Atmega 8] [Atmega 8][GCC][VMLab] - Timer w symulatorze działa za szybko, jak to naprawić?

    OK. Jestem teraz prawie pewien gdzie leży problem. Otóż ten program VMLAB jest kiepskim symulatorem i nie za bardzo łapie operator volatile. Program zawiesza się na pętli while() w funkcji licz(), ignorując zupełnie przerwania. Jest to moim zdaniem wina tego symulatora. Układ fizyczny powinien działać. W wolnej chwili odpalę na symulatorze AS6. Edit:...

    Mikrokontrolery AVR   19 Sty 2014 09:10 Odpowiedzi: 14    Wyświetleń: 2010
  • [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ń: 35829
  • atmega 8535 - Program nie sygnalizuje przerwań. ISR(TIMER0_COMP_vect)

    Witam, z niewyjaśnionych dla mnie przyczyn program napisany pot atmegę 8535 nie chce uruchamiać przerwań wywoływanych przez zegar. Posiadam taki następujący kod który powinien co przerwanie zmieniać stan portu B. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> void system_init() { TCCR0 = 0x00; // Wylaczenie Timera 0 TCNT0 = 0x00;...

    Mikrokontrolery AVR   10 Wrz 2013 09:47 Odpowiedzi: 1    Wyświetleń: 1440
  • [atmega] Kompilacja freemodbus na atmega168 z Winavr - błędy avr-objcopy

    Odbiór znaków rób w przerwaniu i zapisuj je kolejno do bufora. W przerwaniu tym włączaj lub resetuj przerwanie timera tak, aby przerwanie timera było wyzwolone dokładnie 3,5 znaku później. Jeśli w tym czasie przyjdzie jakiś znak resetuj timer i cykl będzie mógł powtórzyć się, jesli jednak znak nie zostanie odebrany w tym czasie przerwanie timera wyzwoli...

    Mikrokontrolery AVR   22 Maj 2011 09:17 Odpowiedzi: 18    Wyświetleń: 20376
  • [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ń: 4023
  • Jak sprawdzić działanie klawiatury membranowej 12 klawiszy bez zasilania ATMEGA?

    Nie, podajesz na jedno wyjście wiersza stan niski i sprawdzasz stan wejść kolumn podciągniętych wwnętrznei do plusa. Robisz to zwsze w przerwaniu timera. To samo przerwanie może służyć np. do wyświetlanai LED, o ile masz w systemie wyświetlacz multipleksowany.

    Mikrokontrolery Początkujący   16 Maj 2016 23:00 Odpowiedzi: 11    Wyświetleń: 1266
  • Atmega 8 - przerwanie od przepełnienia timera 2 działa w symulatorze, nie w układzie

    Czy komuś udało się uruchomić prostą obsługę od przepełnienia TIMERA 2 w Atmedze 8. Mi się udało.

    Mikrokontrolery   01 Sty 2007 21:04 Odpowiedzi: 13    Wyświetleń: 3179
  • [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ń: 1180
  • 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ń: 1092
  • Atmega 8 - Timer 2: Problem z ISR po zmianie zmiennej globalnej `choose`

    Czyli zrobić zewnętrzne przerwanie na te funkcje??

    Mikrokontrolery AVR   29 Gru 2013 11:04 Odpowiedzi: 8    Wyświetleń: 1833
  • [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
  • ATmega32 - Program nie wchodzi w obsługę przerwania TIMER0_COMP_vect

    TCCR0 |= (1<<WGM01) | (1<<CS01); OCR0 = XXX; TIMSK |= (1<<OCIE0); Tak wygląda konfiguracja timera w tryb CTC z preskalerem 8 i zezwoleniem na przerwanie Compare Match

    Mikrokontrolery AVR   30 Gru 2012 14:29 Odpowiedzi: 17    Wyświetleń: 2436
  • prośba o sprawdzenie schematu Atmega + przekaźnik 12 VDC

    Load Timer0 = 625 ?? Mam nadzieję, że kolega sam rozumie błąd w tym miejscu:> Poza tym ładnie jest najpierw włączyć timer a potem zezwolenie na globalne przerwania:>

    Mikrokontrolery   19 Kwi 2008 13:02 Odpowiedzi: 37    Wyświetleń: 10469
  • Atmega 8 - Licznik do14-stu żle działakący kod C

    czy taki kod na Atmedze 8 da się zrealizować Zdecydowanie nie przewyższa możliwości obliczeniowych atmegi. Proponuje w pierwszej kolejności przemyslec definicję pierwszego impulsu. Jak kolega to zrobi to znajdzie (bez programowania w pierwszej kolejności) algorytm wykrywania że jest on pierwszy i należy liczyć od poczatku. A jak juz bedzie wiadomo...

    Mikrokontrolery AVR   01 Sty 2016 19:33 Odpowiedzi: 27    Wyświetleń: 1785
  • ATMEGA 8 i PWM - jak na jednym Timerze uruchamiać przerwanie co sekundę

    (nie mam w tym momencie czasu aby przyjrzeć się temu bliżej, postaram się odpowiedzieć następnym razem pełniej) Masz napisane: TCCR1A = (1<<WGM10) | (1<<COM1A1) | (1<<COM1A0); //8bit PWM, phase correct TCCR1B = (1<<CS12) | (1<<WGM12); 8-bit PWM, phase correct ma wlaczone tylko WGM10. Tak jak Ty masz WGMy ustawione to wynika,...

    Mikrokontrolery   25 Maj 2006 00:18 Odpowiedzi: 1    Wyświetleń: 2224
  • ATMega 32 nie wykrywa szybkiego impulsu z czujnika szczelinowego przy 120m/s

    Czekaj, czekaj. Jeden czujnik odpali przerwanie INT0 a w tym przerwaniu sie uruchomi timer. Drugi czujnik po INT1 ma go wyłączyć. Raczej o tym myślałem. Lepiej tak: czy ktoś by mi dokładnie wytłumaczył jak wywoływać timery, zbierać z nich czas, do czego służą poszczególne rejestry. Noty katalogowej tego procka po polsku nie znalazłem, a dobrego poradnika...

    Mikrokontrolery AVR   07 Paź 2017 14:55 Odpowiedzi: 32    Wyświetleń: 3702
  • [Przerwania] Atmega 32 - jak poprawnie obsłużyć przerwania w projekcie skrzyżowania?

    Ślepy zaułek. Obejrzyj kod, który podlinkowałem - dwie linie kodu w przerwaniu timera załatwiają sprawę.

    Mikrokontrolery AVR   02 Gru 2013 07:56 Odpowiedzi: 21    Wyświetleń: 2259
  • Atmega 8 - Zawieszanie się sterownika przy zakłóceniach świetlówki i czujnikach DS18B20

    "Od samego początku mam problem ze sterownikiem."...."A jeszcze jedno w kontrolerze jest włączony timer jako counter do zliczania impulsów ślimaka podajnika Przerywasz w programie procedurę wyświetlania na LCD przerwaniem od Timera.

    Mikrokontrolery Początkujący   08 Wrz 2013 08:19 Odpowiedzi: 50    Wyświetleń: 9432
  • 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ń: 1215
  • Atmega/Attiny z dwoma pinami ICP do pomiaru szerokości impulsu PWM 1kHz

    Ewentualnie przy większej liczbie sygnałów - przerwania INT lub PCINT. Ale to już bardziej programowy pomiar, przez co mniej dokładny ale dokładniejszy niż w przerwaniu od timera.

    Mikrokontrolery Początkujący   14 Mar 2018 10:53 Odpowiedzi: 26    Wyświetleń: 1257
  • AVR ATmega32 Problem - ATMega 32A Sterowanie potencjometrem silnika krokowego

    Treść Twojego programu nie odpowiada założonej funkcjonalności. Podobno chcesz, żeby silnik śledził położenie potencjometru, a tymczasem robisz coś zupełnie innego - wykonujesz pewną liczbę kroków w zależności od różnicy dwóch kolejnych pomiarów ADC. Zacznij od przerwania timera, zgłaszanego z okresem kroku. W nim odczytaj ADC i przefiltruj (obecnie...

    Mikrokontrolery   01 Mar 2015 01:17 Odpowiedzi: 11    Wyświetleń: 3309
  • 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
  • [Atmega 8535] Atmega 8535: Jak napisać pętlę do obsługi klawiatury matrycowej 4x5?

    Idea jest zawsze taka sama, bez wzgledu na procesor. Jezeli Verengard nie uzywa zadnego OSa to moze zrobic to na przerwaniu od timera.

    Mikrokontrolery AVR   28 Gru 2010 17:50 Odpowiedzi: 9    Wyświetleń: 1729
  • AVR - Generowanie PWM na Atmega 328p z timerami 8 i 16 bitowymi - problem z sygnałem

    Tojmak987123 pomyliłeś pojęcia: Szerokości wypełnienia nie mierzy się w Hz tylko w procentach lub jednostkach czasu (np. mikrosekundach). Twój program wywołuje przerwanie Timera0 co (256-194)*64 cykli zegara, Timer1 jest ustawiany 5 razy rzadziej czyli co 19840 cykli zegara tylko tyle możesz nim odmierzyć (a nawet trochę mniej ze względu na czas ustawiania)....

    Mikrokontrolery AVR   20 Sty 2017 18:31 Odpowiedzi: 10    Wyświetleń: 1212
  • Zegar na Atmega 32 - spieszy o 2sekundy na godzinę

    Z kwarcu i preskalera wyliczasz sobie przy jakiej wartości licznik powinien się przepełnić i taką wartość ustawiasz w rejestrze OCRx. Włączasz tryb CTC timera, preskaler i przerwanie.

    Mikrokontrolery   18 Maj 2017 21:33 Odpowiedzi: 20    Wyświetleń: 1341
  • Atmega644pa - Timer1 nie odmierza równo 1 sekundy w trybie CTC

    Pamiętaj że sama transmisja też swoje trwa :) a poza tym nie pokazałeś funkcji printf (może ona bawi się w _delay_ms() ?) Zauważ również że przerwanie występuje niezależnie od transmisji, może dochodzić do takiej sytuacji ze raz przerwanie zmienić Ci wartość zmiennej tuż przed transmisją a raz tuż po niej i to spowoduje Twoje opóźnienia. Spróbuj blokować...

    Mikrokontrolery AVR   18 Wrz 2013 14:49 Odpowiedzi: 15    Wyświetleń: 2949
  • Matryca LED/Atmega - Słaba jasność diod/Wybór zasilania

    Bardzo dziękuję za wytłumaczenie. A co w kwestii programu? Co dają te przerwania timera?

    Projektowanie Układów   24 Lut 2015 14:24 Odpowiedzi: 24    Wyświetleń: 1383
  • Ustawienie timerów na ATmega128 - Zegar wewnętrzny 8MHz, Timer1 1s, Timer0 4ms, konfiguracja kodu

    Nie nie rób się kaczką albo sie prześpij ahahahahahaha :D OCIE1B zamieniasz na OCIE1A OCR1B zamieniasz na OCR1A zamieniasz wektor TIMER1_COMPB_vect na TIMER1_COMPA_vect kasujesz wszędzie to TCNT1=0 bo nie ma sensu Dla Timer0, w przerwaniu, pod linijką "dot ++ ; " dopisz TCNT0 = 6; To też można na palcach policzyć: 8MHz to jest na sekundę a sekunda ma...

    Mikrokontrolery AVR   12 Lis 2022 02:13 Odpowiedzi: 6    Wyświetleń: 396
  • 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
  • atmega bascom - Atmega bascom pomiar prądu przy pwm

    No jeżeli jest Phase Correct to ok. To wystarczy zadeklarować przerwanie za pomocą On Timer. A potem je obsługiwać odpowiednio.

    Mikrokontrolery AVR   25 Cze 2018 21:02 Odpowiedzi: 49    Wyświetleń: 6159
  • [Atmega128] Przykładowy kod w C dla Atmega128 obsługujący 2xRS232, konfiguracja AVR Studio

    Wektorów przerwań szuka sie nie tyle w dokumentacji winavr co w dokumentacji kontrolera, który się programuje. Nazwa wektora to nazwa przerwania ze spacjami zastąpionymi podkreślnikiem i dodanym przyrostkiem _vect np przerwanie od przepełnienia timera 1 w atmega 32: w dokumetnacji sekcja Interrupts (str. 42) 10 $012 TIMER1 OVF Timer/Counter1 Overflow...

    Mikrokontrolery AVR   24 Sie 2008 12:52 Odpowiedzi: 13    Wyświetleń: 1976
  • [ATmega88pa] [ATmega88pa][C] - Timer nie wywołuje przerwań dla programowego PWM

    Generalnie w takich przypadkach nota układu twoim przyjacielem. Poczytaj to co napisałem w komentarzach. [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> int main(void) { uint8_t i = 0; DDRD = 0xff; //TCCR2A |= (1<<WGM21)|(1<<WGM22); // źle ten tryb jest zarezerwowany TCCR2A |= (1<<WGM21) // CTC //TCCR2A |= (1<<CS20)|(1<<CS21)|(1<&l...

    Mikrokontrolery   12 Kwi 2015 16:54 Odpowiedzi: 2    Wyświetleń: 702
  • AVR ATmega16 - Zawieszanie programu przy przerwaniu Timer2, kwarc 8MHz

    Problem dalej istnieje, zakreskowuję obsługę przerwania ISR(TIMER0_COMP_vect}, poprostu je wywalam i w momencie startu timera 0 wiesza się program, a wtedy przecież nie robi żadnych obliczeń. Bo nadal masz włączone to przerwanie, a nie masz funkcji jego obsługi.

    Mikrokontrolery AVR   26 Sty 2014 09:24 Odpowiedzi: 8    Wyświetleń: 1653
  • [ATmega] ATmega, BASCOM, Borland – jak zmieniać parametry migania LED RC przez PC i EEPROM?

    Ja to widzę tak: - ustawisz ADC w tryb Free Running, czyli będzie na okrągło wykonywał pomiary na jakimś wejściu a ponieważ wejście zostawimy niepodłączone, to jest szansa na losowe bity. - po skończeniu pomiaru ADC wywoła przerwanie które będziemy wykorzystywać do wszystkich Twoich potrzeb nie tylko do generowania losowej liczby. Innymi słowy ADC zastąpi...

    Mikrokontrolery AVR   22 Cze 2011 21:44 Odpowiedzi: 161    Wyświetleń: 13587
  • [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
  • Zewnętrzny timer z wyzwalaczem na ATmega - NE555 czy układ na I2C?

    Potrzebny mi timer z wyzwalaczem i przerwaniem na ATmega. Założenie jest takie że przed rozpoczęciem zadania ATmega ma aktywować timer, a jeśli nie zostanie ono wykonane w określonym czasie to nastąpi przerwanie i wyświetli awarię. Problem w tym że czas timera jest dość spory (powyżej 1 min) i bardziej widzę zrobienie czegoś takiego na zewnętrznym niezależnym...

    Projektowanie Układów   07 Lip 2015 13:17 Odpowiedzi: 19    Wyświetleń: 1053
  • [atmega] [ATmega][Bascom] Jak odliczać czas bez zatrzymywania programu?

    Może używając timer1 i jakąś zmienną przechowującą ilość przerwań wywołanych przez ten timer - czyli co przerwanie timera zmienna+1 i jeśli osiągnie jakąś tam wartość (czyli ileś tam przerwań timera = jakiś czas (zależny od kwarcu)) to wtedy spełniać ten warunek.

    Mikrokontrolery   12 Wrz 2008 14:02 Odpowiedzi: 20    Wyświetleń: 2589
  • Jak przyspieszyć regulację obrotów silnika z Atmega 8 w Bascom?

    A jak często musisz odświeżać informacje na wyświetlaczu? Może wystarczy raz na np. dwie sekundy? Masz przecież wolny jeszcze timer - możesz wykorzystać go w przerwaniu aby odświeżał wyświetlacz. Taka chwilowa "niedyspozycja" kontroli będzie w zasadzie nie zauważalna dla silnika.

    Mikrokontrolery AVR   27 Lis 2013 20:28 Odpowiedzi: 6    Wyświetleń: 3108
  • Różnice między Atmega 644p a 1284p - kompatybilność programów

    Czy są jakieś znaczące róznice tak aby program napisany na 1284 nie chodzil na 644P? Np. M1284p ma 4 timery, a mniejsze siostry tylko 3 :D Wiąże się to więc, z 4 dodatkowymi źródłami przerwań i większym o 16 bajtów obszarem wektorów przerwań.

    Mikrokontrolery   26 Maj 2011 10:06 Odpowiedzi: 9    Wyświetleń: 2175
  • [ATMEGA] [C] Sprawdzenie stanu zmiennej - modulo vs porównanie

    Pomyśl, co się stanie, gdy przerwanie timera zostanie zgłoszone w trakcie wykonywania modyfikacji portu w pętli głównej, po odczycie PORTB, a przed jego zapisem. Jeśli wyjścia są modyfikowane w przerwaniach - nie należy modyfikować innych wyjść tego samego portu w wątku głównym. To jedna z wielu przesłanek za tym, by "pętla główna" była pusta. Inaczej...

    Mikrokontrolery Początkujący   20 Lip 2017 17:04 Odpowiedzi: 13    Wyświetleń: 1578
  • News: Od dzisiaj jest dostępne AVRStudio w wersji 5

    Bardzo dziękuję, ale jeszcze dopytam. Czy symulację należy wywołać poprzez Alt+F5 (Start Debugging and Break) bez zaznaczania punktu "break", a następnie wcisnąć pauzę w dowolnym momencie? Co znaczy kliknąć na flagę? W AVRStudio 4 jest to czerwona chorągiewka, podobnie jak w MS Outlook, ale w symulatorze AVRStudio 5 nic jej nie przypomina. Moim zamiarem...

    Mikrokontrolery AVR   09 Cze 2012 06:29 Odpowiedzi: 163    Wyświetleń: 31850
  • [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
  • Fazowa regulacja obrotów a stabilność programu Arduino

    Atmega 328 Przerwanie 50hz do sterowania fazowego blokuje odliczanie millis(); , występują opóźnienia w całym programie. Trudno cię zrozumieć, ale sprawdzanie millis() wskazuje na to że nie używasz potencjału jaki jest w sprzęcie, powinieneś ustawić przerwanie tak aby timer wywołał je kiedy jest potrzeba zmiany stanu wyjścia, albo w ogóle bez udziału...

    Początkujący Elektronicy   04 Lis 2018 20:21 Odpowiedzi: 11    Wyświetleń: 825
  • Jak uzyskać 32 kanały PWM z ATMEGA 32 bez migotania diod?

    Nie podoba mi się twoje rozwiązanie. Ja bym to zrobił tak - timer odmierzający takty w rytm podstawowego okresu PWM (czyli przerwania np. 1kHz). Teraz zamiast tych porównań z licznikami, wrzuć wartość licznika do rejestru compare register. Dzięki temu masz przerwanie po przepełnieniu timera (nowy okres) - w tym przerwaniu inicjujesz wysyłkę danych po...

    Mikrokontrolery AVR   04 Sie 2011 09:07 Odpowiedzi: 44    Wyświetleń: 6328
  • [Atmega8] [Atmega8][Bascom] Jak skonfigurować wyświetlacz LCD do pomiaru temperatury i napięcia?

    Co do wyłączenie światła po 30 sek. Dodaj dodatkową zmienną bit która będzie ustawiana np: na 1 po wyłączenia światła przez timer po 30 sekundach a dzięki niej nie będzie ponownie włączane światło przez wciąż otwarte drzwi (stan niski na wejściu uC). Dopiero zamkniecie drzwi ( stan wysoki na wejściu uC) spowoduje zmianę tej zmiennej na 0 dim 30SEK as...

    Mikrokontrolery AVR   30 Kwi 2010 06:56 Odpowiedzi: 6    Wyświetleń: 2358
  • Atmega/Arduino - różne czasy iteracji pętli, dlaczego?

    W Arduino na dzień dobry odpalany jest timer pomiaru czasu z przerwaniem co ok. 1ms

    Mikrokontrolery Początkujący   03 Gru 2019 11:08 Odpowiedzi: 10    Wyświetleń: 756
  • [Atmega32][C] Zliczanie kliknięć przycisku w timerze, eliminacja drgań przycisku

    [syntax=c] #define Button (1<<PB0) #define Button_PORT PORTB #define Button_PIN PINB #define Button_DDR DDRB volatile _Bool Key_Pressed = 0; // flaga wciśniętego przycisku [/syntax] [syntax=c] Button_DDR &= ~(Button); //port - wejście Button_PORT |= (Button); //włącz pull up [/syntax] [syntax=c] ISR(TIMER0_OVF_vect)//przerwanie wywoływane...

    Mikrokontrolery AVR   22 Lis 2018 21:11 Odpowiedzi: 7    Wyświetleń: 1074
  • 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ń: 1488
  • Atmega8 - Implementacja przerwań dla DMX z UART i timerem RS485

    Problem jest taki że sama ramkę danych wysyłam po UART tak jak Rs232 i jest ok, ale żeby nadać resztę to muszę zrobić przerwanie i załączyć wtedy np timer. No i nie wiem jak to wykonać w praktyce by to się tak przełączało miedzy sobą. Przełączanie (przerwania) realizuje sprzętowo Atmega, nie wiem więc o co chodzi? Chcesz aby w momencie transmisji wywołać...

    Mikrokontrolery AVR   17 Wrz 2012 17:07 Odpowiedzi: 14    Wyświetleń: 2640
  • [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
  • [ATMega168] Jak obsłużyć przerwania przycisków i timera w ATMega168 z kwarcem 32,768 kHz?

    Ale to się da zrobić bez _delay(). Po prostu wystawiasz żądanie odczytu- zapominasz o tym na 1s a program robi swoje- a po 1s przerwanie Ci przypomina o odczycie. To jest może nieco trudniejsze do zrozumienia- ale program powinien chodzić bez żadnego _delay(). No może jak masz pojedyncze us- ale już setki us- to trzeba nad tym popracować.

    Mikrokontrolery Początkujący   20 Gru 2011 10:00 Odpowiedzi: 31    Wyświetleń: 5114
  • [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
  • ATmega Bascom - Jak zliczać impulsy powyżej 256 na Timer0?

    Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).

    Mikrokontrolery AVR   14 Gru 2014 14:58 Odpowiedzi: 2    Wyświetleń: 1272
  • Jak obsłużyć usypianie i wybudzanie ATmega 32 jednym przyciskiem PD2?

    No tak, przerwanie uruchamia się, i wyłącza swoją obsługę przed wywołaniem sleep_mode(). Możesz to usunąć z przerwania i umieścić zaraz po sleep_mode()? Wstawianie _delay_ms() w wielu miejscach to słaby pomysł i lepiej z tego zrezygnuj jeśli ten program ma robić jeszcze cokolwiek innego. Pokaż ten timer, który Ci pamięć zajmuje. To są dwa bajty i trzy...

    Mikrokontrolery Początkujący   03 Lis 2019 19:57 Odpowiedzi: 21    Wyświetleń: 1020
  • ATMega, język C – jak zliczać impulsy z przycisku i zapisywać do pamięci?

    I pomyśleć, że tyle dyskutujecie o dwóch liniach kodu w przerwaniu timera wywoływanym np. co 10 ms. http://mikrokontrolery.blogspot.com/2011... Obejrzyj ten przykład, a pod if() wstaw instrukcję licznik ++ - i masz całe rozwiązanie.

    Mikrokontrolery Początkujący   10 Cze 2014 11:22 Odpowiedzi: 8    Wyświetleń: 1419
  • [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
  • [ATmega32] Jak napisać procedurę obsługi przerwania timera0 dla diody LED na ATmega32?

    [syntax=asm] .device ATmega32 .include "m32def.inc" .def temp= r16 .def counter= r17 .org 0 RJMP start .org $016 ;wektor przerwania dla przepełnienia timera RJMP przerwanie start: ldi temp, high(RAMEND) out SPH, temp ldi temp, (1<<CS00) | (1<<CS02) ;konfiguracja preskalera i zegara out TCCR0, temp ;w rejestrze TCCR0 (ustawienia główne timera)...

    Mikrokontrolery AVR   27 Paź 2011 11:19 Odpowiedzi: 8    Wyświetleń: 2549
  • 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
  • [C] Jak obsłużyć switch w Atmega, by zmieniać sekwencje LED jednym naciśnięciem?

    Skoro już używasz timera, to zrób to na timerze :) Najprościej tak, że ustawiasz timer w tryb CTC, procedura obsługi przerwania działa tak jak to wcześniej opisałem. Jeśli chcesz uzyskać przyśpieszenie po przytrzymaniu klawisza to zmieniasz tylko wartość rejestru porównania w trybie CTC na mniejsza, w efekcie kolejne przerwania będą przychodzić szybciej,...

    Mikrokontrolery AVR   28 Maj 2010 18:08 Odpowiedzi: 24    Wyświetleń: 4805
  • 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ń: 2250
  • [ATmega][Bascom] Proszę o podpowiedź co robię źle, polecenie incr.

    marcinek.p - to gotowiec dla ciebie, nie mam jak go przetestować ale jestem pewien że zadziała jak trzeba. Masz tu przerwanie, miganie led i zliczanie migniec z incr Mozna to wszystko wkleic do przerwania ale dobra zasada nakazuje w przerwaniach umieszczać jak najmniej kodu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 $hwstack = 32 $swstack...

    Mikrokontrolery AVR   08 Lut 2012 12:14 Odpowiedzi: 11    Wyświetleń: 2217
  • ATmega128, Bascom AVR – cykliczne sprawdzanie temperatury co 2s przez przerwanie timera

    Witam wszystkich. Pisze program do pewnej maszyny gdzie pracują silniki krokowe itp. Ale jest tez pomiar temperatury (termostat) jak zrobic zeby co ok 2s niezaleznie od głównego programu procesor sprawdzal czy wlaczyc czy wylaczyc grzalke. Slyszalem o przerwaniu z przepelnienia licznika ale nigdy tego nie praktykowalem. Procek to ATMEGA 128 a kompilator...

    Mikrokontrolery   17 Lip 2006 23:50 Odpowiedzi: 2    Wyświetleń: 2882
  • 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
  • Stoper na ATMEGA 128 z wyświetlaczem HD44780 i klawiaturą - jak zacząć?

    Z tego co wyczaiłem to mega popędzana jest kwarcem 14,7456 MHz (kwarc do USART)... Timery ustawione są tak, że przerwanie wywoływane jest co 0,05s stąd podstawowa zmienna zliczająca do sekundy zwiększana jest co drugie wywołanie przerwania (odpowiadają za to variable i variable1)... Spróbuj przeanalizować ten kod i skonfrontować go z dokumentacją do...

    Mikrokontrolery   14 Sty 2008 22:26 Odpowiedzi: 8    Wyświetleń: 3614
  • [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ń: 1842
  • Atmega 32 jako sterownik PLC - jak zrealizować opóźnienia załączania/wyłączania?

    Bardzo dobrze, uznałeś że wait zupełnie się nie nadaje... Ja bym zrobił to tak: Timer generuje przerwanie co ok. 1s w przerwaniu zwiększam jakąś zmienną o 1... Z resztą poniższy przykład chyba najlepiej Ci wytłumaczy moją idę: do if wejscie_1 = 1 then licznik_1 = 0 flaga_wejscie_1 = 1 end if if flaga_wejscie_1 = 1 then ' to mozna umiescic w przerwaniu,...

    Mikrokontrolery AVR   04 Kwi 2010 11:26 Odpowiedzi: 2    Wyświetleń: 3857
  • odczyt pinu gdy jest on ustawiony jako wyjście-Atmega

    Można. Można też zamiast sprawdzać stan pinu programowo, podłączyć pin wyjściowy Timera pod jakieś przerwanie INTx.

    Mikrokontrolery AVR   22 Kwi 2010 22:31 Odpowiedzi: 20    Wyświetleń: 2314
  • Jak ustawić kąt serwa modelarskiego w Bascom na Atmega?

    Witam, Magistrala 1-wire posiada dość mocne restrykcje czasowe co do trwania poszczególnych stanów na DQ. Przerwanie Timera, a wiec wykonanie podprogramu związanego z obsługa przerwania, powodowało zmianę długości tych czasów, gdyż są one generowane softwaerowo przez Bascom. Czasem może się zdarzyć że kolizja i tak wystąpi pomimo że teraz wszystko jest...

    Mikrokontrolery AVR   11 Kwi 2011 20:34 Odpowiedzi: 12    Wyświetleń: 3889
  • Ubuntu 8.10 dziwny problem z timerazmi pod ATMEGA16

    Zakładam że kompilujesz w takim GCC jak ja. Spróbuj tego: #include <avr/io.h> //#include <stdio.h> niepotrzebne, bez tego też działa #include <avr/interrupt.h> //#include <avr/signal.h> tej biblioteki się nie stosuje - patrz gcc-libc ISR(TIMER0_OVF_vect) //po co tam miałeś INT0_vect? { PORTD ^= 0xFF; //będziemy mieli...

    Mikrokontrolery AVR   28 Sty 2009 10:31 Odpowiedzi: 3    Wyświetleń: 1179
  • ATMega8 nie widzi procedury obsługi przerwania - ROZWIĄZANE

    Buduję prosty sterownik na atmedze 8, chcę obsługiwać klawiaturę w przerwaniach od timera0 ale atmega nie widzi procedury obsługi przerwania i resetuje się. Jeżeli zatrzymam timer albo wyłączę przerwanie timera, albo wyłączę globalnie przerwania to nie resetuje się. Kod procedury obsługi przerwania (funkcje do LCD są w pełni sprawne, nawet gdy ISR jest...

    Mikrokontrolery   18 Kwi 2008 10:19 Odpowiedzi: 2    Wyświetleń: 1171
  • 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ń: 609
  • Atmega 32 [C] - Wywołanie pomiaru w przerwaniu timera1

    Pod koniec obsługi przerwania timera startuj ADC, a wynik odbieraj na początku procedury obsługi przerwania timera, czyli w następnym przerwaniu. No i przypadkiem nie używaj równocześnie przerwania timera i ADC - pożytku żadnego, a kłopoty mogą być.

    Mikrokontrolery AVR   07 Lis 2015 10:25 Odpowiedzi: 16    Wyświetleń: 1569
  • [AVR] Nieaktywny Auto Trigger ADC na ATmega168 przy użyciu Timer0 w trybie CTC

    Masz skasować flagę timera OCF0A [syntax=c]TIFR0 |= (1<<OCF0A); [/syntax] Możesz też włączyć przerwanie od Timera i zostawić pustą obsługę przerwania: [syntax=c] ISR (TIMER0_COMPA_vect, ISR_NAKED) { asm volatile("reti"); } [/syntax] Co spowoduje że cała obsługa przerwania sprowadzi się do RETI

    Mikrokontrolery AVR   16 Gru 2020 20:52 Odpowiedzi: 19    Wyświetleń: 501
  • 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ń: 1481
  • Atmega 328p, 6 PWM'ów oraz czas pomiędzy pomiarami ADC

    Zdaje się, że PWM-y generują przerwania a te pochodzą jak stwierdziłeś od zegarów. To w czym problem? Wyzwalaj pomiary A/D od przerwań PWM. Jak będzie za gęsto to dodaj prosty licznik w zmiennej z porównaniem i uruchamiaj przetwornik co n-te przerwanie od TOVn. Biorąc sygnał z wyjścia PWM i dzieląc go przez 2 uzyskasz przebieg o stałym współczynniku...

    Początkujący Elektronicy   16 Paź 2017 21:46 Odpowiedzi: 2    Wyświetleń: 555
  • Programowanie robota z mikrokontrolerem ATmega 8A i diodami IR - jak wykrywać dane?

    Tzn, wiesz - sam pwm możesz wygenerować w zasadzie na dowolnym pinie przy użyciu biblioteki SoftPWM czy chociażby generując przerwania od timera i w obsłudze przerwań zmieniać stany danego pinu, ale to nie o to chyba chodzi. Ten sygnał 38kHz musi być chyba odpowiednio zmodulowany, nie? W sensie, on ma nieść jakąś konkretną informację czy tylko "jest/nie...

    Początkujący Elektronicy   28 Wrz 2021 04:32 Odpowiedzi: 50    Wyświetleń: 978
  • [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
  • Przekształcenie sygnału serwa na napięcie lub pwm.[bascom]

    Przychodzi Tobie prostokąt o wypełnieniu ok. 1-2ms co kilkadziesiąt ms. Musisz podłączyć ten sygnał pod przerwanie w atmega i timerem mierzyć czas pomiędzy zmianą sygnału z "0" na "1" a zmianą z "1" na "0". Z tej informacji generujesz odpowiednie PWM. PS. Ze względu na to, że nowsze atmegi mają więcej wyjść PWM polecam np. atmega88 zamiast atmega8.

    Mikrokontrolery   11 Lis 2011 11:58 Odpowiedzi: 7    Wyświetleń: 1953
  • Atmega2560: Niepoprawne wartości z Timer1 w przerwaniu INT0 - jak to naprawić?

    Nie wiem czy wiesz co będzie wynikiem jeśli weźmiemy dwie zmienne szesnastobitowe bez znaku i odejmiemy większą od mniejszej? Wynik nadal będzie dodatni jednak pomniejszony o poprzednią wartość tej mniejszej zmiennej. Tak więc proponuję rozważyć taki temat: Timerx w momencie pierwszego odczytu w INTx ma 65530. Nie zerujemy Tmerx . Timerx w momencie...

    Mikrokontrolery Początkujący   20 Lis 2024 11:19 Odpowiedzi: 5    Wyświetleń: 153
  • [ATMEGA][BASCOM] Wielokanałowy ściemniacz oświetlenia-wyłącz

    Halogeny też będą zabronione ?? a co do projektu, właśnie zakończyłem projekt na uczelnie gdzie wykorzystuję sterowanie halogenem. jest to zrealizowane w ten sposób, że mam 100 poziomów jasności (0-100%). Sterowanie fazowe oczywiście i triak załączany impulsem. Logicznie, program działa tak: 1) system detekcji zera (transoptor) wykrywa moment w którym...

    Mikrokontrolery AVR   07 Lut 2010 16:21 Odpowiedzi: 16    Wyświetleń: 5498
  • [Atmega] Atmega: Timer1 CTC przycina się przy zmianie OCR1A z ADC, silnik staje

    Moze inne przerwanie blokuje przerwanie timera, sam z siebie nie ma prawa sie zablokowac ;) Sprawdzasz przebiegi na oscyloskopie, czy tylko zgadujesz ze sie przycina ?

    Mikrokontrolery AVR   11 Paź 2009 18:53 Odpowiedzi: 3    Wyświetleń: 5260
  • RTC w ATmega 32, a wyłączenie globalnych przerwań.

    Czy RTC (zegar czasu rzeczywistego) używający Timera 2 w trybie asunchronicznym , działa nawet wtedy gdy wyłączone sa przerwania globalne ? ... kwarc, preskaler oraz Timer2 nie potrzebuje przerwań ale to nie wystarcza do zrobienia całego RTC to wystarcza do zrobienia przerwania co 1 sekundę a reszta zegara musisz zrobić programowo i to właśnie na przerwaniu...

    Mikrokontrolery   15 Kwi 2006 10:56 Odpowiedzi: 3    Wyświetleń: 1728
  • [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ń: 2449
  • [Atmega 2560] Atmega 2560: Skoki w debugowaniu AVR Studio, pomijanie instrukcji w pętli for

    Z tego co napisałeś to problem jest banalny, tylko chyba źle się za to zabrałeś. Nie bardzo rozumiem to: ...wyświetla je na diodach bit po bicie. Czy mam to rozumieć tak, że diod jest 8 i każda odpowiada jednemu bitowi bajtu? Czy jak już bit został ustawiony na porcie, to ma tam pozostać do zakończenia wyświetlenia całego bajtu? Czy przez te 50ms pomiędzy...

    Mikrokontrolery AVR   05 Gru 2010 22:49 Odpowiedzi: 7    Wyświetleń: 1404