przerwania atmega32

Znaleziono około 3754 wyników dla: przerwania atmega32
  • Dwa duże problemy z przerwaniami od timera na ATmega32

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

    Mikrokontrolery   16 Lut 2007 16:21 Odpowiedzi: 2    Wyświetleń: 1314
  • avr-gcc - Atmega32 - przerwania timera 0 restartują program

    Co to może być? Wróżka jest na urlopie. Pokaż kod źródłowy.

    Mikrokontrolery AVR   15 Mar 2010 14:28 Odpowiedzi: 3    Wyświetleń: 1191
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • 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ń: 1524
  • ATmega32 i programownie przerwania PCF8574(jako klawisze)

    http://www.elektroda.pl/rtvforum/topic17... http://www.elektroda.pl/rtvforum/topic17...

    Mikrokontrolery AVR   12 Lip 2010 19:47 Odpowiedzi: 2    Wyświetleń: 1708
  • 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ń: 1505
  • REKLAMA
  • 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ń: 2499
  • REKLAMA
  • ATmega32 - Jak zliczać impulsy, generować PWM i przerwania co kilka ms?

    zliczanie impulsów z dwóch enkoderów Jeżeli to są enkodery inkrementalne z sygnałem A, B i ew. Home, zrezygnuj z megi64/128. Xmegi mają wsparcie sprzętowe do obróbki sygnału z takich enkoderów przez użycie liczników w połączeniu z eventami. Na STM32Fxxx zrobisz to łatwiej i być może szybciej korzystając z gotowców. generowanie dwóch przebiegów PWM...

    Mikrokontrolery AVR   05 Lis 2014 23:09 Odpowiedzi: 4    Wyświetleń: 1641
  • Atmega32 jako SPI slave - wysyłanie ramki danych 2-5 bajtów, przerwania SS

    SS musisz wykorzystać, bo tylko stan tego pinu gwarantuje przejście pozostałych linii interfejsu SPI w stan wysokiej impedancji. Przerwanie od SS nie jest potrzebne - niski poziom tego sygnału aktywuje interfejs i powoduje wysłanie SPDR. Po zakończeniu wysyłania bajtu danych możesz otrzymać przerwanie zakończenia transferu SPI w którym to przerwaniu...

    Mikrokontrolery AVR   11 Mar 2015 19:09 Odpowiedzi: 4    Wyświetleń: 1011
  • Jak przyśpieszyć (zmodyfikować) program w na ATMega32

    OCR0=0x20; /// podobno mozna zjechac do 0 i otrzymac fck/2 Zjechać może i można, ale chyba tylko do sprzętowego przełączania pinu. bo obsługa przerwania w 1 cyklu jest niemożliwa. void timer0_comp_isr(void) { PORTC ^= BIT(0); } Wrzuć co kompilator wyrzuca do assemblera do kompilacji. W sumie na obsługe jest 32 takty razem...

    Mikrokontrolery AVR   02 Lut 2010 08:00 Odpowiedzi: 6    Wyświetleń: 2048
  • Atmega32, C - Przerwania INT0 i INT1 - Co tu nie gra?

    Tak, są błędne. ATMega32 dysponuje jednopoziomowym systemem przerwań i aktualnie wykonywana funkcja obsługi przerwania nie może być przerwana. Chyba, że jawnie na to zezwoli odblokowując flagę I rejestru stanu. Z AVR dopiero XMEGA posiadają 3-poziomową obsługę przerwań.

    Mikrokontrolery   18 Lis 2013 20:28 Odpowiedzi: 20    Wyświetleń: 3723
  • REKLAMA
  • atmega32 - nie miga dioda, brak oznak dzialania timera0 od przepelnienia

    Przed petla while wlacz przerwania sei();

    Mikrokontrolery AVR   20 Wrz 2014 17:43 Odpowiedzi: 4    Wyświetleń: 984
  • [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ń: 2585
  • Atmega32 [c] - Jak generować podaną ilość impulsów w czasie?

    Zwłaszcza jak NWW wyjdzie dosyć wysoki np 1000. Jesteś optymistą. Przy podanych parametrach (50 i 0,1s) Maksymalne NWW (najmniejsza wspólna wielokrotność a nie dzielnik) to NWW=47*43*41*37= ponad 3000000. Zastanowiłbym się także nad użyciem przerwania od timera zamiast pętli z delayem. Nie ma się nad czym zastanawiać. Użycie timera to konieczność....

    Mikrokontrolery AVR   05 Gru 2009 00:11 Odpowiedzi: 3    Wyświetleń: 1478
  • [Atmega32] Timer0 nie wywołuje przerwania SIG_OVERFLOW0 w skanerze 3D

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

    Mikrokontrolery AVR   15 Maj 2009 14:59 Odpowiedzi: 13    Wyświetleń: 3990
  • atmega32 [C] - Obsługa klawiszy, wyświetlacza, przerwań i do tego ADC.

    Możesz użyć jednego timera. Procedura obsługi przerwania nie może przeszkadzać w obsłudze innych przerwań. W Twoim przypadku nie ma innych przerwań, więc jedyny warunek to ten, żeby procedura obsługi wykonała się w czasie mniejszym niż odstęp pomiędzy przerwaniami. To jest w sam raz dobry materiał na projekt z pustą pętlą główną, i tak to należy zrobić.

    Mikrokontrolery Początkujący   21 Kwi 2013 18:28 Odpowiedzi: 29    Wyświetleń: 3501
  • ATmega32 Bascom - Jak odczytać wartość Timer0 przy przerwaniu Int0?

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

    Mikrokontrolery Początkujący   04 Sty 2012 23:02 Odpowiedzi: 6    Wyświetleń: 2210
  • ATMEGA32 - Wynik pomiaru ADC zawsze 0, dioda 2 się zapala, kod w C

    Bo w tym przypadku niczemu nie służy - nie ma z niego żadnego pożytku, a wejście i wyjście z przerwania niepotrzebnie zajmuje czas procesora.

    Mikrokontrolery AVR   19 Mar 2015 14:01 Odpowiedzi: 3    Wyświetleń: 813
  • Jak napisać kod w C dla atmega32 do mrugania diodą PWM bez blokowania?

    Ale mieszasz. Ustawiłeś dwa cykliczne przerwania i dziwisz się, że coś nierówno miga. Tu w avr nie ma wielowątkowości sprzętowej i jedno przerwanie przeszkadza drugiemu. Przenieś i wyłącz to przerwanie to co masz w ISR(TIMER2...) do ISR(TIMER1...) . Idea programowego PWM i timerów jest właśnie w tym aby działało wszystko pod jednym wspólnym cyklicznym...

    Mikrokontrolery AVR   13 Lip 2019 13:02 Odpowiedzi: 19    Wyświetleń: 759
  • [ATmega32] Jak zatrzymać odczyt stanu niskiego na pinie ATmega32 przez 2 sekundy?

    Musisz zastosować przerwania. Poczytaj o przerwaniu np INT0. Ustaw na reakcję zboczem opadającym. Sygnał który chcesz odebrać daj na któreś z wejść INTn np na INT0, a w obsłudze przerwania robisz co chcesz. Wtedy nie stracisz żadnych sygnałów .

    Mikrokontrolery AVR   20 Lis 2011 00:09 Odpowiedzi: 6    Wyświetleń: 2009
  • PWM na Atmega32 - jak uzyskać płynne pulsowanie diody?

    Przy 8MHz i tych ustawieniach Timera 2 częstotliwość PWM powinna być 156Hz jeżeli nic nie przeoczyłem. Czasy opóźnień są trochę naciągane (znaczy, krótkie), ale nie powinno to migać chaotycznie. Chyba, że przerwania się nie wyrabiają. Jaki masz poziom optymalizacji w kompilatorze?

    Mikrokontrolery   17 Lut 2020 16:54 Odpowiedzi: 7    Wyświetleń: 567
  • 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ń: 3351
  • [C] Atmega32 Timer0 CTC – dioda nie zapala się w przerwaniu, kod nie działa

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

    Mikrokontrolery   07 Mar 2011 09:24 Odpowiedzi: 8    Wyświetleń: 2012
  • Obsługa przerwania w programie wieloplikowym kompilator GCC

    W google piszesz atmega32 i pierwszy link to dokument doc2503.pdf http://www.atmel.com/dyn/resources/prod_...

    Mikrokontrolery AVR   12 Sie 2011 19:50 Odpowiedzi: 11    Wyświetleń: 1547
  • Jak zintegrować ADC z TIMER2 w ATmega32 do próbkowania 8kHz w AVR Studio 4?

    ADC uruchom w trybie Free Run, bez zgłaszania przerwania po zakończonej konwersji. Przetwornik uruchom w miarę szybko, najlepiej blisko wielokrotności częstotliwości zgłaszania przerwania przez Timer. I wtedy w Przerwaniu od Timera przepisujesz wartość z rejestru ADC do jakiejś zmiennej/bufora.

    Mikrokontrolery AVR   13 Lis 2011 15:02 Odpowiedzi: 21    Wyświetleń: 3402
  • Atmega32 - Jak wyświetlić co ile jest podawany impuls

    Sprawdź te fuse bity czy na pewno atmega nie chodzi na wewnętrznym kwarcu. Po drugie w obsłudze przerwania nie powinno być żadnego wait, szczególnie takiego dugiego. Zmień "Load Timer0 = 250" na "Load Timer0, 250"

    Mikrokontrolery AVR   09 Maj 2014 15:23 Odpowiedzi: 12    Wyświetleń: 1074
  • [AVR] I2C z Atmega32 i ADS1100 - sporadyczne przesyłanie 0 bitów

    Możesz jeszcze spróbować na czas transmisji po I2C wyłączać przerwania jeżeli z nich korzystasz ( nie wiem czy to jest listing całego programu ) , ale przerwania włączasz na początku , żeby się nie okazało że ci się w trakcie transmisji jakieś zgłasza i robi kaszanę.

    Mikrokontrolery AVR   05 Lut 2013 23:13 Odpowiedzi: 5    Wyświetleń: 1089
  • Niepoprawne wyświetlanie czasu na LCD z ATmega32 i PCF8563p

    Na początek kwestia formalna: jest za dużo tabulatorów w kodzie przed komentarzami, przez to prawa strona posta oraz kodu jest ucinana na ekranie (mam mały ekran). Co do kodu: czytanie zegarka oraz formatowanie sprintfem w procedurze obsługi przerwania jest mocno słabe. Diabli wiedzą jak jest zrealizowany lib TWI. Jakby był oparty na przerwaniach to...

    Mikrokontrolery AVR   02 Paź 2019 11:25 Odpowiedzi: 6    Wyświetleń: 768
  • Czy mmlan2 i Atmega32 bez zewnętrznej pamięci obsłużą serwer HTTP?

    Tak na oko wydaje się być OK, skoro przerwania przychodzą to oznacza że odbiera pakiety. Na początek zmnień wartość Dcrval na &H48 i zobacz co się stanie. Dalej zmień wartość Imrval na &H1F (aby uaktywnić raportowanie o błędach). Następnie spróbuj odczytywać także wartosć rejestu RSR o adresie &H0C (tak jak RCR tylko do odczytu) i daj znać o efektach....

    Mikrokontrolery   31 Maj 2005 22:47 Odpowiedzi: 5    Wyświetleń: 2064
  • Jak zliczać impulsy z dwóch kontaktronów na ATmega32 w C++?

    Witam . Zadanie jest trywialne . Potrzebujesz 3 zmiennych i dwóch przerwań zewnętrznych plus przerwanie do wyświetlacza. Po starcie procka ustawiasz wartość jednej z zmiennych która będzie równa ilości przerwań wyświetlacza w czasie 10 sekund . Podczas aktywacji przerwania od T1 aktywujesz przerwania od INT0 i INT1 . INT0 zwiększa jedną zmienną a INT1...

    Mikrokontrolery AVR   19 Lip 2010 21:00 Odpowiedzi: 20    Wyświetleń: 2840
  • Jak obsłużyć więcej serwomechanizmów na atmega32 (PB3, PD7)?

    Znalazłem czas wniknąć w szczegóły...J Jaka ma być rozdzielczość/częstotliwość tego programowego timera? Bo z wartością 108 jest jakaś taka mało okrągła. Rozdzielczość 20ms nie wystarczy? Bo jeżeli musisz go tak skonfigurować do timerów programowych, to czwartego kanału serwa nie da się na nim zrobić. UART nie ma nic do rzeczy, ma swój generator częstotliwości....

    Mikrokontrolery AVR   03 Sie 2019 13:14 Odpowiedzi: 23    Wyświetleń: 744
  • Atmega168 Bascom - Przerwanie co 5us i odczyt 8 bitów

    Ta wstawka asm nie jest prawidłowo napisana, działa tylko dlatego, że kompilator nie wykorzystał jak dotychczas rejestrów R14 i R15. Jeśli program rozrośnie się na tyle, że kompilator będzie wykorzystywał te rejestry to program przestanie działać. Jak wspomniałeś poza eterem, masz możliwość skorzystania z ATmega32 i podpięcia wszystkich sygnałów do...

    Mikrokontrolery Początkujący   18 Lis 2014 09:04 Odpowiedzi: 65    Wyświetleń: 4923
  • ATmega32 IAR: Nie działa przerwanie przy przepełnieniu timera T1

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

    Mikrokontrolery AVR   11 Lis 2008 00:00 Odpowiedzi: 3    Wyświetleń: 1494
  • ATmega32 - Odmierzanie 1 sekundy a zmiana rezonatora

    Na nie możesz policzyć? Chyba że nie wiesz jak :D Masz 8MHz. A przerwanie przychodzi z częstotliwością 125Hz (dlatego trzeba 125 razy odliczyć aby wyszła 1 sekunda). Preskaler Timera 256. 8000000/256/125 = 250. I dlatego jest Load Timer0 = 250 Teraz chcesz kwarca 7372800. Więc musisz tak kombinować aby uzyskać jakąś sensowną liczbę przerwań i sensowny...

    Mikrokontrolery AVR   22 Lis 2014 22:59 Odpowiedzi: 17    Wyświetleń: 2676
  • [C] Atmega32 resetuje się przy użyciu RS232 i ADC - analiza kodu C

    Przecież włączasz obsługę przerwania ADC: ADCSRA |= (1 << ADEN) | (1 << ADIE) | (1 << ADPS0) | (1 << ADPS1) | (1 << ADPS2); A nigdzie nie masz napisanej jego obsługi ISR( ) więc się resetuje nie włączaj tego bitu

    Mikrokontrolery AVR   16 Cze 2012 14:35 Odpowiedzi: 3    Wyświetleń: 1332
  • Matryca 4x4, problem ze stanami logicznymi atmega32

    masz totalnie pochrzanioną obsługę przerwania pomijam już ze jest zbyt obszerny ale wpisanie tam transmisji rs232 to już piramidalna pomyłka i to powoduje że nigdy tobie to nie zadziała. Poza tym kompletnie nie widzę powodu aby wyprowadzać sygnał na przerwanie INT0 moze tylko po to aby łatwiej mozna było sprawdzać przytrzymanie klawisza ale innego powodu...

    Mikrokontrolery AVR   02 Sie 2010 07:21 Odpowiedzi: 18    Wyświetleń: 2200
  • ATmega32 sterowanie silnikami krokowymi - robot kartezjański

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

    Mikrokontrolery AVR   19 Mar 2018 15:54 Odpowiedzi: 8    Wyświetleń: 900
  • [ATmega32] ATmega32 Timer0 CTC - przerwanie nie działa poprawnie, licznik się zeruje

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

    Mikrokontrolery AVR   13 Sie 2008 21:39 Odpowiedzi: 4    Wyświetleń: 2577
  • [C AVR] Sprawdzenie kodu stopera na Atmega32 z kwarcem 16MHz

    W kodzie jest sporo błędów. Nie do końca jestem pewien, czy rozumiem, o co chodzi, ale jeśli przerwanie INT0 jest od przycisku, to nie ma prawa działać poprawnie, a przyczyna efektu, który obserwujesz, leży w operacjach na zmiennej b. Takie przerwanie po wystąpieniu musiałoby być blokowane przy pomocy timera na jakieś 30 ms, co jest znacznie bardziej...

    Mikrokontrolery   01 Lis 2013 21:44 Odpowiedzi: 4    Wyświetleń: 1662
  • Dlaczego oscyloskop na ATMega32 zniekształca przebieg trójkątny?

    Problemem jest to co ci dondu pisał - program odczytuje ADC nie sprawdzając, czy jest tam nowa wartość, bo robi to całkowicie asynchronicznie z pomiarami. Stąd też ten fragment najlepiej przenieść do procedury obsługi przerwania ADC. W takiej sytuacji dodatkowo musisz stworzyć flagę dającą sygnał startu dla ADC (znaczy on sampluje non-stop, lecz ta...

    Mikrokontrolery AVR   29 Mar 2011 22:36 Odpowiedzi: 29    Wyświetleń: 2522
  • Czy kod i schemat do sterowania silnikiem krokowym Atmega32 są poprawne?

    1. Można to różnie rozwiązać. Najprościej, to wykorzystać któryś z pinów INT. Algorytm: - ustaw przerwanie z pinu INT0 na zbocze np. narastające, - gdy pojawi się zbocze narastające to wywoła funkcję obsługi przerwania, - w funkcji przerwania uruchamiasz timer i zmieniasz ustawienia INT0 na zbocze opadające, - gdy wystąpi zbocze opadające - zatrzymujesz...

    Robotyka Modelarstwo i CNC   17 Kwi 2013 05:51 Odpowiedzi: 11    Wyświetleń: 3180
  • ATmega32 Bascom: OC1A nie zmienia stanu bez osiągnięcia Compare1A, dlaczego?

    No to trzeba je oprogramować tak, aby nie bruździło... czas obsługi przerwania ok. 1-2 µs (przez wstawkę asemblerową) chyba nie zrobi na transmisji 1Wire większego wrażenia ? Przy 8 MHz mamy do dyspozycji 8 cykli zegarowych w czasie 1 µs, a przy 16MHz - 16 cykli zegarowych. reti zajmuje 4 cykle, cbi / sbi po 2 cykle, ewentualne nop pomiędzy...

    Mikrokontrolery   21 Kwi 2005 23:23 Odpowiedzi: 9    Wyświetleń: 1331
  • 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ń: 5175
  • [ATMEGA32] Jak obsłużyć przerwania dla 4 czujników w ATMEGA32 z Bascom?

    no to można zawsze bardzo brzydko włożyć to sprawdzanie do samego przerwania...

    Mikrokontrolery AVR   18 Kwi 2011 17:12 Odpowiedzi: 11    Wyświetleń: 1888
  • [C][ATMEGA16] - Wymiana atmega16 na atmega32 lub 644 lub 1284

    Oj, przejrzałem pobieżnie kod - uwierz mi - skasuj go. W C jest coś takiego jak funkcje - wykorzystaj to, kod, który masz jest kompletnie nieczytelny. Każdy normalny promotor by to coś uwalił chociażby za to. Co do szybkości działania - pokaż kod funkcji odpowiedzialnych za komunikację z czujnikami. Z kodu, który masz: - funkcjie piszące do LCD są zapewne...

    Mikrokontrolery AVR   04 Sty 2015 21:43 Odpowiedzi: 17    Wyświetleń: 1449
  • ATmega32 - Monitor na VGA sterowany przez mikrokontroler Atmela

    W BASCOMie nie da rady - przynajmniej czystym. Musi być co najmniej mały fragment w assemblerze, żeby zlikwidować jitter przerwania AVR. Reszta też by się przydała w assemblerze, bo liczba taktów na linię jaka jest do dyspozycji nie jest imponująca. A co do łączenia - masz H i V-Sync, które są liniami cyfrowymi i po prostu je łączysz z MCU - mały rezystor...

    Mikrokontrolery Początkujący   05 Sie 2012 20:01 Odpowiedzi: 22    Wyświetleń: 4508
  • Bascom: Jak zmienić częstotliwość dla Atmega32 z obsługą enkodera i RC5?

    Wpisywanie $CRYSTAL bez rzeczywistej zmiany taktowania procesora będzie powodować, że wszelkie opóźnienia i obliczenia kompilatora dotyczące liczników nie będą zgodne ze stanem faktycznym. GETRC5() korzysta aktywnie z licznika TIMER0. Tak manewruje wartością wpisaną do rejestru licznika oraz preskalerem by otrzymać jednakowe odcinki czasu zliczane później...

    Mikrokontrolery Początkujący   20 Cze 2014 21:55 Odpowiedzi: 3    Wyświetleń: 1116
  • Atmega32 mulipleksowanie LED nakładające się symbole

    Zrób do testowania w programie głownym. Przekopiuj to co w przerwaniu zablokuj przerwania a w petli daj opoznienie 1-2 sek. 5 sek roboty:-) Dodano po 1 Sprawdz jak właczasz anody bo z obrazka wynika ze jak bys właczał przeciwnie to by wszystko grało. Chyba ze sie myle. Dodano po 8 #define funkcja_ON PORTC |=(1<<5); //wlaczenie odpowiedniego wyswietlacza...

    Mikrokontrolery AVR   03 Sty 2011 22:51 Odpowiedzi: 14    Wyświetleń: 2183
  • Jak napisać szybki protokół transmisji RS232 między BASCOM a DELPHI?

    Profesjonalnie to można programować w każdym języku, tylko trzeba go po prostu znać i umieć stosować w praktyce co najważniejsze. Dla takich początkujących jak ty Bascom powinien być jednym z lepszych języków tym bardziej, że nie rozumiesz jeszcze przerwań. Bascom daje ci gotowe rozwiązania w tym zakresie na maxa - popatrz sobie na Config Serialin ........

    Mikrokontrolery AVR   28 Kwi 2009 20:08 Odpowiedzi: 13    Wyświetleń: 3270
  • Jak przesłać plik WAV (8KHz, 8bit, mono) przez UART i odtworzyć przez PWM?

    No tak na marginesie to bardzo ciekawy efekt ci wyszedł ;) A na poważnie to działasz na ATmega32 więc jak możesz próbować nawet tworzyć bufor w RAM o rozmiarze 2026 ??? nie wspominając o większym - skoro cały RAM tego procka to 2kB. Zastanowiłeś się nad tym? hmmm widzisz tutaj twoim problemem jest na razie prawidłowe zorganizowanie binarnej transmisji...

    Mikrokontrolery AVR   08 Mar 2012 16:44 Odpowiedzi: 19    Wyświetleń: 3082
  • AVR ATMEGA32 ADC - identyczne wyniki z 3 kanałów, jak rozwiązać?

    Twój problem prawdopodobnie polega na tym, że stosujesz instrukcje: [syntax=c]ISR(ADC_vect) // Obsługa przerwania po zakończeniu konwersji ADC { if(wsk_kan==1) { ... wsk_kan=2; } if(wsk_kan==2) { ... wsk_kan=3; } if(wsk_kan==3) { ... wsk_kan=1; } } [/syntax] Przeanalizuj krok po kroku powyższy uproszczony Twój kod, gdy na początku wsk_kan = 1 i wykona...

    Mikrokontrolery AVR   31 Gru 2012 09:52 Odpowiedzi: 2    Wyświetleń: 1869
  • AVR C Atmega32 przerwania bez zmiany wyjść na pinach

    Witam Mam problem Wszystko działało na portach PA PC i PD4-7 ale jak podpiąłem cały PD PB do drugiej części matrycy diodowej to przestało działać chyba przez przerwania. Zmieniłem rodzaj przerwania na czasomierz z uwagi ze chyba piny INT0 zmieniały stany. Wszystkie porty mam jako wyjścia a w części matrycy mam błędy zawsze w tym samym miejscu. Jaki...

    Mikrokontrolery AVR   23 Lis 2009 09:25 Odpowiedzi: 7    Wyświetleń: 1750
  • [Przerwania] Atmega 32 - jak poprawnie obsłużyć przerwania w projekcie skrzyżowania?

    Witam Potrzebuje pomocy w obsłudze przerwań. Muszę zrobić projekt skrzyżowania na zajęcia z sieci automatyki, i napotkałem problem z przerwaniami. Próbowałem na wiele sposobów coś napisać, ale bez skutku. Potrzebuje jakiś testowy kod, który np: będzie mi zapalać i gasić diodę podpiętą do jakiegoś portu. Oto kod poprany z jakiejś strony, lecz też mi...

    Mikrokontrolery AVR   02 Gru 2013 07:56 Odpowiedzi: 21    Wyświetleń: 2295
  • [C] Atmega32: Przerwania licznika, diody co sekundę, preskaler 256, TIMER1_OVF_vect

    Co tutaj przekombinowałem? Atmega32. Tryb Licznika. Celem było zapalenie i gaszenie diod co sekundę. Preskaler = 256. Przerwanie tak wyliczone aby wykonywało się co sekundę. Timer 16bitowy [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> ISR (TIMER1_OVF_vect) { PORTC ^= ~0xFF; //zmiana stanu portu C...

    Mikrokontrolery Początkujący   27 Gru 2012 16:24 Odpowiedzi: 17    Wyświetleń: 1779
  • AVR - Obsługa przerwania w zestawie EVB 5.1(ATMega 32a)

    Witam! Mam mały problem. Od kilku godzin próbuję ustalić przyczynę braku możliwości obsługi przerwania w moim zestawie EVB 5.1 z ATMega 32. Mianowicie, próbowałem wszystkich możliwych opcji uruchomienia przerwania poprzez naciśnięcie przycisku i niestety nie wychodzi. Po naciśnięciu przycisku 3 diody mają zostać wyłączane/włączane zależnie od poprzedniego...

    Mikrokontrolery   27 Gru 2014 01:08 Odpowiedzi: 5    Wyświetleń: 1242
  • [ATmega32][C] Nie działa przerwanie od przepełnienia timera0

    Witam, pisałem program i stanąłem na dość błahej sprawie, mianowicie nie mogę wywołać przerwania od przepełnienia licznika0 a nawet od porównania z zadaną wartością... dziwne bo na przykład przerwanie od INT0 działa znakomicie. Ten sam problem mam z licznikiem 1 i 2 Kod programu #include <avr/io.h> #include <avr/interrupt.h> // Biblioteka...

    Mikrokontrolery AVR   08 Lis 2011 09:26 Odpowiedzi: 23    Wyświetleń: 3098
  • Dlaczego przerwanie T0 w ATmega32 nie działa? Zmiana stanu diody w C

    Witam Chciałem uruchomić przerwania, przygotowałem najprostszy kod z timerem T0 i przerwaniem od przepełnienia, ale nie chce mi zadziałać przerwanie. Dla sprawdzenia zmieniam stan portu do którego podłączona jest dioda. #define F_CPU 1000000 //ustawienie oscylatora na 1MHz #include <avr/io.h> //dołączenie podstawowej biblioteki #include <avr/interrupt.h>...

    Mikrokontrolery   18 Lip 2011 17:54 Odpowiedzi: 7    Wyświetleń: 1056
  • przerwania na ATmega32,dziwne zachowanie się nóżek PC2 i PC3

    Atmega 32, program obsługujący klawiaturę - 4 przyciski, odczytywane co 20 ms ( co któreś przerwanie timera 1), przyciski podpięte pod PC), PC0,PC1,PC2,PC3. jeżeli w programie wykorzystuję PC0 i PC1 to jest ok , ale jeśli w pętli obsługi przerwania odczytującego klawiaturę sprawdzam stan przycisków PC2 i PC3 to zgłoszenia przerwania są w każdym odczycie...

    Mikrokontrolery   05 Mar 2010 15:57 Odpowiedzi: 18    Wyświetleń: 3425
  • [ATmega32] [ATmega32][c/WinAVR] Przerwania nie działają w ZL3AVR - diody nie gasną

    Witam wszystkich! Mój problem polega na tym, że przerwania nie chcą działać. Kod: [syntax=c] #include<avr/io.h> #include <avr/interrupt.h> int main(void) { DDRA = 0xFF; PORTA = 0xFF; DDRD = 0; //ustawiam jako wyjście PORTD = 0xFF; //ustawiam stan wysoki MCUCR |= (1<<ISC01); //przerwanie dla zbocza malejącego GICR |=(1<<INT0);...

    Mikrokontrolery AVR   07 Sie 2011 23:32 Odpowiedzi: 16    Wyświetleń: 2210
  • [ATMEGA32] Jak ustawić priorytety przerwań USART i Timera w ATMEGA32?

    Witam. Próbuje uruchomić program testowy, który polega na tym, że po wysłaniu na RS-a liczby 2 dioda zapala się na okres 1 sekundy i na ten sam czas również gaśnie przez okres 30 s. Wysyłanie na port szeregowy wykonuje za pomocą przerwania z USART. Odmierzanie sekund z przerwania Timera w trybie asynchronicznym(RTC). Program nie działa, bo mam problem...

    Mikrokontrolery AVR   14 Maj 2009 19:15 Odpowiedzi: 4    Wyświetleń: 3130
  • Atmega32[C] - Przerwanie od timera1 nie działa, miganie diody co 1s

    Witam wszystkich, mam problem z przerwaniem od przepelnienia, timer1. Siedze nad ta prosta rzecza któryś dzień z kolei i nie moge sobię poradzić. Prosiłbym o sprawdzenie kodu. [syntax=jezyk_C] #include<avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000 // czestotliwosc zegara 1MHz #include<util/delay.h> int main() { DDRA =...

    Mikrokontrolery AVR   01 Kwi 2014 01:25 Odpowiedzi: 12    Wyświetleń: 1335
  • [ATmega32][c] Przerwanie od porównania w timer1 - ograniczenia

    Witam! Mam program, który wykorzystuje liczniki do wysyłania impulsów o danej częstotliwości. Częstotliwością steruję za pomocą zmiennej okres1, która jest mnożnikiem preskalera. Np. preskaler=8 clkio=1000000Mhz okres1=127, czyli co 8*128=1024us zmienia się stan na danym pinie przerwania od przepełnienia licznika (dla timera1a jest to pd5), co znaczy,...

    Mikrokontrolery AVR   21 Lis 2011 17:23 Odpowiedzi: 10    Wyświetleń: 2494
  • Przerwania w AVR, jak zrobić przerwanie przyciskiem

    Chciałbym napisać przerwanie do mojego programu zegara. Chcialbym aby przerwanie bylo wywolywane zmiana jednego pinu tzn zmiana PINA4 z 1 na 0. Gdy zmienie ten przycisk chcialbym aby wykonalo sie przerwanie. oto moj KOD: int main(void) { char B1; DDRA=0x00; DDRD |= (1 << PD1); LCD_Initialize(); TWI_Init();...

    Mikrokontrolery AVR   16 Gru 2009 06:53 Odpowiedzi: 2    Wyświetleń: 2369
  • Konfiguracja przerwań i timera w Atmega32-poprawność kodu ?

    Witam. Chciałbym prosić o pomoc. Czy ten kod jest poprawny. Program działa bez zarzutów. Natomiast, gdy włączę przerwanie"sei". Układ się zawiesza. [syntax=c]void init_Ex1() { // Timer clock = I/O clock / 1024 TCCR0 |= (1<<CS02)|(1<<CS00); // Clear overflow flag TIFR |= (1<<TOV0); // Enable Overflow Interrupt TIMSK |= (1<<TOIE0);...

    Mikrokontrolery   02 Gru 2024 11:59 Odpowiedzi: 3    Wyświetleń: 273
  • [C] [ATmega32] - ATmega32 - obsługa timera/przepełnienie co 100ms/pomiar na ADC

    Witam wszystkich bardzo serdecznie. Mam problem z obsługą timera, nie wiem czy dobrze mam napisany kod, bo działa nie tak jakbym chciał. Mianowicie chciałbym generować przerwanie co 100ms i wykonywać pomiary na dwóch kanałach ADC i wyświetlać wyniki na ekranie terminala w PC.. Na początku udało mi się obsłużyć timer0 i wszystko działało prawidłowo,...

    Mikrokontrolery AVR   11 Lis 2013 23:14 Odpowiedzi: 19    Wyświetleń: 3261
  • Atmega32: Problem z zapisem do EEPROM na przerwaniach - kod nie działa poprawnie

    Witam wgrałem do megi poniższy kod [syntax=c] ISR(EE_RDY_vect ) { eeprom_write_byte(EEPROMPtr, *SRAMPtr); EECR|=_BV(EERIE); //W³¹cz przerwania EEPROM EEPROMPtr++; SRAMPtr++; EEPROMWrBytes--; if(EEPROMWrBytes) EECR|=_BV(EERIE); //W³¹cz przerwania EEPROM } void EEPROM_write_int(uint8_t *src, uint8_t *dst, uint16_t size) { while(EEPROMWrBytes);...

    Mikrokontrolery AVR   16 Sie 2017 09:51 Odpowiedzi: 5    Wyświetleń: 1047
  • ATmega 32 - Kod nadajnika nie działa, komenda pokazuje same zera

    Cześć Ten kod mi nie działa.Czy moglibyście rzucić na niego okiem. Ten kod poprostu ma za zadanie nadawać w standardzie space.Ladnie pokazuje adres ale nie działa komenda pokazuje same zera. [syntax=c_mac] //Załączanie plików nagłówkowych #include<avr/io.h> #include<util/delay.h> //Czasy dla nagłówka #define first_header 9460 #define second_header...

    Mikrokontrolery AVR   13 Kwi 2015 14:36 Odpowiedzi: 3    Wyświetleń: 717
  • [Atmega32][c] problem z komparatorem i przerwaniami zewn.

    Qurcze, walczę z softem, gdzie muszę korzystać z komparatora (obsługuje go na przerwaniu) i dwóch przerwań zewnętrznych INT0 i INT1. Niestety coś tu mi nie działa i program się sam resetuje wracając do początku funkcji "main" :cry: int main() { //wlaczenie przerwan zewnetrznych INT0 i INT1 GICR |= (1<<INT0); // INT0 GICR |=...

    Mikrokontrolery AVR   15 Kwi 2010 10:31 Odpowiedzi: 9    Wyświetleń: 1353
  • [atmega32] - RTC, przerwania Timer2, maksymalna częstotliwość 32768Hz

    Witam Mam problem z RTC w atmega32. Podłączyłem kwarc 32,768kHz jak datasheet nakazuje. Jeśli Timer2 skonfiguruje następująco: [syntax=c] TCCR2 = 0b00000001; ASSR |= 1 << 3; TIMSK |= 1<<6; [/syntax] To przerwanie [syntax=c] ISR(TIMER2_OVF_vect) { TCNT2=255; ... } [/syntax] Wykona się tylko 8192 razy na sekundę zamiast 32768. Natomiast jak...

    Mikrokontrolery AVR   03 Sty 2015 01:33 Odpowiedzi: 19    Wyświetleń: 1419