xmega blokować przerwać

Znaleziono około 23 wyników dla: xmega blokować przerwać
  • Arm vs Xmega - szybkość reakcji na przerwanie INT

    http://www.avrfreaks.net/comment/1353666... Zanim AVR wykona skok do przerwania, musi dokończyć wykonywanie bieżącej instrukcji, która może trwać od 1 do 4/5 cykli. (zakładając oczywiście stabilne taktowanie oraz że w pętli głównej nic nie blokuje przerwań)

    Mikrokontrolery   15 Sie 2016 19:46 Odpowiedzi: 10    Wyświetleń: 999
  • REKLAMA
  • Bascom AVR, Atmega16 - Disable Interrupts, Disable Int0/1

    To o co pytasz nie zależy od Bascoma, tylko od architektury procesora. AVRy po przyjęciu przerwania blokują wszystkie przerwania (z wyjątkiem XMEGA, które mają przerwania wielopoziomowe i NMI). Tak więc sam nigdy nie musisz w handlerze przerwania ich blokować. Pytanie, kiedy je odblokowywać przed zakończeniem obsługi. W kilku sytuacjach, np.: 1. Kiedy...

    Mikrokontrolery Początkujący   02 Wrz 2012 21:06 Odpowiedzi: 1    Wyświetleń: 1395
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Jak wywołać programowe przerwanie w ATMEGA644 bez użycia wolnych pinów?

    W urządzeniu było mało USART, został użyty układ SC16IS760IPW. Teraz musze dodać kolejny SC16IS762IPW czyli dwa USART. Procek z USARTEM komunikuje się po SPI. Komunikacja to wysłanie adresu rejestru i zapis/odczyt danej. Teraz wszystko odbywa sie w pętli głównej, muszę jednak odbiór przenieść na przerwania. Jak sie łatwo domyśleć, nie może byc tak,...

    Mikrokontrolery AVR   18 Sty 2018 21:38 Odpowiedzi: 51    Wyświetleń: 2295
  • Jak zaprogramować Atmega16 do obsługi 4 wyświetlaczy 7-segmentowych?

    ad 1. To co piszesz jest prawdą dla niektórych procesorów, posiadających przerwania wielopoziomowe z priorytetami. AVR8 z wyjątkiem rodziny XMEGA tak nie mają. Jeśli wystąpi przerwanie to wszystkie inne są blokowane. Tylko XMEGA ma 4 poziomy piorytetów (właściwie 3 - jeden to po prostu blokada przerwań) i procedura obsługi może być przerywana przez...

    Mikrokontrolery AVR   30 Sty 2012 12:21 Odpowiedzi: 12    Wyświetleń: 7505
  • REKLAMA
  • [mega8] Atmega8-16PU: Dioda miga zamiast reagować na przerwanie INT1

    A AVRach oprócz nowej serii Xmega nie ma priorytetów przerwań. Obsługa przerwania blokuje wszystkie przerwania. Rozwiązaniem jest timer. Nie zwykłem wykorzystywać przerwań zewnętrznych do przycisków. Lepiej wykorzystać timer. Sprawdzając co np 100ms ich stan. 2x wykrycie kolejno mamy akcję. Dodatkowo w ten sposób łatwo zrealizować inna funkcje przycisku...

    Mikrokontrolery   09 Maj 2011 14:25 Odpowiedzi: 8    Wyświetleń: 1812
  • REKLAMA
  • AVR-GCC - Uniknięcie hazardu (race condition) przy przerwaniach

    Rozwiązanie pierwsze jest bez sensu, bo po co ci przerwanie ustawiające flagę, która jest ustawiana sprzętowo (OVF)? Rozwiązanie drugie jest ok, aczkolwiek zamiast sei w przerwaniu lepiej zastosować ISR_NOBLOCK. Oczywiście to zadziała tylko pod warunkiem, że czas wykonywania obliczeń jest krótszy niż odstęp pomiędzy przerwaniami OVF. W przeciwnym przypadku...

    Mikrokontrolery AVR   26 Mar 2014 00:07 Odpowiedzi: 2    Wyświetleń: 1185
  • ATMEGA32 - Niewłaściwe odbieranie szybszych strumieni danych

    Obstawiam kłopot z wykonaniem funkcji uart_printf. Na czas jej wykonania masz blokowane wszystkie przerwania. Sprawdź flagę stanu USART - pewnie masz błąd buffer overrun. Jeśli potrzebujesz szybkości dużo wyższych niż 9600bps, to pomyśl też o XMEGA, w której odbiór danych z USART możesz zrealizować przez DMA, dzięki temu i kilka Mbps nie jest problemem.

    Mikrokontrolery AVR   29 Cze 2014 09:29 Odpowiedzi: 9    Wyświetleń: 1560
  • xmega - jak zablokować kolejne wywołania przerwania w ISR(PORTC_INT0_vect)?

    Ale przecież ja tak robię czyli najpierw blokuje możliwość odebrania przerwania [syntax=c] PORTC.PIN4CTRL=PORT_ISC_INPUT_DISABLE_gc [/syntax] a potem kasuję flage [syntax=c] PORTC.INTFLAGS=0x01; [/syntax] Tak to zapisałem w cytowanym kodzie nr2. Moje pytanie jest dlaczego lepiej jest to robić maskując przerwanie INT0MASK niż tak jak ja to robię [syntax=c]...

    Mikrokontrolery Początkujący   17 Lis 2015 11:38 Odpowiedzi: 8    Wyświetleń: 1107
  • XMega 128 - kilka portów pod jeden kanał zdarzeń?

    A powinien już w tej chwili, bo IMHO XMEGI nie mają jakichś mega osiągów (jak za swoją cenę) a i cenowo i wydajnościowo ARM wychodzi dużo taniej (najtańszy to koszt koło 6 zł). Przesiadka jest na nie dość długa (jeżeli ktoś faktycznie chce wiedzieć co i jak a nie "byle żeby"), ale się opłaca. Acha i pewnie napiszecie o kosztujących fortunę JTAGach -...

    Mikrokontrolery AVR   17 Lip 2011 21:56 Odpowiedzi: 31    Wyświetleń: 4731
  • Pytania o mikrokontrolery ARM: uint8_t vs uint16_t, przyrostki L i UL, zatrzymanie SysTick

    Z tym blokowaniem przerwań jest tak, że mam odtwarzanie dźwięku z tablicy w RAM przez DAC w kółko i chce zmieniać zawartość tablicy w RAM, kopiując z referencyjnej tablicy we Flash. Żeby to szybciej poszło, wolę zastopować an chwilę przerwania na czas podmiany. Można by to pewnie zrobić przy użyciu DMA, jeśli ten ma dostęp do pamięci we Flash (w AVR...

    Mikrokontrolery ARM   19 Gru 2016 16:19 Odpowiedzi: 17    Wyświetleń: 1968
  • Nano i Micro - Błędne wartości w zmiennych volatile (wielobajtowych)

    (at)markolsrz Zobacz sobie do nagłówka stdatomic.h. Znajdziesz tam funkcje rozwiązujące Twoje problemy ze współbieżnym dostępem do zmiennych. Porada niestety nietrafiona, a to z braku implementacji w AVR-libc. Oczywiście można sobie samemu to zaimplementować, lecz po co, skoro już w AVR-libc mamy atomic.h. Jedyne co można poprawić, to tak jak napisałem,...

    Arduino   26 Lip 2016 16:55 Odpowiedzi: 51    Wyświetleń: 3426
  • Jak obsłużyć więcej serwomechanizmów na atmega32 (PB3, PD7)?

    Z programowymi rozwiązaniami byłbym ostrożny. Można założyć, że przerwanie od uart wykona się w 10us. Oczekujesz na serwie rozdzielczości 1 stopień. Jak wyliczył (at)emarcus wymaga to sterowania serwem impulsami o rozdzielczości co najmniej 2,8us. Jeśli serwem nie będziesz sterował sprzętowo przez PWM tylko jak zaproponowano w #8 (https://www.elektroda.pl/rtvforum/viewt...

    Mikrokontrolery AVR   03 Sie 2019 13:14 Odpowiedzi: 23    Wyświetleń: 723
  • AVR-GCC - Zapis i aktualizacja bloku danych w EEPROM?

    Zapis nie musi zajmować dużo czasu, jeśli przed wywołaniem zapisu sprawdzisz, czy żaden inny zapis do EEPROM się nie odbywa. Jeśli nie, to wywołanie _write lub _update dla bajtu trwa chwilę, bo funkcja natychmiast wraca i nie czeka na koniec zapisu. Więc tu blokowanie przerwań będzie bezpieczne. Co innego w przypadku zapisu blokowego, ale przecież nie...

    Mikrokontrolery AVR   25 Sie 2016 19:17 Odpowiedzi: 21    Wyświetleń: 2412
  • Jak zapisać ustawienia w EPROM przy utracie zasilania?

    Tyle że musiałoby być zasilanie niższe o spadek na diodzie od reszty układów, czy to może być problem? Ciekawe jak się to robi najczęściej (jak nie ma sprzętowej opcji), teraz każdy sprzęt zapamiętuje ustawienia? Więc tak jak pisałem - najprościej to zrobić korzystając z wbudowanego komparatora - zaleta jest taka, że procesor nic nie musi robić, dostanie...

    Mikrokontrolery   18 Lis 2011 18:23 Odpowiedzi: 10    Wyświetleń: 1917
  • REKLAMA
  • Choinka (3D) oparta o Xmega i diody RGB (WS2812B)

    -brak konieczności użycia kwarcu nawet przy projektach wymagających stabilności (RS232,RS485 a nawet USB) Ja na ATmegach nigdy nie musiałem kwarcu wpinać, mimo stosowania w systemie odpalającym UARTa i to w środowisku zakłóceń radiowych (proste moduły RF bez żadnych gadżetów podpięte pod UART, nie to co te nowe LORA itp.). Dodam tylko że system działał...

    DIY Konkurs   13 Sty 2019 19:39 Odpowiedzi: 16    Wyświetleń: 3351
  • Jakość sprzętowego USB w ATXMEGA128A4U-AU vs FT232 - niezawodność i odporność

    Ok, uporałem się jakoś z tym projektem, tak że wreszcie działa. W końcu użyłem tego gotowego przykładu: http://mikrokontrolery.blogspot.com/2011... i jakoś "ręcznie" dodałem biblioteki ASF od TWI. Było kilka niezgodności, ale się z tym uporałem. Tak więc program działa i wymienia dane z kompem. Mam...

    Mikrokontrolery AVR   05 Wrz 2018 12:20 Odpowiedzi: 30    Wyświetleń: 4044
  • [XMEGA][C] Odczyt flash w isr i eeprom w programie głównym

    Czyli jednak rejestr CMD jest tutaj używany? Bezpośrednio nie jest używany, ale musi mieć wartość 0x00 (no command). en zapis korzystając z funkcji eeprom.h trwa dość długo, także przymierzam się do skorzystania z nvm i wykorzystania zapisu całymi stronami. Napisz własne funkcje - zapisując stronami zapisujesz 32 bajty na raz, czyli operacja jest 32-razy...

    Mikrokontrolery AVR   01 Wrz 2021 19:27 Odpowiedzi: 5    Wyświetleń: 570
  • Komparator analogowy + ograniczenie prądowe - XMEGA

    Próbuję na razie zrobić ograniczenie prądowe do przetwornicy za pomocą komparatora i programowego blokowania. Do + komparatora mam podłączony rezystor bocznikowy a do - przetwornik DAC. Lecz program nie działa prawidłowo. Nieważne jaką wartość ustawie w przetworniku DAC to układ zachowuje się zawsze tak samo czyli: Gdy wejście + komparatora mam podłączone...

    Mikrokontrolery   04 Lis 2017 18:54 Odpowiedzi: 25    Wyświetleń: 1422
  • Świąteczny świecznik na LED WS2812

    Ale z komentarzy widzę, że wykorzystany jest sprzętowy UART więc porównywanie tego jest lekko bez sensu. Dlaczego bez sensu? Praktycznie każdy AVR ma USART. Tu akurat jest kilka ledów i nie ma innych peryferii, więc można robić w dowolny sposób, co innego jak się steruje 500led i w tym czasie odbiera dane DMX. Wysłanie danych dla 500 led to 15ms (1/800e3*24bity*500led)....

    DIY Konkurs   19 Sty 2018 12:00 Odpowiedzi: 8    Wyświetleń: 5538
  • Arduino Uno R3: 5 termometrów DS18B20, LCD 4x20 - błąd odczytu 4. termometru

    Jak mam umieściś wszystko we flash, skoro nie wiem jaka treść będe generował. Są elementy stałe i są elementy, które się zmieniają. Owszem, mogę na przemian wysyłać dane z flash (stałe elementy) i generowane dynamicznie z ram ale ze względu na elementy dynamiczne nie wiem ile danych będę przysłał. Musiałbym więc najpierw zsumować wielkość elementów...

    Arduino   01 Mar 2018 09:09 Odpowiedzi: 29    Wyświetleń: 1923
  • [xmega128a3u][int0] - PORT_ISC_LEVEL_gc - podwójne przerwanie

    0. PORT_ISC_LEVEL - jak sama nazwa wskazuje, generuje przerwanie tak długo, jak długo jest stan niski. Skasowanie flagi przerwania nie eliminuje przyczyny przerwania. Gdybyś blokował przerwania INT0 dla portu, to miałbyś pojedyncze wyzwolenia, a tak to obserwujesz 2 (i pewnie też więcej) dla przytrzymanego przycisku. 1. Xmegi mają sprzętowe odwracanie...

    Mikrokontrolery AVR   30 Lip 2014 08:16 Odpowiedzi: 3    Wyświetleń: 1200
  • Xmega USART - Jak połączyć strumienie printf i scanf z DMA?

    W książce Tomasza Francuza "AVR Praktyczne projekty" znalazłem bardzo przyjemny sposób na użycie USART w XMEGA posługując się fprintf lub fscanf. Niestety po przejściu na DMA okazało się, że nie da się tak łatwo zastąpić fprintf przy użyciu funkcji wysyłającej dane do bufora i dalej przez DMA do komputera. Znalazłem inny przykład w sieci z wykorzystanie...

    Mikrokontrolery AVR   24 Lis 2014 15:02 Odpowiedzi: 1    Wyświetleń: 1641
  • atrybut "volatile" dla struktury danych - niezgodność

    Panowie wydaje mi się, że właśnie w takim przypadku użycie volatile jest KONICZNE i to zdecydowanie, ponieważ to właśnie tylko w funkcjach a w zasadzie TYLKO w funkcjach zawierających pętle nieskończone bez możliwości ich przerwania dochodzi do buforowania zmiennych Nie jest to prawdą: Natomiast co ciekawe jeśli używamy zmiennej w przerwaniu to jej...

    Mikrokontrolery   28 Sie 2011 09:32 Odpowiedzi: 23    Wyświetleń: 3667