kasować flaga przerwać

Znaleziono około 378 wyników dla: kasować flaga przerwać
  • BASCOM - przerwanie zewnętrzne, niezrozumiałe działanie

    W rejetrze GIFR pojawia się flaga żądania obsługi przerwania INTF0. I czeka. Gdy w rejestrze GICR pojawi się ponownie flaga INT0 (czyli w Bascomie enable INT0) przerwanie jest obsłużone i flaga INTF0 jest wtedy kasowana. Flaga INTF0 może byś skasowana ręcznie.

    Mikrokontrolery   17 Gru 2009 14:14 Odpowiedzi: 4    Wyświetleń: 3262
  • REKLAMA
  • [ATTINY2313][C] Eliminacja drgrań styków - rozwiązany!

    Jak wyrzucisz z przerwania obsługę przycisków- to będzie krótkie. Jak masz przerwanie co 10ms to daj flaga++ kasowanie w głównej pętli co 3-4 przerwania- 30-40ms. w linkach -nie pamiętam. Ale niektórzy zamiast napisać "wykorzystując przerwanie" piszą "w przerwaniu" Ja napisałem tak: "Wystarczy w przerwaniu ustawiać jeszcze jakąś flagę. Potem w głównej...

    Mikrokontrolery   29 Wrz 2010 23:27 Odpowiedzi: 11    Wyświetleń: 2597
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [Atmega8][C] Przerwanie zewnętrze INT0 nieoczekiwane wyowłanie

    Jeśli funkcja obsługi przerwania powoduje ponowne wyzwolenie samego siebie, to jest to wynikiem tego, że flaga przerwania jest kasowana tylko podczas wchodzenia do przerwania. Podczas wykonywania funkcji obsługi przerwania flaga INTF0 może zostać ponownie ustawiona, co spowoduje ponowne wejście do ISR zaraz po zakończeniu (ISR_BLOCK nie powoduje zablokowania...

    Mikrokontrolery AVR   14 Cze 2011 14:28 Odpowiedzi: 2    Wyświetleń: 1574
  • REKLAMA
  • Xmega E5 - Podwójne wywołanie przerwania na pinie C1, jak temu zaradzić?

    (at)niveasoft To nie ten przypadek. Wyjaśnienie tej zagadki jest raczej proste - flaga przerwania jest kasowana, ale zwieranie mechaniczne powoduje bouncing, więc zgłaszanych jest więcej niż jedno przerwanie. Samo wyłączenie przerwania nie wpływa na odpowiednią flagę, więc przy kolejnym drganiu jest ona ustawiana, ale przerwanie nie jest obsługiwane...

    Mikrokontrolery Początkujący   02 Sty 2017 21:41 Odpowiedzi: 7    Wyświetleń: 960
  • [ADUC842] [ADUC842][C] - Zawieszanie się uC przy jednoczesnym wysyłaniu danych RS

    Nie wiem jak to działa gdy kasujesz TI w przerwaniu. To już poziom assemblera czy wcześniej sprawdzasz warunek pętli while(TI==0) {}; czy też w obsłudze przerwania jest kasowana flaga TI. Włącz debugger w keilu ustaw breakpoint w przerwaniu i zobacz jak program działa. Sądze że skasowanie linii "if (TI) { TI=0; }" rozwiąże problem :) Korzystanie z funkcji...

    Mikrokontrolery   17 Kwi 2009 20:18 Odpowiedzi: 3    Wyświetleń: 1508
  • [atmega8] Przerwanie INT1 nie reaguje na zmiany stanu portu po kilku przejściach

    Śmiem twierdzić, że w (0<<ISC11) | (1<ISC10) jest błąd, powodujący, że wyrażenie to ma wartość równą 1 (podczas gdy powinno mieć wartość równą 4). Jeśli flaga jest ustawiana na zbocze, to w kodzie głównym powinny występować jakieś opóźnienia albo zmiana algorytmu, bo inaczej flaga zostanie sprawdzona raz - będzie ustawiona,...

    Mikrokontrolery AVR   07 Sie 2008 21:04 Odpowiedzi: 12    Wyświetleń: 4123
  • REKLAMA
  • RS-485 na Atmega328P - błędne ustawianie stanu pinu w kodzie C

    Kolega R-MIK ma racje. Natomiast ja się zdziwiłem. Zazwyczaj nie czytałem/nie zapisywałem flagi związanej z przerwaniem tylko pisałem obsługę przerwania gdzie flaga sama była kasowana. Jako "Appendix" chciałbym przypomnieć, bo może kiedyś kolega użyje Xmegi serii E, że tam wejście w procedurę obsługi przerwania nie kasuje flagi "sprzętowo" czyli samym...

    Mikrokontrolery AVR   31 Paź 2017 22:29 Odpowiedzi: 17    Wyświetleń: 864
  • Atmega 32 - dlaczego przerwanie INT1 nie działa poprawnie?

    W ogóle nie używamy _delay() -nie tylko w przerwaniach. Poza tym- po co jest to kasowanie flagi przerwania w przerwaniu- po obsłudze przerwania ta flaga sama się kasuje.

    Mikrokontrolery AVR   22 Maj 2011 08:17 Odpowiedzi: 10    Wyświetleń: 2861
  • Jak Atmega328p obsługuje kolejne przerwania zewnętrzne INT0 i INT1?

    ]Zależy jak zadeklarujesz przerwanie, czy ISR bez atrybutu lub z atrybutem ISR_BLOCK albo jako SIGNAL czy ISR z atrybutem ISR_NOBLOCK lub jako INTERRUPT. Wchodząc do przerwania, inne są wyłączone, Musisz je włączyć instrukcją i przerwanie może być przerwane przez inne przerwanie. Te makra jak ISR_NOBLOCK po prostu generują tę instrukcję automatycznie...

    Mikrokontrolery Początkujący   28 Gru 2018 08:46 Odpowiedzi: 4    Wyświetleń: 1359
  • STM32F429I-DISCO EXTI zewnętrzne przerwanie

    Witam mam lekki problem, mianowicie staram się oprogramować zewnętrzne przerwanie, standardowo wywoływane po wciśnięciu przycisku, reagujące na zbocze opadające. Okej, wszystko elegancko ale po wejściu w przerwanie nie jest kasowana flaga przerwania. Przeglądając RM, nie odnalazłem żadnego rejestru w EXTI, który by za to odpowiadał. Pytanie brzmi zatem:...

    Mikrokontrolery Początkujący   07 Paź 2015 23:26 Odpowiedzi: 6    Wyświetleń: 1311
  • ATMEGA 32: Niespodziewane wyjście z pętli głównej do funkcji ustawień

    No dobrze- rozumiem że za moich czasów nie było kopiuj/wklej tylko znajdź w bibliotece/wypożycz/znajdź dziewczynę piszącą na maszynie/znajdź maszynę/dyktuj/sprawdź. Nie priorytet przerwań i nie dwa w tym samym czasie. Jakby tak się zdarzyło że dwa różne- to tak. Ale prawdopodobieństwo tego jest bardzo małe. Dlatego w AVR to chyba nikt nie próbuje tego...

    Mikrokontrolery AVR   12 Lip 2011 17:05 Odpowiedzi: 29    Wyświetleń: 2961
  • operacje programowe niezbędne przed odblokowaniem przerwań

    Ja bym to ujął w takiej kolejności: 1. Konfiguracja priorytetów, rejestrów sterujących itp. (oprócz odblokowania przerwania). 2. Skasowanie flagi sygnalizującej przerwanie. 3. Odblokowanie przerwania. Naistotniejsze jest, aby flaga sygnalizująca przerwanie była kasowana po zmianie rejestrów sterujących/konfigurujących przerwanie, ponieważ częstot jest...

    Mikrokontrolery   25 Cze 2008 06:48 Odpowiedzi: 4    Wyświetleń: 916
  • REKLAMA
  • [STM32] - STM32F103 - flaga przerwania od USART RXNE

    Bit RXNEIE włącza przerwanie od dwóch flag: RXNE i ORE (overrun) - patrz tabelka USART interrupt requests . Odczyt z DR kasuje RXNE. ORE jest kasowane przez (cytat z opisu bitu ORE): "an read to the USART_SR register followed by a read to the USART_DR register".

    Mikrokontrolery ARM   18 Paź 2015 20:30 Odpowiedzi: 2    Wyświetleń: 1755
  • 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ń: 6027
  • Konfiguracja płytki z MAX31865 i PT100 - błąd zakresu pomiaru temperatury

    Faktycznie, nie kasuję flag. Myslałem, że kasują sie po wejsciu w przerwanie. W nowych AVR'ach większość flag nie kasuje się automatycznie jak w "starych", klasycznych AVR'ach. Trzeba je ręcznie kasować. Tak. w datachecie nic nie ma o kasowaniu. Wręcz o ręcznym wykasowaniu. Ja kto nie ma? Po prostu jak w opisie danego bitu w rejestrze nie napisano...

    Mikrokontrolery   06 Maj 2025 10:38 Odpowiedzi: 69    Wyświetleń: 1698
  • Przerwanie Int0 w Atmel Bascom - jak zakończyć podprogram przy niskim stanie?

    Reti a kasowanie flagi to dwie różne rzeczy, domyślnie przerwania są załączone, wywołanie przerwania powoduje blokowanie reszty przerwań (żeby nienastępowały w czasie trwania jednego przerwania kolejne przerwanie), reti to powrót z przerwania.. powoduje ponowne załączenie przerwań i powraca do właściwego kodu programu, kasowanie flagi jest poto, że...

    Mikrokontrolery   21 Lip 2004 18:14 Odpowiedzi: 21    Wyświetleń: 1548
  • Stabilizacja pomiaru częstotliwości na ATmega16 z użyciem timerów 0 i 1

    Rejestr SFIOR str.218 No jestem już w domu- to mogę więcej napisać. W tym rejestrze możesz wpisać jakie zdarzenie uruchomi przetwarzanie ADC. Jak przetwarzanie się zakończy to wystawi flagę. Teraz są dwie możliwości: Zezwalamy na przerwanie od ADC- odczytujemy rejestry ADC i flaga jest automatycznie kasowana. Albo: W petli głównej sprawdzamy czy flaga...

    Mikrokontrolery AVR   02 Sty 2012 12:40 Odpowiedzi: 38    Wyświetleń: 4673
  • [STM32F427II][C]{RTOS} RS485 z użyciem DMA rozpoznawanie początku odbierania

    Jeśli włączasz przerwanie od RXNE i masz uruchomione jednocześnie DMA, to po prostu masz dwa konkurujące ze sobą "konteksty odbiorcze", bo DMA gdy faktycznie zaczyna transfer to flaga RXNE po prostu się kasuje (zwykle kasowałbyś ją w przerwaniu). Jeśli Twoje przerwanie wywoła się z jakimś opóźnieniem (bo np. inne przerwanie je przyblokowało), to flaga...

    Mikrokontrolery ARM   24 Wrz 2020 09:52 Odpowiedzi: 8    Wyświetleń: 591
  • Jak podłączyć enkoder EC11SP do mikroprocesora AVR? VCC i GND?

    Prawdopodobnie jest tak jak piszesz , tylko w bascomie flaga jest chyba kasowana automatycznie po skoku w przerwanie , a na początku przerwania jak nie dałem disable int0 , to program lubił się zawieszać , albo robił kaszanę na wyświetlaczu.

    Mikrokontrolery Początkujący   10 Sie 2013 23:22 Odpowiedzi: 8    Wyświetleń: 1893
  • Atmel/ATmega644PA-AU/BASCOM - [BASCOM] Wielokrotne wywołanie przewań

    Coś te flagi przecież ustawiło... Najpierw włączasz obsługę tych przerwań, potem włączasz podciąganie pinu to flaga już ustawiona...a kasowana jest przez AVR sprzętowo kiedy obsługiwane jest przerwanie. Bascom nie musi obsługiwać żadnego kasowania flagi przerwania bo robi to sam procesor tyle, że w przerwaniu (jednym w wyjątków potwierdzających regułę...

    Mikrokontrolery AVR   28 Lis 2016 11:54 Odpowiedzi: 14    Wyświetleń: 852
  • [STM32F1] Koniec transmisji DMA przez USART SmartCard

    Detekcja flagi nie jest problemem. Kombinowalem z tym na różne sposoby. Pytanie dlaczego po czwartym bajcie wzbudza się przerwanie z częstotliwością ok 700kHz. Wygląda jakby przerwanie nie kasowało flagi ale żadna flaga nie jest ustawiona. Pracuje pod debugiem pod pełnym JTAG. Moze mam stara rewizję proca jedna z pierwszych z jakimś błędem, plyta Eval...

    Mikrokontrolery ARM   03 Lip 2017 08:49 Odpowiedzi: 7    Wyświetleń: 1680
  • [C] Nierówne zliczanie impulsów w przerwaniach INT0 i INT1

    w trybie ISR_NOBLOCK może dojść do przepełnienia stosu jeśli przerwania będą się pojawiać zanim bieżące nie zostanie obsłużone. W takich sytuacjach warto sobie wstawić jakiś licznik zliczający zagłębienie wywołań. Tak by było, gdyby przerwanie pochodziło od poziomu niskiego a nie od zbocza albo przerwanie odbiorce USART. Gdy jest przerwanie od zbocza,...

    Mikrokontrolery AVR   27 Paź 2018 14:56 Odpowiedzi: 20    Wyświetleń: 1419
  • Konsekwencje użycia przerwań zamiast call w PIC - adres powrotu, stos

    Na tstos odklada sie rejestry i rejestr statusowy po to zeby zapewnic poprawna prace programu po wyjsciu z przerwania. Wyobraz sobie ze robisz operacje dodawania i chcesz w kolejnej instrukcji sprawdzic flage przepelnienia (zalozmy ze jest wlasnie "zapalona", a tu wystepuje przerwanie w ktorym owa flaga jest kasowana przez jakies operacje. Po powrocie...

    Mikrokontrolery PIC   23 Sty 2010 23:38 Odpowiedzi: 7    Wyświetleń: 2039
  • [STM32F107] - Po włączeniu przerwań program zatrzymuje się

    To zanim zabierzesz się za 2 UARTy oprogramuj 1? obsługa takiego UARTu do zaledwie 50 linii kodu z obsługą buforów. Masz przykładu w SPLu skorzystaj. W przerwaniu od obioru nie odczytujesz rejestru DR. Kasujesz flagę na końcu przerwani - błąd. Uporządkuj ten program. Włączenie przerwania TXE i nie obsłużenie go to poważny błąd, zawiesisz się. A jego...

    Mikrokontrolery ARM   13 Maj 2015 12:14 Odpowiedzi: 8    Wyświetleń: 915
  • AT90CAN128 - Zawieszenie programu przy obsłudze ADC i CAN-USB

    To wszystko nie tak. Obsługuj ADC w funkcji obsługi przerwania od ADC. Przed wejściem do pętli głównej skonfiguruj ADC, włącz zezwolenie na przerwanie i wystartuj pierwszy pomiar, ew. startuj pomiar cyklicznie (z timera), ale nic poza tym. Skoro przerwanie jest włączone i wchodzisz w jego obsługę, to znaczy że na 100% konwersja się zakończyła i masz...

    Mikrokontrolery AVR   10 Gru 2013 21:03 Odpowiedzi: 8    Wyświetleń: 2244
  • STM32F746G-DISCO - przerwanie od UART kasowanie flagi

    Cenna uwaga z tym |=, bo to przeciez też operacja odczytu A błąd był w konfiguracji bo przecież ostatnia linijka psula wszystko: USART3->BRR = freq/4/115200; USART3->CR1 |= (USART_CR1_RE | USART_CR1_TE); USART3->CR1 |= USART_CR1_UE; USART3->CR1 = USART_CR1_TCIE;

    Mikrokontrolery   09 Lip 2021 11:17 Odpowiedzi: 3    Wyświetleń: 378
  • 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ń: 2513
  • [STM32] - STM32L052K8Tx - EXTI Przerwania dla pinu PA2

    - Nie do końca wiem co poszczególne linijki kodu powodują w samym układzie. Jeśli masz problem ze zrozumieniem rejestrów uC ich obsługi, co robi flaga, dlaczego i kiedy trzeba ją kasować, użyj HAL. Następnie podejrzyj (nie zawsze jest łatwo, bo HAL jest uniwersalny przez co czasem nieźle "zakręcony") jak to jest zrobione. Łatwiej będzie Ci zrozumieć...

    Mikrokontrolery ARM   27 Wrz 2018 11:16 Odpowiedzi: 9    Wyświetleń: 630
  • [STM32F103RB][C/Keil] DMA - przerwanie po zakończeniu transferu

    Trzeba jeszcze włączyć przerwanie w NVIC. BTW - nie trzeba czyścić flagi ręcznie - wejście do przerwania kasuje ją. 4\/3!!

    Mikrokontrolery ARM   01 Lut 2012 15:00 Odpowiedzi: 4    Wyświetleń: 1679
  • Obsługa przerwań zewnętrznych w 89S52 - czy wyłączenie blokuje obsługę?

    Szanowni Panstwo: Pisze swoj pierwszy wiekszy projekt na 89s52 i mam pewna watpliwosc. Jakos nigdzie tego nie moge znalezc. Powiedzmy, ze nastapi przerwanie, ale zezwolenie na to przerwanie zostanie wylaczone zanim samo przerwanie zostalo obsluzone. Czy wtedy przerwanie bedzie obsluzone czy nie. Chodzi o przerwanie zewnetrzne, czyli odpowiednia flaga...

    Mikrokontrolery   24 Lis 2006 19:50 Odpowiedzi: 4    Wyświetleń: 948
  • STM32F0 - Przerwanie, a ustawianie globalnej zmiennej

    1. Gdzie kasujesz flagę przerwania? 2. Gdzie kasujesz flagę new_data?

    Mikrokontrolery ARM   24 Sie 2013 09:26 Odpowiedzi: 6    Wyświetleń: 1677
  • PIC16F877A - nie dziala z przerwaniem (HiTech PICC)

    Hej Chyba jednak gdzieś włączasz przerwania w swoim programie. Z funkcja obslugi przerwan program zachowuje sie tak ze wchodzi do przerwania caly czas poniewaz jest zalaczona jakas flaga przerwania ktora nie jest kasowana. Program nie wykonuje glownej petli poniewaz caly czas wskakuje do obslugi przerwania. Jesli masz sprzetowy debugger to sprawdz rejestry...

    Mikrokontrolery   15 Paź 2007 20:42 Odpowiedzi: 9    Wyświetleń: 1401
  • STM32 F303VC6 - Konfiguracja przerwań TIM7 na rejestrach, problem z częstotliwością

    Tablicami NVIC się nie przejmuj. Korzystaj z funkcji dostarczonych przez CMSIS, w tym przypadku nie warto stosować rejestrów wprost. Konfiguracja Timera OK, choć kolejność nie należy do poprawnych. Przyjrzyj się jeszcze rejestrowi EGR. Przerwanie? Brak kasowania flagi skutkuje ciągłym jego wywoływaniem. Flagę kasuje się na początku przerwania. I taka...

    Mikrokontrolery   28 Lip 2015 21:58 Odpowiedzi: 4    Wyświetleń: 930
  • Bluetooth HC-05 i brakujący sygnał o wysyłaniu (jak TXDEN w FT232)

    A jak mniej więcej byś widział zasadę działania programu gdybym dołożył uC ? TXD z HC-05 wprowadził bym na RXD w uC. Dodatkowo opadające zbocze TXD HC-05 musi generować przerwanie (linia EXTI, /INT). Przerwanie ustawia stan wysoki na DE i /RE (nadawanie) nadajnika RS485 i jest dezaktywowane. Przerwanie odbiorcze z USART (przeważnie jest generowane...

    Mikrokontrolery Początkujący   17 Lip 2018 12:27 Odpowiedzi: 11    Wyświetleń: 969
  • Atmega8 - Dlaczego flaga TOV0 nie aktywuje diody LED1 w ISR?

    Nie mogę zrozumieć dlaczego w poniższym fragmencie programu (przerwania) nie jest zapalana dioda LED1: [syntax=c]ISR(TIMER0_OVF_vect) { if(TIFR & (1<<TOV0) ) LED1_ON; // nie zapala // LED1_ON // a po aktywowaniu tej linii zapala TCNT0 = 100; } [/syntax] Rozumiem że flaga TOV0 w trakcie przerwania powinna być ustawiona a po wyjściu z przerwania...

    Mikrokontrolery AVR   14 Sty 2019 18:21 Odpowiedzi: 10    Wyświetleń: 570
  • [STM32F3][C] - Przerwanie zewnętrzne, kilka zdarzeń od jednego przerwania

    Choć dopiero zaczynam przygodę z STM32 to po mojemu nadpisujesz strukturę i dlatego zawsze działa Ci ostatnie zdefiniowane przerwanie. O ile przed napisanie jest funkcja inicjująca przerwanie nic takiego nie ma miejsca. Prędzej brak kasowania flag.

    Mikrokontrolery ARM   09 Lis 2013 10:08 Odpowiedzi: 7    Wyświetleń: 1740
  • [lpc2368][C][Keil] Przerwanie ADC0 - kasowanei flagi AINT

    Błędne koło - brak informacji o kasowaniu flagi ;]

    Mikrokontrolery ARM   20 Mar 2010 22:06 Odpowiedzi: 17    Wyświetleń: 1341
  • [Atmega] Atmega, Gcc: Czy przerwania freemodbus mogą zniknąć w sekcji krytycznej?

    Przerwanie jest wywoływane jeśli jest ustawiona odpowiednia flaga w rejestrze io (wyjątkiem jest tylko INT od poziomu). Przerwania nie są gubione, co najwyżej mogą być opóźnione względem wystąpienia zdarzenia. Nawet jedno przerwanie może przyblokować inne, wtedy po zakończeniu jednej funkcji przerwania zostanie wykonana jedna instrukcja kodu właściwego...

    Mikrokontrolery AVR   14 Maj 2009 13:10 Odpowiedzi: 2    Wyświetleń: 1757
  • [PIC 18F452] Jak poprawnie skonfigurować przerwania timera0 w PIC 18F452?

    Przy wywolywaniu procedury przerwania flaga ta jest kasowana automatycznie, Recznie tez juz wpisywalem i nic:( Ale jeszcze sprobuje tak jak napisales wszystko poustawiac... Moze cos z tym kompilatorem jest nie tak, tego uzywam bo C18 mam tylko na 60 dni.. A jednak debugger;) nie dziala poprawnie w pracy krokowej, a zmienna a tez byla zle zadeklarowana;)...

    Mikrokontrolery   25 Kwi 2007 11:00 Odpowiedzi: 4    Wyświetleń: 2106
  • Jak trwale wyłączyć przerwanie INt0 w procesorze ATMega8?

    Nie działa Ci, bo nie przeczytałeś dokumentacji... http://obrazki.elektroda.net/0_118799421... Flagi przerwań czyści się przez wpisanie do nich logicznej jedynki. Trochę może paradoksalnie to wygląda, ale ma swoje logiczne uzasadnienie. Chodzi o to, że czyszcząc flagi w ten sposób da się to zrobić o wiele szybciej i co najważniejsze - bezpieczniej....

    Mikrokontrolery   04 Wrz 2007 09:35 Odpowiedzi: 5    Wyświetleń: 2950
  • Xmega128A3 - ADC, duże różnice między wartościami analogowymi a cyfrowymi.

    Najprościej użyj kodu z przykładów bez modyfikacji i zobacz jak to działa. Skoro w kodzie flaga jest kasowana to zapewne jest to niezbędne, bo nie jest kasowana automatycznie przez hardware. Stąd jeśli jej nie skasujesz, to natychmiast zostanie zgłoszone kolejne przerwanie.

    Mikrokontrolery AVR   11 Lis 2016 19:52 Odpowiedzi: 28    Wyświetleń: 1221
  • [dsm-51] przerwania. Kiedy program wchodzi do przerwania?

    Witam Program przedstawiony ma za zadanie cykliczną zmianę portu p1.7. Cała zbawa odbywa się w przerwaniu. Mikrokontroler wchodzi do przerwania w momęcie ustawienia flagi TF0 (dla timera0). Flaga zostaje ustawiona automatycznie w momęcie kiedy licznik timera0 doliczy do 0 (licznik liczy w górę dlatego masz działanie 256-180). W przerwaniu następuje...

    Mikrokontrolery   12 Sty 2005 07:54 Odpowiedzi: 1    Wyświetleń: 2296
  • [atmega8] [atmega8][c] Zmiana zmiennej w pętli nie działa w AVR Studio 4. Dlaczego?

    Pijopic : Mam spore doświadczenie w pisaniu na avr'y w C i asmie, więc wiem jak one działają. To co piszesz, jest bzdurą. Niezależnie od środowiska po wejściu do funkcji przerwania, flaga I jest kasowana sprzętowo, zawsze , co za tym idzie przerwania są blokowane. Funkcja przerwania kończy się zawsze za pomocą reti, które spowrotem ustawia flagę I....

    Mikrokontrolery AVR   02 Wrz 2008 11:33 Odpowiedzi: 30    Wyświetleń: 3181
  • [Atmega8] Odczyt wilgotności gleby - Czujnik, układ ADC i dioda na PD7

    (at)bartprojects niby tak, ale nie do końca. 1) ADEN to jest enable przetwornika, a nie przerwań. Uruchamia zegar przez preskaler itd. 2) w tej samej dokumentacji jest napisane że flaga przerwania jest ustawiana na koniec konwersji - więc powinien mógł ją testować. 3) gdyby autor miał problem z nieskasowaną flagą, to by mu program nie wisiał na tej...

    Mikrokontrolery AVR   27 Lis 2022 14:04 Odpowiedzi: 5    Wyświetleń: 558
  • [C] Attiny13 ADC - Dlaczego na ADC2 pokazuje 0V mimo włączonego ADC?

    Bo nie zerujesz flagi przerwania. Podczas porównania ustawia Ci się flaga przerwania OCF0A w TIFR0. Normalnie w czasie obsługi przerwania taka flaga się kasuje samoistnie ale u Ciebie nie ma obsługi przerwania od Timer/Counter Compare Match A więc flaga zostaje ustawiona. Musisz w obsłudze przerwania od zakończonej konwersji ADC dołożyć ręczne kasowanie...

    Mikrokontrolery AVR   14 Gru 2011 23:19 Odpowiedzi: 13    Wyświetleń: 5402
  • AVR - Jak sprawdzić używane rejestry w przerwaniu NAKED od UART?

    Mam ciekawy problem. Chciałem aby przerwania od UARTA były INTERRUPT. Nie można jednak tego zrobić, bo flaga przerwania jest kasowana po operacji na UDR a nie powejściu w IRQ tak jak np w przypadku timerów.Gdy zadeklaruje sie więc przerwanie INTERRUPT to natąpi przepełnienie stosu. W konsekwencji trzeba użyć przerwania SIGNAL, w nim wykonać operację...

    Mikrokontrolery Początkujący   18 Sty 2017 01:11 Odpowiedzi: 16    Wyświetleń: 1491
  • Błąd kompilacji BASCOM-AVR 1.11.9.5 na Atmega8 - instrukcja warunkowa if

    Już kiedyś pisałem o błędach bascoma w obsłudze przerwań (raz wywołane jest potem cyklicznie generowane pomimo, że czynnik wywołujący przerwanie już zanikł, bo bascom zapomina przy kompilacji kodu o fladze w rejestrze przerwań). Ale tu Bascom nie ma nic do rzeczy, flaga wystąpienia przerwania jest kasowana automatycznie przez procesor gdy włączona...

    Mikrokontrolery AVR   07 Lut 2011 19:49 Odpowiedzi: 13    Wyświetleń: 1857
  • [BASCOM] Dekoder RC5 nie odbiera wszystkich kodów z pilota PHILIPS RC 2034312/01

    W tym drugim (niedziałającym) programie nie ma flagi. przekazuję tylko dane w 2 zmiennych. no i masz co masz - przez akurat takie przekazywanie, przecież efekt sam widzisz Nawiasem to tam w Twoim przykładzie powinno być bit zamiast byte. Może być Bit ale nie musi - ja zawsze stosuję Byte bo czasem u mnie flaga może przybrać inne wartości niż 0 albo...

    Mikrokontrolery AVR   16 Gru 2008 18:47 Odpowiedzi: 18    Wyświetleń: 3023
  • Maksymalna częstotliwość odczytu pinu w AT91SAM7 przy 24 MHz CPU?

    Heh, juz Ci kolega adamusx ponoć wytłumaczył różnice między wewnętrznymi a zewnętrznymi... Każdy pin jest traktowanyjako coś z zewnątrz Jak znam życie, to pewnie flaga jest kasowana przy komendzie powrotu z przerwania :) Przetestuj na symulatorze :) Jeśli któryś znacznik nie jest kasowany to musisz go ręcznie skasować ( nie chce mi się tutaj czytać...

    Mikrokontrolery   18 Sty 2008 20:32 Odpowiedzi: 13    Wyświetleń: 1623
  • Dioda nie zmienia stanu co 1s - AVR, timer, bit, C++

    no ale w DTR jest napisane: TOV0 - Flaga przepełnienia licznika 0. Bit TOV0 jest ustawiony gdy nastąpi przepełnienie licznika TCNT0. Flaga jest sprzętowo kasowana przez wykonywanie kodu obsługi przerwania, albo moŜe być kasowana programowo przez wpisanie 0 Natomiast zerowanie przez 1 jest dla OCF0, którego nie wykorzystuje? wpisałem coś takiego:...

    Mikrokontrolery AVR   10 Mar 2012 17:43 Odpowiedzi: 31    Wyświetleń: 3563
  • STM32F0Discovery - Jak rozwiązać konflikt przerwań TIM2 i TIM3?

    Zrobiłem kiedyś program pracujący na 8 timerach na przerwaniach, praktycznie cały program w przerwaniach generowanych przez timery nawet do 50kHz. Na szczęście kody w przerwaniach nie były długie (dekrementacja zmiennej x, sprawdzanie czy ==0 i jeżeli tak, ustawianie odpowiedniego bitu w zmiennej y) i procesor się wyrabiał. Ale na początku były problemy...

    Mikrokontrolery ARM   31 Paź 2013 10:15 Odpowiedzi: 91    Wyświetleń: 7734
  • [Atmega8][C][PCF8583P] - Wewnętrzne przerwania asynchroniczne. Czy potrzebne?

    Ad. 1. To definiuje się w opcjach projektu. Dlaczego? Bo tylko wtedy definicja będzie widoczna dla wszystkich plików. W przeciwnym wypadku np. plik od obsługi uartu będzie miał inną F_CPU, plik delay.h jeszcze inną a main - trzecią watość. Ad. 3. Trochę dobrze, ale skąd naczytałeś się, aby dawać takiego "nop"? Taki blok należy umieścić w bloku atomowym...

    Mikrokontrolery   18 Sie 2016 21:14 Odpowiedzi: 18    Wyświetleń: 1908
  • LPC1114 - Timer 32-bitowy: Przerwanie przy wartości 100000 nie działa poprawnie

    KrukersRadek: Typowo obsługa przerwania timera wygląda tak: Sam sobie zaprzeczyleś odnośnie idei kasowania flag na początku obsługi przerwania. Ostatnia flaga może być kasowana przed samym wyjściem. Chyba taka opcja jest dużo lepsza? [syntax=c]void TIMER16_1_IRQHandler(void) { uint32_t ir = LPC_TMR16B1->IR; LPC_TMR16B1->IR = ir; if (ir & 1) { ... }...

    Mikrokontrolery ARM   10 Lis 2013 00:43 Odpowiedzi: 22    Wyświetleń: 2538
  • PIC18F45K50 i PIC16F1619 - Spadek częstotliwości przełączania pinu przy przerwaniach

    Bez obrazy, ale uczepiliście się tego kasowania flagi jak pijany płota. Zapomnieliście chyba, że po przyjęciu przerwania system przerwań jest chwilowo wyłączony, żadne dodatkowe przerwania nie będą przyjęte, flaga musi być skasowana gdziekolwiek przed instrukcją "reti" , która powtórnie załącza przerwania. Nie uczepiliśmy się, nie zapomnieliśmy i nie...

    Mikrokontrolery PIC   05 Gru 2016 23:18 Odpowiedzi: 30    Wyświetleń: 4665
  • [STM32F439] Dziwne podwójne przerwanie TXE przy nadawaniu SPI w trybie MASTER

    Kasowanie flagi z & nie podoba mi się bardzo (TXE się nie kasuje bitem tylko zapisem do DR może zbyt blisko końca obsługi to robisz) . Gdzie funkcja wysyłania?

    Mikrokontrolery ARM   05 Paź 2017 11:06 Odpowiedzi: 21    Wyświetleń: 843
  • [AVR][Atmega328]Przerwania w trybie asynchronicznym

    Mam problem z przerwaniem w trybie asynchronicznym - Amtega328. Załączam program uproszczony do niezbędnych elementów: [syntax=c]//co 0.5s ISR(TIMER2_OVF_vect) { ... _delay_us(30); //V1 //while(TIFR2 & (1<<TOV2)); //V2 //while(TIFR2 & (1<<TOV2)) _delay_us(1);//V3 //while(TIFR2 & (1<<TOV2)) TIFR2 |=1<<TOV2;//V4 //cli();...

    Mikrokontrolery   13 Lis 2020 17:29 Odpowiedzi: 4    Wyświetleń: 354
  • [ATmega8][BASCOM] Przerwania z timera a odczyt z UARTa

    A mogę chyba ją skasować zaraz na początku IFa? Tak mi się wydaje logiczniej, chociaż to chyba nie ma żadnego znaczenia. znaczenie to ma :) ale w tym przypadku możesz ją kasować na początku, jednak zauważ jaki ciekawy mechanizm masz w rękach. Bo np gdy chciałbyś aby w przerwaniu ta flaga i ew jeszcze jakieś inne operacje mogły się wykonać dopiero gdy...

    Mikrokontrolery AVR   21 Sie 2008 10:59 Odpowiedzi: 4    Wyświetleń: 3124
  • Przykładowe kody na rejestrach dla STM32F3 Discovery – gdzie znaleźć dokumentację?

    Musisz sprawdzać czy to przerwanie jest włączone. To nie ma znaczenia (przynajmniej dla zawieszania się programu). Skoro przerwanie wystąpiło to czy było włączone czy nie (swoją drogą nie mogło wystąpić gdy było wyłączone) to jego bit trzeba skasować. Generalnie ja mam zwyczaj kasować w przerwaniu wszystkie flagi (wszystkie od danej części, czyli np....

    Mikrokontrolery ARM   23 Cze 2015 22:26 Odpowiedzi: 45    Wyświetleń: 3120
  • Brak ustawiania FLAGA_CZAS w przerwaniu timera - kod w pętli głównej nie wykonuje się

    "Nowe" czyli od Xmega i nowsze AVR mają mozliwość priorytetu przerwania. Poprzednie miały ustalony. Nie wiem jaki to AVR, ale jeśli ustawisz Timer i przerwanie od niego to jak będzie w przerwaniu to oczywiście zauważy potem flagę przerwania z USART, ale może być za późno, dlatego jeśli nie trzeba, to się przerwań od wszystkiego nie uruchamia. Rzadko...

    Mikrokontrolery Początkujący   09 Cze 2022 09:58 Odpowiedzi: 11    Wyświetleń: 606
  • Jak realizowane jest w kontrolerze kasowanie bitu przy odczycie?

    Coś w tym musi być ale puki co raczej nie będę korzystał z aż tak rozbudowanej architektury... Jeżeli jednak będę musiał z niej skorzystać to jak rozwiązać kolejny problem, gdybym miał powiedzmy kilka takich bitów do odczytu w jednym rejestrze(które mają być kasowane)? Wystawie adres, będę miał cały rejestr i gdy będę czytał pojedynczą flagę to inne...

    Mikrokontrolery   24 Maj 2011 16:04 Odpowiedzi: 8    Wyświetleń: 1163
  • AT89C2051 – niewywoływane przerwanie T0 przy jednoczesnym INT0, flaga TF0 ustawiona

    Kolego Vassili Zaicev. Taka jest własnie uroda '51, że porty są wejściami i wyjściami jednocześnie. Takie rozwiązanie pociąga za sobą pewne konsekwencje, a mianowicie niewielką wydajność prądową w stanie wysokim (kilkadziesiąt uA, w porównaniu z mA w niskim). Dzięki temu łatwo jest wymuszać stan niski na porcie, gdy sygnałem wyjściowym jest stan wysoki....

    Mikrokontrolery   04 Sty 2005 23:11 Odpowiedzi: 18    Wyświetleń: 1865
  • [AVR] Nieaktywny Auto Trigger ADC na ATmega168 przy użyciu Timer0 w trybie CTC

    Masz na myśli kasowanie flagi zgłoszenia przerwania ADC poprzez wpisanie jedynki na bit flagi? Robiłem na 328P, nie działa. Jutro spróbuję na m168...r Dodano po 26 W projekcie z ATtiny zdarzenie porównania generuje przerwanie i pewnie tutaj jest "pies pogrzebany". To przerwanie kasuje sprzętowo flagę porównania...ale to bez sensu, żeby angażować przerwanie...

    Mikrokontrolery AVR   16 Gru 2020 20:52 Odpowiedzi: 19    Wyświetleń: 501
  • Jak poprawić program PWM na 8051, by uzyskać dokładne czasy 6µs i 24µs?

    "Odpytywanie programowe" w Twoim konkretnym przypadku to typowy przykład programowania liniowego, w którym przetwarzanie wykonywania dalszych instrukcji blokowane jest na czas spełnienia jakiegoś warunku. Zauważ, że [syntax=C]CZEKAJ_OVF1: JNB TF0, CZEKAJ_OVF1;[/syntax] oraz [syntax=C]CZEKAJ_OVF2: JNB TF0, CZEKAJ_OVF2;[/syntax] powodują skok do "samych...

    Mikrokontrolery Początkujący   26 Mar 2012 11:09 Odpowiedzi: 6    Wyświetleń: 1896
  • Jak zwiększyć częstotliwość próbkowania do 1kHz w Arduino UNO?

    Można opalić timer w trybie CTC z preskalerem 1024 i ICR ustawić na 122. Wtedy osiągniesz przepełnienie zegara miej więcej z częstotliwością 128 Hz. W przerwaniu od timera ustawiać flagę, a w przerwaniu od ADC wysyłać dane tylko gdy flaga jest ustawiona, a następnie ją resetować. Inaczej: włączyć Auto Triggering dla ADC, jako źródło wyzwalania Compare...

    Arduino   16 Sty 2019 23:06 Odpowiedzi: 22    Wyświetleń: 2682
  • xmega - jak zablokować kolejne wywołania przerwania w ISR(PORTC_INT0_vect)?

    ad 1. Zastanów się co się stanie jeśli pomiędzy skasowaniem flagi, a zablokowaniem pinu nastąpi zmiana jego stanu? Flaga ponownie się ustawi sygnalizując przerwanie, które zostanie obsłużone. Dlatego lepiej najpierw zablokować możliwość sygnalizowania przerwania, a dopiero potem skasować flagę. ad 2. Kasowanie PORTC.INTFLAGS = 0x01; jest jak najbardziej...

    Mikrokontrolery Początkujący   17 Lis 2015 11:38 Odpowiedzi: 8    Wyświetleń: 1107
  • [ATmega][C/C++] Programowanie obiektowe, inne kompilatory

    Dokładnie tak. Flagę sprzętową, np. w rejestrze EIFR, tak samo można kasować programowo. Więc stosując flagę programową nic nie zyskujemy. Tracimy za to czas na obsługę przerwania (mały, ale zawsze te kilka cykli) oraz kilka B Flasha. A to co napisałeś, o zwiększaniu licznika wystąpień, to już nie jest flaga. Licznik to nie flaga.

    Mikrokontrolery AVR   09 Cze 2010 19:02 Odpowiedzi: 60    Wyświetleń: 8155
  • STM32F407 - Menu postawione na przerwaniach zewnętrznych

    tadzik85 odniosę się do twojej wypowiedzi. 1. Dlaczego nie powinienem kasować flagi przerwania wewnątrz programu? Przerwanie odblokowane zostaje wtedy dopiero po wykonaniu zadania, które zostało za jego pomocą wykonane. 2. Skoro tak skrytykowałeś moją metodę wykonania menu, może podasz mi jakieś inne rozwiązanie, które nie jest herezją?

    Mikrokontrolery ARM   28 Kwi 2016 14:25 Odpowiedzi: 5    Wyświetleń: 903
  • Jak ustawić wyższy priorytet przerwania INT w Bascom na AVR?

    smalski->O priorytecie przerwań w AVR-ach , można powiedziec tak , że im niższy(mniejszy) adres wektora , tym wyższy priorytet posiada dane przerwanie. To jest zasada stosowana w PC, (np przerwanie 2h ma prorytet wyższy od 3h, ale niższy od 0h... 0h (dzielenie przez zero) ma najwyższy priorytet..).. w AVR wszystkie przerwania mają taki sam priorytet.....

    Mikrokontrolery   25 Lis 2004 15:39 Odpowiedzi: 4    Wyświetleń: 2049
  • Jak wywołać programowe przerwanie w ATMEGA644 bez użycia wolnych pinów?

    W nocie wyraźnie napisali, że zapis bitu do EIFR kasuje flagę. Kasowane jest także w chwili wejścia w przerwanie. Kasowania EIFR przez zapis jedynki używałem gdy stan tej linii zmieniał się w czasie obsługi przerwania a nie chciałem aby było wywoływane ponownie. Zmusiłeś mnie do wysiłku i w nocie znalazłem to: " When an INT2:0 bit is written to one...

    Mikrokontrolery AVR   18 Sty 2018 21:38 Odpowiedzi: 51    Wyświetleń: 2295
  • Przerwania proste i przyjemne - część 2 - zmienne, bufory i latencja

    Tutaj się nie zgodzę gdyż nie wiadomo dla jakiej architektury jest pisany ten tekst, zakładasz że dla AVR co uważam za błąd. Nie każdy uC czy procesor wywołuję ISR związany z źródłem i po stronie usera jest sprawdzenie jego źródła i jego obsłużenie. Patrz cortex-a. Owszem, nawet na AVR są współdzielone przerwania i w ISR musisz sprawdzić źródło - w...

    Artykuły   08 Mar 2022 00:35 Odpowiedzi: 18    Wyświetleń: 2688
  • STM8S - Resetowanie flagi przerwania przy ciągłym sygnale na pinie PB7

    Timerem, ale tych w małych prockach brakuje. Skomplikowane programy na 8051 wykonywały pętlę główną w ok 15ms. Oczywiście program musi byc napisany z głową i nie może byc w nim "dealy" a obsługa peryferii (np wysyłanie po USART czy obsługa LCD) na przerwaniach. W sumie to i prawda, ale timery to odrębna kwestia i jeszcze muszę się nad nimi pochylić...

    Mikrokontrolery Początkujący   05 Kwi 2018 21:21 Odpowiedzi: 8    Wyświetleń: 870
  • Obsługa przerwań UART i I2C w Bascom dla MIDI i klawiatury - jak uniknąć zatorów?

    Impulsator nie będzie pracował na przerwaniu tylko zwykle w pętli do loop bo takie rozwiązanie wystarczy. W tejże pętli będą także wysyłane sygnały regulacyjne po I2C jako odpowiedź na regulacje wykonane impulsatorem oraz wyświetlane dane na LCD. Procedura obsługi przerwania od Rx (MIDI) odczytuje bajt i jeżeli równy jest 176 (nasze dane) to czyta dwa...

    Mikrokontrolery   02 Cze 2007 13:34 Odpowiedzi: 13    Wyświetleń: 3533
  • Programowa eliminacja drgań przełącznika - gdzie jest błąd?

    GienekS - masz rację! Dodałem linijkę IE0 = 0; w pętli głównej programu. I zadziałało. O dziwo, gdy taka linijka znalazła sie w porcedurze obsługi przerwania zewnętrznego, to nadal było źle. Ponadto przeczytałem PDFa, i jasno jest napisane, że flaga jest kasowana automatycznie. A jednak nie jest, albo jest za późno. Tak więc dzisiejszym zwycięzcą jest...

    Mikrokontrolery   22 Paź 2005 15:38 Odpowiedzi: 8    Wyświetleń: 3043
  • [Atmega32][C]+[C#]Wysyłanie tablicy danych przez port szeregowy

    Odnośnie uwag użytkownika tmf: - pominąłem w poście (przeoczenie) funkcje zapisu do eepreomu ale wiem że musi takowa być - flaga w przerwaniu ma spowodować odbiór danych w pętli while (chodziło o zrobienie tak aby przerwanie trwało jak najkrócej). W poście zapomniałem jedynie o kasowaniu flagi po odebraniu danych - tablica jest zadeklarowana w pokazany...

    Mikrokontrolery AVR   09 Lis 2011 10:16 Odpowiedzi: 27    Wyświetleń: 4824
  • AVR GCC – pomiar czasu między przerwaniami INT0, ustawianie OCR w trybie CTC

    Co do rejestru TIFR to co jeżeli występują jeszcze inne przerwania? No ale co mają do tego inne przerwania - niech sobie występują ;) nas obchodzi tu tylko flaga od tego przerwania, które ma posłużyć ci do odliczania czasu i już - pokazałem ci jak ją sobie sprawdzać programowo bez odpalania żadnego przerwania. Tylko trzeba pamiętać wtedy o jej kasowaniu...

    Mikrokontrolery AVR   12 Lut 2012 15:10 Odpowiedzi: 10    Wyświetleń: 2191
  • Zasilacz laboratoryjny z uC - problem z PWM i ustawieniem timera w C

    Podaj typ procesora. I nie pisz takich potworków: "TCCR0|=0b01011001; //licznik T0 tryb pWM , prescaler " Bo to wymaga sięgania do dokumentacji danego procesora i studiowania co autor zrobił. Zastosuj makro _BV albo przesunięcie bitowe. Każdy bit w takich rejestrach ma swoją nazwę. Poza tym flaga w TIFR sama się wykasuje tylko wtedy gdy jest obsłużone...

    Mikrokontrolery AVR   27 Sty 2011 23:29 Odpowiedzi: 9    Wyświetleń: 2226
  • [STM32F2] Dlaczego kasowanie flagi przerwania wpływa na GPIO?

    Nie zauważyłem żadnych istotnych różnic w konfiguracji Twojego timera. Jak widzę, kasowanie flag też masz na końcu procedury obsługi. Właśnie przetestowałem u mnie:[syntax=c]TIM2->SR &= ~TIM_SR_UIF; // kasuj flagę przerwania while (TIM2->SR & TIM_SR_UIF);[/syntax]że kasowanie flagi na końcu procedury, a po nim jeszcze sprawdzenie, czy flaga się skasowała...

    Mikrokontrolery ARM   13 Lis 2011 22:43 Odpowiedzi: 7    Wyświetleń: 2437
  • STM32 Nucleo F103 - Błąd kompilacji przy odbiorze UART w przerwaniach

    Poza tym typowy błąd AVRowca - nieskasowana flaga przerwania. W tym przypadku akurat jest kasowana przez sprzęt sama. Jeżeli nie włączył przerwań od błędów to i tak nie będą wywoływane poza ORE, który i tak nie czyści się poprzez pisanie czegoś do SR. Zresztą ORE w tym przypadku się nie spodziewam :) Jak właczysz wywoływanie przerwań od błedów wtedy...

    Mikrokontrolery ARM   28 Wrz 2017 22:39 Odpowiedzi: 13    Wyświetleń: 1545
  • Atmega16 – oscylator wewnętrzny vs zewnętrzny 8MHz, ADC0 na PA0, ustawienia portów

    qurcze dalej nie czaje z tą flagą (punkt 2.b) ponieważ w programie jest mi niezbedna wiadomość kiedy wynik konwersji zostanie wppisany do rejestrów, muszę skożystać z bitu flagi ADIF piszą:'Bit ADIF - flaga przerwania ADC. Bit ten jest ustawiony na 1 kiedy ADC zakończy konwersję i zaktualizuje rejestr ostatnim wynikiem....Flaga jest kasowana sprzętowo...

    Mikrokontrolery   22 Lip 2007 20:50 Odpowiedzi: 5    Wyświetleń: 1881
  • Jak zrobić czasowe wyswietlanie na LCD (+ Atmega8)?

    Nie, po wystąpieniu przerwania jest ustawiana flaga w specjanym rejestrze i jest ona kasowana dopiero w momencie wywołania obsługi danego przerwania. To daje nam pewność, że jeżeli 2 zdarzenia wystąpią prawie równocześnie, to nie zostanie pominięte to, które było później. Spróbuj zasymulkować swój program w AVRStudio i będziesz widział,jak to się dzieje...

    Mikrokontrolery   08 Mar 2006 21:03 Odpowiedzi: 7    Wyświetleń: 1608
  • [STM32] Konfiguracja przerwania co 10ms na płytce st32f401-c disco

    Jeśli faktycznie TIM2 jest taktowany z częstotliwością 42MHz to Twoje przerwanie powinno być wywoływane co 10ms (konfiguracja RCC). Niemniej jednak kasowanie flagi przerwania powinno być pierwszą czynnością jaką przerwanie wykonuje a Ty kasujesz flagę raz na 100 wywołań. Poza tym umieszczanie funkcji USART_putint i USART_SendData wewnątrz przerwania...

    Mikrokontrolery ARM   21 Lut 2015 10:14 Odpowiedzi: 7    Wyświetleń: 1305
  • Atmega328P Timer1 z przerwaniem Input Capture - ustawienie licznika

    Pomiar odcinków czasu dłuższych od okresu timera sprzętowego i w oparciu o przerwania będzie zawsze kłopotliwy z uwagi na nieunikniony hazard związany z kolejnością obsługi przerwań. Na AVR przerwanie ICP ma wyższy priorytet obsługi niż przerwania od przepełnienia. Ale problem wystąpi nie tylko, gdy mierzone zbocze pojawi się dokładnie w momencie przekręcenia...

    Arduino   06 Maj 2020 19:32 Odpowiedzi: 2    Wyświetleń: 795
  • [Atmega8] [Atmega8][C] - Jak zbudować obrotomierz z trybem CTC i TCR2?

    Bardzo złe podejście. Trzeba tu zastosować jeden układ licznikowy, jako Timer do odmierzenia czasu 1s i drugi jako licznik zdarzeń zewnętrznych. Przerwanie od Timera, zajmującego się czasem wzorcowym powinno być zgłaszane co 1s. W przerwaniu należy pobrać i zapamiętać w zmiennej globalnej zliczoną liczbę impulsów. Potem trzeba wyzerować licznik. W przerwaniu...

    Mikrokontrolery Początkujący   14 Gru 2012 12:45 Odpowiedzi: 2    Wyświetleń: 2571
  • [C] [C]Lampa RGB na Attiny13 z programowym PWM - ograniczenie liczby kolorów w tabeli

    W praktyce program działa zadowalająco Wcześniej Poziomy jasności są bardzo nieliniowe. To jak w końcu jest? Zrób jak radzi przedmówca, na przerwaniach od timera, w trybie CTC oczywiście. Przy F timera 20kHz i 256 stopniach świecenia uzyskasz odświerzanie LED prawie 80Hz. Kod w IRQ banalny: [syntax=c]static irq; irq++; if (irq > PwmR ) LedRon(); else...

    Mikrokontrolery AVR   16 Lip 2017 21:52 Odpowiedzi: 38    Wyświetleń: 2748
  • Re: Nie mogę zainicjalizować SPI na AVR - kod nie działa poprawnie

    Przepraszam za literówkę, polling. https://pl.wikipedia.org/wiki/Odpytywani... Za zwyczaj jak odpalisz coś sprzętowego w AVR, to potem nie ruszasz tych pinów. Musisz wybrać które chcesz używać. Możesz wstępnie coś ustawić na tych portach przed przejściem na sprzętowe, ale zwróć uwagę na polaryzacje i fazę (2 bity, dokumentacja) bo przy odpaleniu sprzętowego,...

    Mikrokontrolery Początkujący   07 Cze 2024 22:34 Odpowiedzi: 22    Wyświetleń: 546
  • [Atmega 8/16] [C]Nie moge uruchomic układu (pole siłowe?)

    Przecież ADIF to flaga przerwania zakłada się pętle na ADSC ADSC will read as one as long as a conversion is in progress. When the conversion is complete, it returns to zero . Writing zero to this bit has no effect. Skoro nie korzystam z przerwania ADCSRA[ADIE]=0 do ADIF mi nie robi różnicy. Poza tym przy wpisaniu ADSC=1 ADIF powinien się kasować.

    Mikrokontrolery AVR   25 Lut 2010 22:39 Odpowiedzi: 46    Wyświetleń: 6789
  • Sterowanie silnikiem krokowym: stopniowy wzrost prędkości, analiza kodu C++

    Uwaga techniczna 1. Za szybko kolega zezwala na przerwania. Uwaga techniczna 2. Częstotliwość pracy TWI według moich obliczeń wynosi trochę ponad 27kHz. Układ expandera dopuszcza do 100kHz. Zwiększyć (znacznie, tj >90kHz). Uwaga optymalizacyjna 1. Zlikwidować zmienne gflaga_silnika i gflaga_pomiar oraz przerwanie od przepełniania T0. Zamiast tego sprawdzać...

    Mikrokontrolery   27 Gru 2010 00:14 Odpowiedzi: 81    Wyświetleń: 7118
  • AVR - 1-Wire slave w IRQ w trybie overdrive

    (...) zauważ, że krytyczne dla slave 1-wire jest tylko wystawienie odpowiednio szybko stanu bitu w odpowiedzi na niski poziom mastera. Powiedzmy, że masz na to 3,5-4,5 us, a to przy 16 MHz przekłada się na 56-72 instrukcje. To wystarczy, żeby odłożyć wszystkie rejestry MCU na stos dwukrotnie :) Nie tylko. Zależy co jest masterem. Jeśli master jest...

    Mikrokontrolery Początkujący   26 Mar 2017 12:10 Odpowiedzi: 63    Wyświetleń: 5127
  • [..2313] Jak mierzyć czas trwania impulsu w ATtiny2313 z Timer1?

    Łopatologicznie: 1. zgłasza się przerwanie ze zbocza opadającego. wywołana jest procedura jego obsługi. jesteśmy teraz w niej. 2. włączasz licznik by zliczał impulsy zegarowe przez prescaler. 3. czekasz tak długo aź stan na INT0 się zmieni na przeciwny - koniec impulsu. 4. zatrzymujesz licznik. odczytujesz zawartosc licznika i zapamiętujesz w zmiennej....

    Mikrokontrolery AVR   01 Lip 2008 06:45 Odpowiedzi: 10    Wyświetleń: 2849
  • [ATMega128] [ATMega128][C] Przerwanie INT1 wyzwalane ciągle zamiast na narastające zbocze

    Proponuję poczytać o EIFR... I proszę zastanowić się, czy warto (i dlaczego) kasować flagi przerwań w procedurze jego obsługi...

    Mikrokontrolery AVR   28 Mar 2010 21:25 Odpowiedzi: 15    Wyświetleń: 1486
  • Przerwania proste i przyjemne - część 1 - dobre praktyki programowania

    (at)lazor Dlaczego patrzysz przez pryzmat architektury, którą znasz, a nie odnosisz się do artykułu? Wszystkie 3 części dotyczą prostych struktur 8-bitowych jakie były na rynku 10-20 lat temu, gdzie jedynym efektem przejścia do obsługi przerwania jest załadowanie licznika rozkazów adresem ISR i ustawienie flagi obsługi przerwania. A jeśli robisz w userlandzie...

    Artykuły   23 Lut 2022 13:10 Odpowiedzi: 11    Wyświetleń: 3072
  • AT91SAM7S MCP2515 MCP2551 - Brak odbioru CAN w trybie normalnym z OBD2 Mickra K12

    Jeszcze jedno Ten fragment kodu, nie jest w ogóle potrzebny (kasowanie flag RX). Jeżeli korzystasz z 'Read RX Buffer Insrtuction' to po jej wykonaniu automatycznie zerowana jest odpowiednia flaga CANINTF.RXnIF (datasheet MCP2515 str. 63 punkt 12.4). Jeszcze zauważyłem że tu masz chyba błąd: [syntax=c]uint8_t status = mcp2515_read_rx_status(); if (!(status...

    Mikrokontrolery ARM   04 Lis 2015 21:38 Odpowiedzi: 7    Wyświetleń: 3483
  • [AVR] Atmega gubi przerwania USART - jak rozwiązać problem z odbiorem danych?

    Ok siedziałem całą noc i napisałem to wszystko o czym tu pisaliśmy, ale mam problem. Wykorzystuję polling i program nigdzie mi się nie zatrzymuje, ale teraz nie wiem jak przekazać informację o komendzie do wysłania. Program po uruchomieniu modułu, w pętli sprawdza czy jest komenda do wysłania i jest w tym stanie cały czas. Jeżeli w innym procesie wyniknie,...

    Mikrokontrolery   13 Lip 2011 00:58 Odpowiedzi: 21    Wyświetleń: 5714
  • STM32 - Przerwanie zewnętrzne: konfiguracja przycisku na PA9 i diody na PA10

    NVIC_InitStruct.NVIC_IRQChannel = EXTI0_IRQn ; Deklarujesz przerwanie na pin0 a oczekujesz go na pin9. Ustaw przerwanie na pin9 albo podepnij przycisk po pin0. Jaki to procesor? Niektóre STM32 mają łączone sygnały przerwań np.: STM32f100 ma pin9 na EXTI9_5_IRQn oczywiście mósisz wówczas zmienić również nagłówek: void EXTI0_IRQHandler(void) na: void...

    Mikrokontrolery Początkujący   18 Sty 2015 17:43 Odpowiedzi: 18    Wyświetleń: 2988
  • Przenoszenie kodu z Bascom do AVR GCC - obsługa EEPROM i timera

    Mam mały problem - nie potrafię przenieśc kodu z bascoma do avr c (eclipse). Tzn, wiem ze nie przeniosą go 1:1 chodzi mi raczej o ogólne zasady, szkielet: chodzi o zapis do pamięci eeprom stanu licznika - licznik sie zmienia przy pomocy przycisków góra/dół - przy wyłaczeniu zasilania oczywiście jego zawartośc jest kasowana. Oczywiście zapis przy każdej...

    Mikrokontrolery AVR   06 Sty 2024 09:40 Odpowiedzi: 3    Wyświetleń: 288
  • [M16] Jak obsłużyć przerwanie UART i string w M16 przy baudrate 57600?

    W przerwaniu używasz nie zainicjalizowanej zmiennej "c", zresztą i tak warunek w przerwaniu nie powinien zostać spełniony - po odczytaniu bajtu z UDR flaga RXC jest kasowana. Dodatkowo warto oznaczyć flagę jako volatile, inaczej kompilator może wyciągnąć sprawdzenie przed pętlę i całość szlak trafi... #define USART_BAUDRATE 57600 #define BAUD_PRESCALE...

    Mikrokontrolery AVR   03 Lip 2008 19:30 Odpowiedzi: 10    Wyświetleń: 4918
  • Komparator analogowy + ograniczenie prądowe - XMEGA

    Tak dokładnie o to mi chodziło. Spróbowałem to zrobić tak: w pętli głównej jest cały czas zapalana lampka (włączane zasilanie). W przerwaniu od zmiany zbocza sprawdzany jest stan logiczny wyjścia komparatora i gdy jest "1" to ustawiana jest flaga oraz wyłączana lampka a gdy jest "0" to flaga jest kasowana a lampka zapali się dzięki pętli głównej. Niestety...

    Mikrokontrolery   04 Lis 2017 18:54 Odpowiedzi: 25    Wyświetleń: 1422
  • [ATmega48] Czy przerwania muszą być włączone do konwersji ADC w ATmega48?

    Ab ovo. Cli wyłącza zezwolenie obsługi przerwań- a czym innym jest ustawianie flagi że przerwanie było. Jak ponownie włączysz obsługę przerwań- SEI- to zostaną "obsłużone". Można kasować poszczególne flagi- jeśli jest to potrzebne- zwykle wpisując 1 do odpowiedniego bitu w odpowiednim rejestrze.

    Mikrokontrolery AVR   13 Kwi 2010 20:45 Odpowiedzi: 8    Wyświetleń: 1445
  • [C][atmega8] RC5 - problem z synchronizacją przy odbiorze.

    poprawiłem trochę kod, wyżej napewno miałem źle czasy dobrane. teraz (nie wiem czy dobrze) robię tak; odbieram "półbity" czyli razem 28 bitów i konwertuje do 14 bitów. 01-->1 lub 10-->0 wbijam się w sygnał po 0.432 ms i dalej sprawdzam co 0.864ms czy to jest dobra metoda? #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h>...

    Mikrokontrolery AVR   23 Lis 2009 21:46 Odpowiedzi: 19    Wyświetleń: 2944
  • [STM32][C] - Flagi przerwań kanałów CC włączają się przy Update Event

    Sprawdzasz flagę sygnalizującą zdarzenie które chcesz obsłużyć. Jeśli jest ustawiona to ją kasujesz i obsługujesz dane zdarzenie. To przerwanie globalne więc służy do obsługi różnych zdarzeń.

    Mikrokontrolery ARM   23 Gru 2016 17:31 Odpowiedzi: 30    Wyświetleń: 1557