atmega przerwania timer

Znaleziono około 4636 wyników dla: atmega przerwania timer
  • Atmega 8 Timer - Timer0 nie działa, kod nie wywołuje przerwań

    Dodaj kolejną zmienną w obsłudze przerwania.

    Mikrokontrolery AVR   16 Mar 2016 15:39 Odpowiedzi: 12    Wyświetleń: 1389
  • [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
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • ATmega1284p TIMER0_OVF_vect nie działa - diagnostyka przerwania

    Konfiguracja prescalera jest w TCCR0 B a nie TCCR0A.

    Mikrokontrolery AVR   03 Kwi 2020 11:48 Odpowiedzi: 2    Wyświetleń: 438
  • 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
  • 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ń: 2436
  • 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
  • REKLAMA
  • Atmega Bascom - Przerwanie - nie mozna skrócić timera

    Uruchomić timer w trybie CTC. Tryb CTC Ludzie, dajcie sobie z tym spokój bo nie zgadniecie co autor potrzebuje. 1-szy Kwietnia na moim kalendarzu jest dopiero jutro...... czyżby kalendarz się spóźniał ? - pewnie będe musiał wymienic baterie... Zdaje się, gośc szuka 'agentów' aby ich czymś poważniejszymm zając!!(?) TU założył podobny temat (cross-posting...

    Mikrokontrolery Początkujący   01 Kwi 2016 21:04 Odpowiedzi: 6    Wyświetleń: 1089
  • [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
  • 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ń: 1383
  • [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
  • [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
  • 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ń: 3176
  • 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ń: 1224
  • REKLAMA
  • 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
  • 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ń: 1227
  • Atmega328p - Odczyt potencjometrów z przerwaniami, wartości 0-255

    No nie bardzo. Pętle busy waits są w przerwaniu niewskazane. Zrób tak jak napisał  (at)BlueDraco : odczyt poprzedniej konwersji-start następnej konwersji-wyjście bez czekania. [syntax=c]ISR(TIMER1_COMPA_vect) { switch(wejscie) { case 2: adc3=ADC; ADMUX = 0; ADMUX = (1<<REFS0)|wejscie; ADCSRA |= (1<<ADSC); break; case 3: adc2=ADC; ADMUX =...

    Mikrokontrolery Początkujący   20 Lut 2020 21:14 Odpowiedzi: 14    Wyświetleń: 1113
  • 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 32A - PWM i ADC wykorzystane jednocześnie??

    4. Podłączenie sygnału z wyjścia PWM do ADC1 aby ponownie spróbkować sygnał PWM A po co? Po to aby odczytać ile kroków wykonał silnik. Sygnał PWM niski wysoki niski to jeden krok na wejście STEP. I chce żeby pwm był jakoś ogarniczony. Aby silnik wykonał na przykład 20 kroków - nie więcej. Na ATMega możesz to zrobić tak jak ci napisał kol. piotrva....

    Mikrokontrolery   29 Sty 2015 21:26 Odpowiedzi: 8    Wyświetleń: 1608
  • [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
  • 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
  • [Atmega128] [Atmega128][C] - Timer0 blokuje _delay_ms przy aktywnym przerwaniu TIMER0_OVF_vect

    Witam Serdecznie Na początek kod: [syntax=c]#define F_CPU 4000000UL #include <avr/io.h> #include <avr/iom128.h> #include <util/delay.h> #include <avr/interrupt.h> volatile uint8_t i=0; int main(void) { DDRA = 0xFF; ASSR &= ~(1<<AS0); TCCR0 |= (1<<CS01) | (1<<CS02); TIMSK |= (1<<TOIE0); TCNT0 = 131;...

    Mikrokontrolery AVR   06 Wrz 2012 03:28 Odpowiedzi: 15    Wyświetleń: 1776
  • 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
  • ATmega168: Przerwanie TIMER1_COMPA_vect nie działa, co sprawdzić?

    Po pierwsze aby jakieś przeerwanie zostało obsłużone musisz odblokować źródło tego przerwania w odpowiednim rejestrze, oraz odblokować przerwania globalnie w rejestrze SREG (ustawić najstarszy bit w tym rejestrze). Z tego co się dopatrzyłem to tylko odblokowałeś przerwania globalnie a zapomniałeś o odblokowaniu przerwania od porównania, chodzi o rejestr...

    Mikrokontrolery   21 Lis 2007 23:22 Odpowiedzi: 10    Wyświetleń: 1857
  • 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 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
  • 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
  • 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ń: 417
  • 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
  • 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 2560 - priorytety przerwań wewnętrznych i zewnętrznych timerów

    Proszę o informacje, gdzie w nocie katalogowej można znaleźć informacje na temat priorytetów wykonywania przerwań, jeżeli wystąpią w tym samym czasie. Nie można, ale ten co ma niższy adres w tablicy wektorów wykona się pierwszy jak przyjdą w tym samym czasie. Co najwyżej możesz właczyć przerwania na początku obsługi aby umożliwić obsługę kolejnych...

    Mikrokontrolery Początkujący   12 Lut 2017 11:01 Odpowiedzi: 3    Wyświetleń: 1146
  • Atmega 32 [C] - Wywołanie pomiaru w przerwaniu timera1

    Nigdzie masz jej nie umieszczać - o ile pomiędzy kolejnymi przerwaniami timera upływa dłuższy czas niż czas potrzebny na konwersję ADC.

    Mikrokontrolery AVR   07 Lis 2015 10:25 Odpowiedzi: 16    Wyświetleń: 1572
  • [Atmega32a] Atmega32a USART nie działa, mimo poprawnej konfiguracji na Atmega88

    ... Dlaczego tak się dzieje? :/ Dlatego, że przerwanie ISR(TIMER1_COMPA_vect) jest wywoływane co 128 taktów zegara, a wykonanie procedury przerwania timera1 zajmuje ~200 taktów. Po zakończeniu wykonywania przerwania od timera, gdy uC wraca do programu głównego, ma już ustawioną flagę od OCR1 i ewentualnie flagę RXC. Ponieważ timer "stoi wyżej" w hierarchii...

    Mikrokontrolery AVR   20 Wrz 2012 21:22 Odpowiedzi: 8    Wyświetleń: 1461
  • ATmega16 - Timer1 16-bitowy: brak wywołania przerwania ISR(TIMER1_OVF_vect)

    TCCR1A |= (1<<CS12) | (1<<CS10); Naprawdę? I nie odpowaidaj że tak.

    Mikrokontrolery Początkujący   23 Lut 2017 02:47 Odpowiedzi: 5    Wyświetleń: 849
  • 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ń: 405
  • Atmega 8 - przerwanie od przepełnienia timera 2 działa w symulatorze, nie w układzie

    Witam. Czy komuś udało się uruchomić prostą obsługę od przepełnienia TIMERA 2 w Atmedze 8. Ja próbuję w AVR studio 4 działa super włączam w rzeczywistym układzie i nic to nie daje. Dziwne że wszystko śmiga super w symulatorze a w rzeczywistym układzie nie wchodzi w obsługę przerwania. Pomóżcie może jest jakiś kruczek o którym nie wiem. Pozdrawiam

    Mikrokontrolery   01 Sty 2007 21:04 Odpowiedzi: 13    Wyświetleń: 3179
  • [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ń: 2013
  • 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
  • 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ń: 1284
  • atmega8, c - Przerwanie TIMER0_OVF_vect wykonuje się tylko raz, dlaczego?

    Ja bym stawiał na to, że rtc_get_time_s() lub/i sprintf() wykonuje się tak długo, że przychodzi drugi raz to samo przerwanie, ale jeszcze nie wyszło z aktualnego. ... i dlatego co napisał powyżej kol. chudybyk powinieneś swój program zmienić - czytaj cały artykuł, a w szczególności pkt5: http://mikrokontrolery.blogspot.com/2011...

    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
  • 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ń: 837
  • 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 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ń: 3729
  • [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
  • 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ń: 1284
  • [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
  • 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ń: 9435
  • [ATmega88PA] [ATmega88PA][C] - Timer0 w trybie CTC blokuje pętlę główną, LED na PC0 nie działa

    Witam. Tak na szybko analizując kod: Dla Timer0 włączasz dwa przerwania od porównania: http://obrazki.elektroda.pl/6165324400_1...

    Mikrokontrolery   05 Paź 2014 16:21 Odpowiedzi: 6    Wyświetleń: 1140
  • 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
  • [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
  • Atmega16A - Sterowanie servem TowerPro SG-90 micro, ustawienia timerów

    Twoje 50 Hz (pomijam, że nie da się tak dokładnej częstotliwości ustawić) daje okres = 20 Chyba źle zrozumiałeś kolegę michalko12 . Te "jego" 50Hz to nie częstotliwość przerwań, tylko sygnału sterującego serwem (tak przynajmniej sterowana jest zdecydowana większość serw modelarskich). Okres tego sygnału powinien mieć 20ms, z czego 0,5÷2,4ms trwa stan...

    Mikrokontrolery   20 Lip 2015 15:48 Odpowiedzi: 19    Wyświetleń: 924
  • 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
  • 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ń: 3111
  • Atmega644pa - Timer1 nie odmierza równo 1 sekundy w trybie CTC

    Możesz jeszcze wewnątrz przerwania spróbować przeładowywać rejestr OCR1A na zadaną wartość, gdzieś kiedyś się z tym spotkałem ale teraz nie mogę odnaleźć artykułu (pochodził chyba z AVRfreaks) :)

    Mikrokontrolery AVR   18 Wrz 2013 14:49 Odpowiedzi: 15    Wyświetleń: 2949
  • 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
  • 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
  • Zliczanie impulsów w przerwaniach - Arduino, błędne wartości impulsów

    Kłania się pojęcie funkcji w języku C. setup() i loop() to też są funkcje. Do testowania stanu styków potrzeba tylko jednego przerwania timera, nic więcej. Po co mnożyć przerwania, czy to od zmiany stanu linii, czy to od dodatkowych timerów? Przy jednopoziomowym systemie przerwań, takim, jaki ma ATmega, o ile programista nie udziwnia nic na siłę, zmienna...

    Arduino   22 Paź 2017 20:28 Odpowiedzi: 21    Wyświetleń: 2709
  • Atmega128(atmel) - licznik 1-9999. Wyświetlacz 7-segmentowy.

    TCCR0=0x07; // port G jako wejście Że co? int main(void) { char digit } Funkcja main obejmuje nawiasem kilka funkcji przerwań. To się w ogóle kompiluje? Pół biedy że funkcja main. Pętla while(1) to obejmuje! Po za tym to SIGNAL pozamieniaj na ISR. ISR jest nowsze i przez to zalecane (choć w sumie kodu wynikowego pewnie to nie zmieni). I przy okazji...

    Mikrokontrolery   31 Sty 2010 01:42 Odpowiedzi: 6    Wyświetleń: 3924
  • [ATmega32][C][AVR Studio 4] Slave SPI, timery i przerwania - kolizja.

    tadzik85 dziękuję za błyskawiczna odpowiedź. Próbowałem tego rozwiązania i niestety gdy w przerwaniu od SPI umieszczę flagę i bez względu gdzie realizuję odbiór czy w przerwaniu od timera czy w pętli głównej drugi bajt wraca do mastera czyli wydaje mi się, że ATmega nie nadąża z odczytem.

    Mikrokontrolery AVR   23 Lis 2011 21:03 Odpowiedzi: 6    Wyświetleń: 1961
  • [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ń: 1581
  • [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
  • [ATmega8][C] - TIMER1 kontrolowany przerwaniami INT0:1

    Witam, ustawienie rejestru DDR i PORT na 0 daje wejścia pływające (ATmega8 nie ma rezystorów ściągających do masy, tylko podciągające do plusa). Tak jak jest teraz łapiesz kolego zakłócenia. Należałoby albo dodać zewnętrzne rezystory między przyciskami a masą lub zmienić położenie przycisków (między pinem a masą) i włączyć wbudowane rezystory. O volatile...

    Mikrokontrolery AVR   04 Lis 2012 12:30 Odpowiedzi: 3    Wyświetleń: 1629
  • [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ń: 35832
  • Konfiguracja Timer2 w trybie RTC na ATmega8L z kwarcem zegarkowym

    Tego nie widziałem. Znalazłem za to informację że dotyczy to rezonatora pracującego jako generator wytwarzający główny sygnał zegarowy: http://obrazki.elektroda.net/9_123515576... A po drugie, akurat w ATMega8 jest błąd w krzemie i te wewnętrzne kondensatory nie działają (tzn. FuseBit ich nie włącza). Użycie rezonatora jako źródła sygnału dla...

    Mikrokontrolery AVR   21 Lut 2009 15:29 Odpowiedzi: 11    Wyświetleń: 4080
  • 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ń: 1174
  • [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
  • [Atmega32] Timer0 nie wywołuje przerwania SIG_OVERFLOW0 w skanerze 3D

    ps. w manualu wyczytałem, że TIM0_OVF_vect jest tylko dla atiny. Dla atmegi32 jest TIMER0_OVF_vect pomyliłem się, sorki. i jest błąd bo volatile uint8_t overflow; uint8_t to 0-255, nie wiem jak to wygląda po skompilowaniu. if (overflow < 512) { PORTC = 1 << 1; } else { PORTC = 1 << 2; } if (overflow >...

    Mikrokontrolery AVR   15 Maj 2009 14:59 Odpowiedzi: 13    Wyświetleń: 3963
  • [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ń: 13593
  • [ATmega32] Jak napisać procedurę obsługi przerwania timera0 dla diody LED na ATmega32?

    Jak już napisałem, można kombinować różnie. W tym przypadku po prostu po 62 przerwaniach zapalasz diodę, a po 124 gasisz (lub odwrotnie). W tym przypadku czas zapalenia (62 przerwania) i czas zgaszenia (124 - 62 = 62 przerwania) są równe, ale nie muszą być. Poza tym w takim rozwiązaniu znasz stan sterowanego pinu, kiedy jest w stanie niskim (pierwsze...

    Mikrokontrolery AVR   27 Paź 2011 11:19 Odpowiedzi: 8    Wyświetleń: 2549
  • 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ń: 981
  • [ATMega168] Jak obsłużyć przerwania przycisków i timera w ATMega168 z kwarcem 32,768 kHz?

    1. To stary wektor przerwań, a nowa funkcja ISR(). Musisz zastosować nowy wektor do tej funkcji. Znajdziesz go w tabelce szukając starego: http://www.nongnu.org/avr-libc/user-manu... 2. Drgania trwają od kilku do kilkudziesięciu milisekund. Możesz na przykład wykorzystać jakiś timer do odliczania tego czasu począwszy od pierwszego...

    Mikrokontrolery Początkujący   20 Gru 2011 10:00 Odpowiedzi: 31    Wyświetleń: 5117
  • 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
  • [C][ATmega16] - Niechciana zmiana częstotliwości przerwania (Timer1)

    1. Nie definiuj zegara w kodzie tylko w opcjach kompilatora: http://mikrokontrolery.blogspot.com/2011... 2. Problem natomiast pojawia się wówczas, gdy funkcja obsługi przerwania wykonuje się długo. Docelowo będzie sterować portami przez około 16 sekund. Przerwanie ma się wykonywać krótko i tego zawsze się trzymaj, bo łatwo...

    Mikrokontrolery AVR   12 Sie 2012 16:25 Odpowiedzi: 3    Wyświetleń: 1425
  • 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
  • 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
  • Światłość diod sterowana płynnie przez ATmega16

    Wiesz, mam książkę Baranowskiego 'ATmega w praktyce'. A to co było??? oczywiście mi pomylił się autor ale tytuł ten sam ;) więc ją masz Co do wydajności prądowej to chyba też dostałeś już odpowiedzi różne, albo drivery ULN albo zwykłe tranzystory żeby ją zwiększyć i po ptakach Żeby nie robić na jednej nodze jednej diody nawet przez te tranzystory to...

    Mikrokontrolery AVR   25 Sie 2010 18:29 Odpowiedzi: 22    Wyświetleń: 2427
  • [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
  • ATmega - który tryb oszczędzania energii wybrać dla ADC i SPI co 8 sekund?

    Witam! Piszę program który ma co 8 sekund ma wysyłać wynik pomiaru ADC po SPI. Co lepiej zastosować: a) -ckdiv8(lub więcej) -watchdog z przerwaniem jako timer -power down b) -timer 2 w trybie asynchronicznym z przerwaniami -power save ?

    Mikrokontrolery AVR   05 Sty 2015 16:13 Odpowiedzi: 2    Wyświetleń: 1368
  • [avr] Jak wygenerować sygnał prostokątny 1-1000Hz na ATmega32A 8MHz w trybie CTC?

    ISR(TIMER1_OVF_vect) A wystąpi przepełnienie w trybie CTC?? Nie chciałeś przypadkiem włączyć innego przerwania : TIMSK|=(1<<OCIE1A); i później: ISR(TIMER1_COMPA_vect) { //... }

    Mikrokontrolery AVR   08 Sty 2014 12:28 Odpowiedzi: 15    Wyświetleń: 1683
  • [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
  • [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
  • Atmega1284p [C] - Bezpośredni dostęp do RAM - generowanie obrazu VGA

    Programowe generowanie sygnału video w jakimkolwiek standardzie jest zadaniem krytycznym czasowo, dlatego bez asemblera niewiele zwojujesz. Nawet w asemblerze trudno uzyskać więcej niż 100 punktów w linii. Zresztą zerknij na: Rejestrator przebiegów cyfrowych - przystawka do TV z EP Rejestrator przebiegów analogowych - przystawka do TV z EP Nie jest...

    Mikrokontrolery AVR   10 Sie 2014 09:23 Odpowiedzi: 24    Wyświetleń: 5016
  • [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
  • 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
  • [ATMEGA] Jak sprawdzić zużycie RAM w programie C dla ATMEGA w WinAvr?

    nie da sie wprost okreslic jaki rozmiar stosu bedzie potrzebny. mozna za to napisac sobie swego rodzaju funkcje kontrolujaca, ktora bedzie sprawdzala wartosc SP. najlepiej w postaci przerwania od timera. mozna tez recznie, w symulatorze lub debuggerze, podgladac wartosc rejestru SP. 4\/3!!

    Mikrokontrolery AVR   04 Lut 2024 20:46 Odpowiedzi: 17    Wyświetleń: 2789
  • 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] Jak generować 36kHz na Atmega8 z zajętymi kanałami PWM PB1 i PB2?

    Masz błąd w obsłdz przerwania. Dokładnie w tych liniach: [syntax=c] if (l==1) PORTC |= PC5; else if (l==2) PORTC &= ~PC5; [/syntax] Prawdopodobnie chodziło Ci o: [syntax=c] if (l==1) PORTC |= (1 << PC5); else if (l==2) PORTC &= ~ (1 << PC5); [/syntax] Albo cała obsługe przerwania można zrobić prościej tak: [syntax=c] ISR(TIMER1_COMPA_vect)...

    Mikrokontrolery Początkujący   13 Sty 2016 13:57 Odpowiedzi: 13    Wyświetleń: 1569
  • 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ń: 31856
  • Jak wygenerować 1Hz na atmega16 bez PCF8583, używając timerów w C?

    Nie wiem o co chodzi, przecież Ty napisałeś ten program :) generalnie to masz zdefiniowaną w programie stałą o nazwie PORTD2 która ma wartość 2 i tyleż o niej wiadomo. Nigdzie jej nie używasz w tym pliku więc nie da się stwierdzić do czego służy. Pusta pętla while jest dlatego, że cały program wykonuje się w przerwaniach. "Normalnie" to pętla while...

    Mikrokontrolery Początkujący   16 Sty 2012 13:09 Odpowiedzi: 14    Wyświetleń: 2066
  • [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ń: 4553
  • [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
  • Atmega 8 - Timer 2: Problem z ISR po zmianie zmiennej globalnej `choose`

    W przerwaniach wywołujesz bardzo długie funkcje. A przerwania masz szybkie więc zanim funkcja się skończy to już kilka-kilkaset przerwań Ci ucieknie pozostawiając po sobie flagi które wywołują przerwanie natychmiast po zakończeniu poprzedniego.

    Mikrokontrolery AVR   29 Gru 2013 11:04 Odpowiedzi: 8    Wyświetleń: 1836
  • 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ń: 1056
  • [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ń: 20382
  • 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ń: 813
  • AtMega 16 - Rising / falling edge zamiast "bit_is_clear"

    Popatrz tu: http://mikrokontrolery.blogspot.com/... -ostatni przykład. No i oczywiście nie używaj przerwań od przycisków, a przerwania timera - tak, jak w tym przykładzie.

    Mikrokontrolery AVR   28 Sie 2013 11:47 Odpowiedzi: 2    Wyświetleń: 1416
  • 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ń: 6331
  • [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
  • Doświadczenia z przetaktowaniem AVR: Atmega128 i Atmega2561

    (at)R-MIK Dałem ci link do product selector, nawet ci ustawiłęm parametry zgodnie z tym co napisałeś - min taktowanie 20 MHz, 64 piny. Kolejna sprawa - jak pisałem timer nie jest na ATMega optymalny do generowania pojedynczych, krótkich impulsów. Do tego służy inny, dostępny na ATMega układ peryferyjny. Zupełnie pomijasz też fakt, że w C prolog i epilog...

    Mikrokontrolery AVR   06 Lut 2017 16:58 Odpowiedzi: 151    Wyświetleń: 10830
  • 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