przerwania atmega8

Znaleziono około 6165 wyników dla: przerwania atmega8
  • Atmega8 - Tym razem; przerwanie sprzętowe - nie działa

    SIGNAL(SIG_OVERFLOW0) - w ten sposób definiowały obsługę przerwania jeszcze nasze babcie i jeszcze za ich czasów wprowadzono nowy sposób - ISR(TIMER0_OVF_vect) 3-sekundowy delay w przerwaniu? "Super" pomysł.

    Mikrokontrolery Początkujący   03 Kwi 2013 20:44 Odpowiedzi: 30    Wyświetleń: 3795
  • REKLAMA
  • 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ń: 19573
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • Atmega8 - Nieprawidłowe działanie przerwań zewnętrznych z enkoderem i LEDami

    OK, mam nadzieję, że zegar ustawiłeś w opcjach. Ponieważ muszę wyjść, to dam Ci wskazówki, a resztę wymyślisz sam lub koledzy pewnie podpowiedzą. Gdy pierwsze zbocze drgania styku ustawi flagę przerwania i mikrokontroler wejdzie w funkcję jego obsługi, to zaraz na początku automatycznie kasuje (w tym mikrokontrolerze) flagę przerwania. Ty w swoim programie...

    Mikrokontrolery Początkujący   13 Lip 2013 18:53 Odpowiedzi: 19    Wyświetleń: 3321
  • 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ń: 2645
  • REKLAMA
  • Przerwania w Atmega8 AVR-GCC - brak wyświetlania na ekranie w kursie EDW

    Kolego dawid512 radzę uzupełnić swoją wiedzę na temat pracy timerów i nie robić innym wody z mózgu... Oczywiście po przepełnieniu TCNT0 zostanie wyzerowane i zacznie się zliczanie od nowa... Wartość do TCNT0 podstawiamy tylko w przypadku kiedy chcemy uzyskać przepełnienie co pewien czas który jest nie do uzyskania przez samo ustawienie prescalera......

    Mikrokontrolery AVR   22 Sty 2009 19:31 Odpowiedzi: 17    Wyświetleń: 2047
  • atmega8 - UART przerwania - dioda nie gaśnie po odebraniu danych UART

    oraz jeszcze: 1. stosujesz stare funkcje obsługi przerwań a nowe wektory - stosuj nowe funkcje ISR(): http://nongnu.org/avr-libc/user-manual/g... i wywal nagłówek #include <avr/signal.h> 2. returny w funkcjach ISR() i main() są zbędne. 3. Ostatnia uwaga kol Zaquadnik jest baaaardzo istotna. Nie dość, że czekasz w funkcji...

    Mikrokontrolery AVR   21 Lip 2015 21:56 Odpowiedzi: 9    Wyświetleń: 1680
  • [Atmega8] Jak obliczyć czas przerwania licznika T0 w Atmega8 przy 1MHz i preskalerze=1?

    http://www.edw.com.pl/ftp/kalkavr.zip

    Mikrokontrolery   11 Mar 2009 21:35 Odpowiedzi: 2    Wyświetleń: 1418
  • Atmega8 - przerwania ADC zawieszają działanie portu D. Co poprawić?

    1/ #include "avr/io.h" <- zdecydowanie powinno być <avr/io.h> 2/ z tego co widać w "test.txt", nie ma tam żadnych funkcji odpowiedzialnych za przerwania (nazwy właśnie __vector_* [po rozwinieciu SIGNAL(x) przez preprocesor]), a skok do wektora przerwania, w którym brak funkcji przerwania powoduje skok do resetu (domyślna funkcja do wektorów...

    Mikrokontrolery   24 Sie 2007 00:26 Odpowiedzi: 6    Wyświetleń: 1227
  • AVR ATmega8 Timer0 CTC – konfiguracja rejestrów do przerwania co 2ms

    Tabelka w DS na str. 98 i zobacz sobie tryb 4 CTC (opis trybu masz na str. 88) kolumna TOP i nazwa rejestru do którego wartość TOP powinna trafić, bit w rejestrze TIMSK tez nie ten i co za tym idzie nie ten wektor przerwania.

    Mikrokontrolery Początkujący   03 Kwi 2015 20:23 Odpowiedzi: 39    Wyświetleń: 3957
  • REKLAMA
  • ATmega8 - Przerwania CTC - Dioda LED świeci za krótko i nie resetuje czasu

    Jestem początkującym, więc za dużo Ci nie pomogę z kodem, ale jedno wiem na pewno ;) Odlicza Ci 2 sekundy, bo tak ustawiłeś OCR1A. Mając kwarc 14,745,600 Hz, ustawiłeś preskaler na 1024. Czyli 14400 cykli, to 1 Hz. Przy 28799 w Twoim programie, masz prawie 2 sekundy. To tak w międzyczasie, póki inna osoba Ci pomoże.

    Mikrokontrolery AVR   07 Lis 2009 23:19 Odpowiedzi: 6    Wyświetleń: 1981
  • AVR Studio: Dlaczego Atmega8 nie obsługuje przerwania Timer0 w Bascom?

    Spróbuj skompilować ten programik pod konkretny mikrokontroler. W Bascomie domyślenie masz ustawione AT90S2313. Użyj dyrektywy: $regfile = "m8def.dat" - dla ATMega8, $regfile = "2313def.dat" - dla AT90S2313, Może pomoże :)

    Mikrokontrolery   26 Kwi 2005 12:53 Odpowiedzi: 2    Wyświetleń: 1095
  • Jak ustawić przerwania co 1 sekundę w ATmega8 dla zegarko-termometru?

    No tak. Ja korzystałem ze sprzętowego i2c, który MUSI być na portach PC4, PC5. A Ty korzystałeś z PC3, PC4. Po usunięciu linii, o których pisałeś, zacząłeś wykorzystywać programowe i2c, które może być na dowolnych portach. Gdybyś w helpie Bascoma poszukał frazy $lib "i2c_twi.lbx" to by Ci się wyjaśniło :). Spróbuj teraz to zrobić. Ale ładnie pokombinowałeś...

    Mikrokontrolery   13 Gru 2008 15:37 Odpowiedzi: 25    Wyświetleń: 2955
  • [C] ATMega8 - Timery i przerwania nie działają w kodzie C, WinAVR 20100110

    Spróbuj zrobić od przepełnienia. W proteus'ie też port zmieni raz stan i nic. volatile int flaga; #include <avr/io.h> #include <avr/interrupt.h> int main (void) { DDRC = 0xff; // Ustaw jako wyjście LED TIMSK = 0x04; // Włącz przerwania przepełnienia (1 <<TOIE1) SREG = 0x80; // włącz przerwania globalne sei()...

    Mikrokontrolery AVR   20 Maj 2011 18:47 Odpowiedzi: 14    Wyświetleń: 2175
  • REKLAMA
  • Dlaczego przerwanie przepełnienia timera 0 nie działa na Atmega8 w avr-gcc?

    1. czy typ int jest domyślnie 1- czy 2- bajtowy? Może lepiej dla pewności stosować uint_8t oraz uint_16t 2. czy obsługa przerwania zdąży się wykonać zanim przyjdzie następne?

    Mikrokontrolery   08 Mar 2011 14:44 Odpowiedzi: 18    Wyświetleń: 3129
  • ATmega8 ASM: Powrót z przerwania do konkretnej instrukcji w AVR Studio

    Można dać na końcu skok rjmp, ale musisz wtedy pamiętać żeby ściągnąć ze stosu niepotrzebny adres powrotu. Ogólnie rzecz biorąc takie rozwiązania są niewskazane. Program łatwo może pójść w maliny.

    Mikrokontrolery   26 Mar 2008 12:47 Odpowiedzi: 5    Wyświetleń: 2077
  • [atmega8] Wyzwolenie przerwania na zbocze opadające

    nie mylisz się Dodano po 20 już się poprawiam, bo w temacie napisałeś ATmega8, jakoś mi to umknęło i skupiłem się tylko na tekście i pytaniach o sposobie wyzwalania przerwań. Z opisu dokumentacji jaką czytałeś poprostu domyśleć się można że chodzi o procki inne niż ATmega8 bo akurat ten procek nie ma przerwań PCINTx, Więc co do tego co przeczytałeś...

    Mikrokontrolery AVR   06 Sie 2008 10:15 Odpowiedzi: 5    Wyświetleń: 1764
  • [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ń: 8488
  • [Atmega8] Jak zmierzyć czas stanu wejścia z dokładnością 100ms na Atmega8 w C?

    ISR( TIMER1_CAPT_vect ) //przerwanie od icp1 { cli(); //globalne zabronienie przerwan sygnal=ICR1; //odczyt timera TCNT1=0; //zerowanie timera i++; //dodanie wartosci i wyskok_do_funkcji(); sei(); //globalne zezwolenie na przerwanie }// koniec przerwania A po co to cli(); oraz sei(); w przerwaniu ????? może...

    Mikrokontrolery AVR   06 Sie 2011 18:22 Odpowiedzi: 53    Wyświetleń: 7582
  • ATmega8 Timer0/Timer1 – jak ustawić prescaler, by uzyskać 1s przy 1MHz?

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

    Mikrokontrolery   14 Mar 2006 21:13 Odpowiedzi: 27    Wyświetleń: 2876
  • ATmega8 - Timer w trybie CTC i wykorzystanie przerwań.

    A nie powinieneś czasem użyć bitu OCF1 i przerwania "0x006 TIMER1 COMPA Timer/Counter1 Compare Match A"?

    Mikrokontrolery AVR   12 Sty 2014 10:47 Odpowiedzi: 9    Wyświetleń: 6885
  • atmega8 - wysyła ciągle ta sama wartość przez coma

    Przerwania włączone ale brak ich obsługi.

    Mikrokontrolery AVR   25 Sty 2013 10:19 Odpowiedzi: 6    Wyświetleń: 1500
  • [Atmega8] Atmega8 Bascom - Nadpisywanie zmiennej w przerwaniu int0/int1, reset timer1

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

    Mikrokontrolery AVR   09 Maj 2009 18:31 Odpowiedzi: 14    Wyświetleń: 2821
  • [DIY] Jak zbudować joystick do NES/Pegasus z ATMEGA8 - nie działa

    PORTC &= (0 << PC0); A co to za konstrukcja? Przesuwanie zera w ciągu zer? Jak chcesz wyzerować bit to rób to tak: PORTC &= ~(1<<bit); Poza tym: - źle ustawiasz MCUCR - brak aktywacji przerwań w GICR. Zamiast tego grzebiesz w nieistniejącym rejestrze (Atmega8) GIMSK. - brakuje w main zapętlenia przez co program zawiesza przerwania...

    Mikrokontrolery AVR   30 Mar 2018 01:37 Odpowiedzi: 28    Wyświetleń: 1524
  • ATmega8 i LCD: błędy przy włączaniu przerwań timera0 - jak to naprawić?

    Można tak jak kolega pisał wyłączać timer... Ale lepiej by chyba było w samej funkcji obsługi LCD w najbardziej newralgicznym punkcie (sama transmisja) wyłączać globalnie przerwania "cli();" i po wysłaniu danych włączać z powrotem "sei();'

    Mikrokontrolery   13 Lut 2008 19:54 Odpowiedzi: 7    Wyświetleń: 1638
  • ATmega8 - Diody PC5 i PC4 świecą ciągle zamiast migać co sekundę

    Wypadało by odblokować przerwania i uaktywnić Ciebie interesujące (INT1)

    Mikrokontrolery   30 Sie 2009 22:04 Odpowiedzi: 19    Wyświetleń: 1688
  • Atmega8 - jak kontynuować działanie silnika po przerwaniu z krańcówki?

    Czy jest możliwość, aby po powrocie z przerwania na PORTC pojawiła się ostatnia wartość sprzed wywołania tegoż przerwania? O ile dobrze zrozumialem twoj problem to rozwiazanie jest proste - na poczatku przerwania zapamietaj stan PORTD w jakiejs zmiennej i odtworz go na koncu obslugi przerwania. Co do delay w przerwaniu to sie nie przejmuj tym co pisza...

    Mikrokontrolery AVR   10 Sty 2010 08:12 Odpowiedzi: 14    Wyświetleń: 2082
  • ATMEGA8 BASCOM nie działa poprawnie przerwanie INT0

    Gdy procesor jest w trakcie wykonywania procedury przerwania, następne przerwanie nie będzie przyjęte , gdyż procesor (nie kompilator!) zeruję flagę globalnego zezwolenia na przerwania. Tak samo flaga bieżącego przerwania (tego, którego procedura obsługi jest wykonywana) zostaje automatycznie wyzerowana. Po zakończeniu przerwania flaga globalnego zezwolenia...

    Mikrokontrolery AVR   19 Lut 2010 21:54 Odpowiedzi: 7    Wyświetleń: 5147
  • [Atmega8] Jak generować 36kHz na Atmega8 z zajętymi kanałami PWM PB1 i PB2?

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

    Mikrokontrolery Początkujący   13 Sty 2016 13:57 Odpowiedzi: 13    Wyświetleń: 1638
  • Mikrokontroler Atmega8 nie reaguje na sygnał RC5 przez podczerwień

    witam co prawda nie programuje atmelków w C ale wydaje mi się że jeżeli jak piszesz: " Jeszcze dalej, już poza pętlą główną przerwania są odblokowywane." to znaczy że na początku są zablokowane? w takim razie nigdy nie zostaną odblokowane skoro wcześniej masz nieskończoną pętlę... program nigdy nie dojdzie do tego momentu, odblokuj przerwania przed...

    Mikrokontrolery   05 Wrz 2009 09:45 Odpowiedzi: 8    Wyświetleń: 3525
  • Zmiana kodu z Timer0 na Timer1 w ATmega8 - jak to zrobić?

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

    Mikrokontrolery   20 Wrz 2008 16:55 Odpowiedzi: 15    Wyświetleń: 6272
  • ATMega8 - jak wybudzić procesor z trybu power down za pomocą Int1?

    ... ok odczytalem wartosc MCUCR tuz przed wydaniem instrukcji powerdown wynosi 10001010b Skoro Twoje MCUCR ma tak ustawione bity , to co sie dziwisz że nie działa :wink: Twoje ustawienia to: INT0-FALLING INT1-FALLING SLEEP MODE-IDLE SE=1 Powinno być: 101000xx INT0-xx INT1-LOW LEVEL czyli bity ISC10,ISC11 wyzerowane :!: SLEEP MODE- POWER-DOWN czyli...

    Mikrokontrolery   11 Sty 2006 15:14 Odpowiedzi: 7    Wyświetleń: 5166
  • Optymalizacja kalkulatora w BASCOM na ATmega8 - problem z pętlą Do...Loop

    Po co ten rezystor. Nastepnie jak nie chcesz czekac zanim dojdzie do ifa wykorzystaj przerwanie. Jak masz duzo przyciskow, to podlacz do wszystkich switchy diody do ktoregos przerwania

    Mikrokontrolery AVR   08 Kwi 2009 11:56 Odpowiedzi: 3    Wyświetleń: 3332
  • Atmega8 - jak uniknąć kasowania flagi I przy generowaniu sygnału 1 MHz?

    Zawsze obsługa przerwania powoduje skasowanie flagi I, aby pod koniec obsługi flaga została ponownie ustawiona przez instrukcję reti. Jeśli program się przerywa po kilku linijkach, to znaczy posiadasz nie obsłużone wektory przerwań, a to jest błąd w kodzie. Albo wyłącz przerwanie od danego źródła, albo wyłącz przerwania, jeśli z nich nie korzystasz.

    Mikrokontrolery AVR   21 Sty 2017 06:23 Odpowiedzi: 14    Wyświetleń: 6057
  • Odliczanie czasu Atmega8 i wyświetlacz trzy segmentowy

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

    Mikrokontrolery Początkujący   02 Sty 2016 13:26 Odpowiedzi: 10    Wyświetleń: 1587
  • Atmega8 - Jak podłączyć bezpośrednio do USB bez przejściówek?

    Pin ICP nadaje się jeśli chcesz określić np. długość impulsu. Dla enkodera się nie nada - enkoder daje sygnał w kodzie Graya, ponieważ M8 nie ma sprzętowego dekodera tego kodu musisz to zrobić programowo. Aby nie czekać w pętli i ciągle nie sprawdzać czy coś się nie zmieniło wyjścia z enkodera trzeba podpiąć pod wejścia generujące przerwania. W handlerze...

    Mikrokontrolery AVR   18 Mar 2014 14:43 Odpowiedzi: 17    Wyświetleń: 4494
  • Atmega8 - Dlaczego flaga TOV0 nie aktywuje diody LED1 w ISR?

    Ta linia oznacza że jak w rejestrze ten bit jest ustawiony to wtedy zapal Led. Ponieważ jednak ta flaga jest gaszona podczas wchodzenia do procedury przerwania to w tym miejscu ten warunek nigdy nie będzie spełniony, tak więc Led się nigdy nie zapali

    Mikrokontrolery AVR   14 Sty 2019 18:21 Odpowiedzi: 10    Wyświetleń: 588
  • Konfiguracja timera 1 na ATMEGA8 dla funkcji ~244Hz bez bibliotek

    Klasa TwoWire (której obiektem jest Wire) też używa przerwań. Po wejściu do ISR przerwania są blokowane. Jeżeli chcesz, aby dane ISR nie blokowało innych przerwań można użyć ISR_NOBLOCK:[syntax=c]ISR(TIMER2_OVF_vec... ISR_NOBLOCK) { ... }[/syntax]Byłbym jednak z tym bardzo ostrożny, ponieważ może przydarzyć się przepełnienie stosu. https://www.nongnu.org/avr-libc/user-man...

    Arduino   28 Sie 2020 15:01 Odpowiedzi: 7    Wyświetleń: 513
  • Atmega8 - Regulacja fazowa, 230V, fluktuacje natężenia światła

    No, nie zupełnie. Kiedy kończy się półokres, pojawia się zbocze narastające na INT, a moment póżniej sieć przechodzi przez zero. Ciężko oszacować ile wynosi ten "moment", ale jeżeli nie zdążysz wyłączyć sygnału triaka (obsługa przerwania się opóźni itp.) zanim sieć przejdzie przez zero, to triak włączy się ponownie i pozostanie włączony przez cały następny...

    Mikrokontrolery AVR   02 Mar 2015 17:40 Odpowiedzi: 17    Wyświetleń: 2028
  • Czy można podłączyć transoptor do atmega8 jak na rysunku?

    tak , podłączenie jest prawidłowe jedna mała uwaga jeżeli układ ma służyć tylko do separacji to ok , natomiast jeżeli do innych celów to lepiej wykorzystaj dostępne piny z obsługa przerwania zewnętrznego , ustawiając reakcję na opadające zbocze sygnału

    Mikrokontrolery   14 Lut 2007 13:43 Odpowiedzi: 9    Wyświetleń: 3255
  • Początkującego problem z przerwaniami w ATMEGA162 :(

    ISR(INT2_vect) //procedura obslugi przerwania { impulsy++; } A czy zadziała: (chyba powinno ;)) SIGNAL(SIG_INTERRUPT2)// gdy nastąpi przerwanie na wejściu INT2, wykonuje to co w klamrach { impulsy++; // każde przerwanie powiększa zmienną impulsy o 1 // tu wpisz swoją funkcję - opóźnienie o 40 milisekund } Ale spróbuj też w tym swoim...

    Mikrokontrolery   09 Paź 2006 16:12 Odpowiedzi: 9    Wyświetleń: 1953
  • [atmega8] Jak uzyskać 40kHz dla paczek impulsów w ATmega8 z Bascom?

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

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

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

    Mikrokontrolery AVR   25 Sie 2014 00:00 Odpowiedzi: 4    Wyświetleń: 1005
  • Jak uzyskać precyzyjne przerwanie 1 kHz na ATmega8 przy 16 MHz?

    Odpowiedź na przerwania ma szansę być precyzyjna (bo samo przerwanie JEST preczyzyjne) jeśli procesor będzie czekał na przerwanie w uśpieniu, a nie w niepustej "pętli głównej" ze sprawdzaniem zdarzeń. Niektóre modele uC z rdzeniami Cortex mają mechanizm sprzętowy gwarantujący determinizm czasu odpowiedzi dla jednego przerwania o najwyższym priorytecie,...

    Mikrokontrolery AVR   26 Cze 2016 16:44 Odpowiedzi: 32    Wyświetleń: 2841
  • Atmega8 - Timer0 nie odlicza 1 sekundy przy 12MHz i preskalerze 256

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

    Mikrokontrolery Początkujący   19 Lut 2013 14:47 Odpowiedzi: 4    Wyświetleń: 1128
  • [C] Jak zaimplementować przerwania dla 2 wyświetlaczy 7-segmentowych w C?

    To co dawid512 napisał jest najprawdopodobniej na atmega32. Musisz poczytać dokumentację i zmienić ten kod, gdyż timer0 na atmega8 ma trochę mniejsze możliwości. [dodano] Można też skorzystać z timer2, jego obsługa będzie łatwiejsza.

    Mikrokontrolery AVR   28 Gru 2008 16:16 Odpowiedzi: 14    Wyświetleń: 2422
  • ATmega8 USART w C: Jak skonfigurować przerwanie odbioru danych?

    Nie mogę znaleźć uchwytu przerwania od USART, jest jedynie od UART i nie chce działać. O ile mi wiadomo to nie ma żadnego rozróżznienia między przerwaniem od USART a UART. Niewazne czy Uklad transmisji szeregowej pracuje synchronicznie czy asynchronicznie i tak zawsze jest to samo przerwanie generowane. A moze by tak odblokowac przerwania od odbioru...

    Mikrokontrolery   24 Maj 2007 23:22 Odpowiedzi: 2    Wyświetleń: 8295
  • Gasniecie LCD przy dużej czestotliwośći. atmega8

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

    Mikrokontrolery   25 Lut 2015 00:03 Odpowiedzi: 7    Wyświetleń: 921
  • Jak zbudować obrotomierz na Atmega8 z linijką LED i czujnikiem impulsów?

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

    Automatyka Przemysłowa   12 Maj 2009 07:25 Odpowiedzi: 23    Wyświetleń: 3964
  • Przepisanie programu z Atmega8 na Atmega328P z wykorzystaniem USART

    Co do programu na megę328: 1. Niepotrzebnie dołączasz sfr_defs.h 2. O F_CPU w kodzie było już miliony razy na forum. 3. Dla ułatwienia obliczeń prędkości polecam util/setbaud.h 4. W rejestrze UCSR0C ustawiasz bity, które po resecie są ustawione. 5. W UCSR0B nie włączasz przerwania od odbioru (bit RXCIE)! Dodatkowo niepotrzebnie stosujesz sumę bitową...

    Mikrokontrolery AVR   23 Wrz 2015 15:23 Odpowiedzi: 2    Wyświetleń: 996
  • Jak poprawić kod miernika częstotliwości na ATmega8 z linku?

    Widzę, że moje programy znajdują uznanie i dobrze. Co do podawania impulsów na uC to nie można zmieniać dowolnie końcówek bo timery mają wejścia przypisane do konkretnych wyprowadzeń. Dla M8 są to T1 - 11, T0 - 6. Trzeba to brać pod uwagę przy projektowaniu układu. Dotyczy to końcówek używanych jako alternatywne. Po przeróbce czas odmierza T0 (8bit)...

    Mikrokontrolery   11 Paź 2007 16:12 Odpowiedzi: 26    Wyświetleń: 11028
  • ATmega8a - program zawiesza się po otrzymaniu przerwania od timera0

    Witam, W programie przedstawionym poniżej nie zostaje wywołana obsługa przerwania. Próbowałem na innych timerach tez bez skutku. AvrStudio 6, Atmega8a, optymalizacja O2. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include "utils.h" #include "display.h" int main(void) { LEDInit( ); Display(0); //Init Timer 0 TCNT0 = 6; TCCR0...

    Mikrokontrolery AVR   30 Gru 2012 11:19 Odpowiedzi: 8    Wyświetleń: 1689
  • Atmega8: Jak poprawnie obsłużyć przerwanie w C?

    Witam. Próbuję uczyć się C na Atmedze 8 i mam problem z obsługą przerwania. Kod wygląda następująco (z resztą pisany na podstawie kursu z EdW): #include <c:\WinAVR-20090313\avr\include\a... #include <c:\WinAVR-20090313\avr\include\a... #define F_CPU = 1000000 int volatile wyjscia; int indeks; int main (void)...

    Mikrokontrolery AVR   02 Paź 2009 23:17 Odpowiedzi: 6    Wyświetleń: 1323
  • atmega8[C] - Niedziałające przerwania od przepelnienia licznikow T0 i T1

    Witam, Mam problem z obsluga przerwan od przepelnienia licznikow. W projekcie wykorzystuje 3 liczniki w atmega8, timer2 wykorzystuje do generacji sygnalu 40kHz natomiast pozostale dwa maja zliczac czas od nadania sygnalu do otrzymania echa. Narazie napisalem osobną obsluge kazdego z timerow i dzialalo. Po wrzuceniu wszystkiego do jednego projektu dziala...

    Mikrokontrolery AVR   09 Lis 2012 19:40 Odpowiedzi: 4    Wyświetleń: 1407
  • Czy przerwanie jest "przechowywane"? Uszkodzona Atmega?

    Witam, Zmagam się z problemem przerwania w Atmega 8. Bez zagłębiania się w szczegóły mojego projektu, dajcie mi prosze znac czy to normalne zachowanie: 1. Przycisk S1 oraz Impulsator z przyciskiem S2. Impulsatorem "chodzę" sobie po menu i klikam przycisk impulsatora S2, który akurat w tej pętli nic nie robi, przerwania sa wyłączone cli(); ale uruchomione...

    Mikrokontrolery AVR   06 Sie 2019 15:46 Odpowiedzi: 21    Wyświetleń: 1176
  • [atmega8] Obsługa przerwań zewnętrznych. Jedno przerwanie następujące po drugim.

    Witam Otóż mam taki dylemat ... Mam taki prosty programik robiący mi za licznik modulo 8. Samo liczenie odbywa się w przerwaniu timer'a ale to nie jest kwestia którą chce poruszyć. Po wywołaniu zewnętrznego przerwania, nie da się go przez czas paru/parunastu sekund wywołać. Czego to może być wina ? (pomijając że moja). Czy przypadkiem nie powinno to...

    Mikrokontrolery AVR   01 Lis 2011 00:15 Odpowiedzi: 48    Wyświetleń: 6620
  • 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ń: 1204
  • Przerwania i PWM, ATmega8A - Brak reakcji na wektory przerwań

    Witam, Jako początkujący zmierzyłem się z zagadnieniem przerwań i PWM próbując sterować serwomechanizmami podpiętymi do PB1, PB2. Sterowanie ma odbywać się za pomocą potencjometrów, jak w jednym z przykladów Arduino. Początkowo problem rozwiązałem nie wykorzystując przerwań, a jedynie zapisując wartość odczytaną z ADC do tablicy, która następnie wysyłała...

    Mikrokontrolery Początkujący   29 Mar 2015 01:56 Odpowiedzi: 49    Wyświetleń: 2781
  • Przerwania USART na AtMega8 - problem z obsługą diody LED

    Witam. Temat wątku wziął się stąd, że na forum znalazłem już kilka o podobnej tematyce jednak żaden nie pomógł mi z tym zagadnieniem. Programuję na Linuksie na AtMega8. Napisałem sobie proste biblioteki do obsługi USART oraz TWI jednakże chciałbym teraz spróbować popracować z przerwaniami i tutaj jest problem. Mam taki oto kod: [syntax=c] ISR(USART_RXC_vect)...

    Mikrokontrolery   18 Kwi 2011 16:22 Odpowiedzi: 4    Wyświetleń: 1065
  • [Atmega8] [Atmega8][ASM] Przerwania zewnętrzne INT0 nie działają po wgraniu programu

    Witam Piszę program, który ma mierzyć długość impulsu podawanego z zew. źródła jakim jest odbiornik RC, częstotliwość impulsów to 50Hz, a ich długość mieści sie w przedziale 1ms-2ms. To mój pierwszy program na AVR w którym obsługuje przerwania zew. i mam pewien problem, program już napisałem, sprawdziłem go na symulatorze i wydaje się działać poprawnie,...

    Mikrokontrolery AVR   28 Maj 2008 21:42 Odpowiedzi: 8    Wyświetleń: 3935
  • [Atmega8] [Atmega8][C/AVR Studio] Przerwanie nie zapala diody na PORTB 0

    Witam, zacząłem zabawę z przerwaniami i jakoś ni mogę sobie poradzić, poniżej mój skromny kod programu który miał za zadanie do 1 sek zapalać diodę podłączoną do PORTB 0, ale coś nie "bangla", czy może mi ktoś wskazać co robię źle? #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> // funkcje sei(), cli()...

    Mikrokontrolery AVR   29 Gru 2008 08:39 Odpowiedzi: 19    Wyświetleń: 4331
  • [atmega8][c] przerwanie na zbocze opadające nie reaguje

    Witam wszystkich bardzo serdecznie. Chcę zaprogramować uC ATmega8 w taki sposób aby mierzył mi długości sygnałów podawanych na wejście. Oczywiście przy użyciu przerwań. Nie wiem dlaczego program nie reaguje przerwaniem na zboczu opadającym sygnału. Poniżej zamieszczam kod programu. Jeśli mógłbyś zobaczyć i podpowiedzieć w czym tkwi problem byłbym dozgonnie...

    Mikrokontrolery AVR   25 Lut 2012 17:10 Odpowiedzi: 13    Wyświetleń: 2356
  • ATmega8: Zawieszanie przy obsłudze RS232 na przerwaniach - jak rozwiązać?

    Jest sobie układ na ATMEGA8 na defaultowym zegarze, z LCD, MAX232, i przekaźnikiem podłączonym do portu B. MAX232 jest połączony poprawnie z prockiem, bez przerwań jestem w stanie odbierać dane z RS232, nic się nie wiesza, ogólnie działa. Jednak żeby nie było mi zbyt dobrze, to wymyśliłem sobie że umieszczę obsługę RS232 na przerwaniu, po to by oczekiwanie...

    Mikrokontrolery   03 Mar 2008 00:28 Odpowiedzi: 3    Wyświetleń: 1482
  • [ATmega8][C] - Wybudzanie mikrokontrolera ze stanu uśpienia

    Witam. Problem pewnie jest banalny ale nie mogę znaleźć nigdzie rozwiązania. W ramach ćwiczeń buduję na ATmedze8 zegar. Mam problem z wybudzeniem mikrokontrolera ze stanu uśpienia SLEEP_MODE_PWR_SAVE przerwaniem. Chcę aby po uśpieniu wykonujące się co ok. 250ms przerwanie obudziło mikrokontroler i zmieniło zmienną. Wtedy chciałbym aby wykonała się główna...

    Mikrokontrolery Początkujący   25 Mar 2013 16:29 Odpowiedzi: 2    Wyświetleń: 1518
  • Atmega 8 - Przekazywanie wartości zmiennych z przerwania do programu

    Jestem w trakcie pisania programu na Atmegę8. Mam zdefiniowane trzy przerwania: [syntax=c] ISR(INT0_vect) { net = 0; //wywołanie co 10ms 50Hz } ISR(ADC_vect) { pomiar = ADCW; } ISR(TIMER1_COMPA_vect) { PORTC ^= 0x10; if (enable_flag == 1) { step++; } if (step == 5000) { step = 0; } } [/syntax] Obecnie pierwsze przerwanie INT0 jest nieaktywne. Początkowo...

    Mikrokontrolery AVR   31 Sie 2012 18:22 Odpowiedzi: 4    Wyświetleń: 2211
  • Atmega 8 - Wielokrotne wyzwalanie przerwań przy naciśnięciu przycisku INT0

    Po pierwsze - witam na forum (mój pierwszy post tutaj). Włączam obsługę przerwań na początku programu: sei(); GICR =0x40; MCUCR =0x02; zbocze opadające ... ... Na nogę INT0 podpiąłem zwykły przycisk monostabilny (zwiera do masy) z pull-up`em 1KΩ. Jego naciśnięcie powoduje zaświecenie diody na innym wyjściu. (może trywialne, ale dopiero się uczę)...

    Mikrokontrolery   31 Sie 2006 18:47 Odpowiedzi: 5    Wyświetleń: 1962
  • ATmega8/ADC/przerwanie - uC nie wchodzi w procedurę przerwania

    Witam, Tak jak w tytule mam dość dziwny problem. Napisałem sobie bardzo prosty program w którym chciałem zobaczyć jak działa ADC + sterowanie serwem modelarskim. Doświadczenia robię na płytce stykowej. Wygląda to tak że jeśli odczytuję rejestr ADCH w nieskończonej pętli programu (mam ustawiony tryb free running) to wszystko działa ok. Natomiast jeśli...

    Mikrokontrolery AVR   20 Sty 2013 16:02 Odpowiedzi: 8    Wyświetleń: 2244
  • Atmega8 - przerwania nie działają przy sterowaniu LED i przyciskami PC0-PC2

    Witam. Tak jak w temacie podłączyłem Atmege8.Pod PB0 podpiąłem LED,a do PC0, PC1 i PC2 przyciski zwierające wejście do masy. Układ ma generować miganie diody w następujący sposób: -wciskam PC2 uruchamia się generowanie częstotliwości co widać na diodzie LED -za pomocą przycisków PC0 i PC1 zwiększam lub zmniejszam częstotliwość migania diody. Kod napisany...

    Mikrokontrolery AVR   04 Gru 2010 13:28 Odpowiedzi: 7    Wyświetleń: 1277