przerwania zagnieżdżone

Znaleziono około 130 wyników dla: przerwania zagnieżdżone
  • [ATMEGA32][BASCOM] - Przerwania zagnieżdżone - LCD razem z INT0

    Wydaje mi się, że podczas wykonywania komend obsługujących LCD (Locate, Lcd) dzieje się jedna z dwóch rzeczy: a) przerwania zewnętrzne są wyłączane (nie są obsługiwane przerwania, które są zagnieżdżone jedne w drugich), ...............) Tak ma być czy robię coś źle? Jakieś pomysły o co może chodzić i jak podejść do problemu? Pokaż gdzie i jak masz...

    Mikrokontrolery AVR   14 Maj 2013 06:48 Odpowiedzi: 7    Wyświetleń: 2682
  • REKLAMA
  • [STM32] Jak uniknąć natychmiastowego wywołania przerwania USART TXE w STM32?

    kardynalny błąd -> oczekiwanie na co, na TC==1 ? Oczekiwanie na cokolwiek w przerwaniu jest kardynalnym błędem. Przeciez w notce katalogowej zalecają poczekać po zakonczeniu transmisji na TC. Czy aby napewno piszą to w kontexcie przerwań, czy może poczekania przez wyłączeniem danego modułu peryferyjnego? Poza tym nie odpowiedziałeś na moje pytanie,...

    Mikrokontrolery ARM   27 Lis 2011 15:31 Odpowiedzi: 4    Wyświetleń: 2888
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [LPC2148] Jak zmienić flagi I i F w rejestrze CPSR dla LPC2148 w C?

    Skoro problem startupa już rozwiązałeś, to może napiszę cokolwiek o tym drugim. Po pierwsze - po co chcesz zmieniać wartość I / F z poziomu kodu? W znakomitej większości przypadków - jeśli nie korzystasz z przerwań zagnieżdżonych - nie ma takiej potrzeby. Przerwania aktywowane są (lub nie) w rozbiegówce przy okazji ustawiania stosów dla różnych trybów....

    Mikrokontrolery ARM   03 Kwi 2009 17:04 Odpowiedzi: 3    Wyświetleń: 1932
  • Wszystko o ARM (LPCxxxx) i programowaniu w asm i C.

    Wielozadaniowość to duże słowo. Ale jeśli już go użyłeś, to zastanów się czy tego właśnie nie chcesz robić zagnieżdżonymi przerwaniami. Co do rozwiązań to wystarczy w przerwaniu robić krótką część roboty, a jeśli musimy czekać na coś to powrót i kontynuacja przy następnym wejściu. Wbrew pozorom łatwiej nad tym zapanować niż nad zagnieżdżonymi przerwaniami....

    Mikrokontrolery ARM   28 Lis 2009 17:35 Odpowiedzi: 141    Wyświetleń: 17212
  • Dlaczego przerwania TMR0 nie działają w moim kodzie AVR?

    Zmienna jest równa zero, bo przerwania nie wywołują się podczas innych przerwań "same z siebie" - to chyba oczywiste, że żaden układ nie obsługuje "sam z siebie" zagnieżdżonych przerwań - nie bez powodu zresztą. Zupełnie inną kwestią jest to, że optymalizacja na 99% wywali Ci zmienną pom, bo jest bezsensowna. 4\/3!!

    Mikrokontrolery AVR   10 Lut 2010 10:08 Odpowiedzi: 4    Wyświetleń: 1096
  • REKLAMA
  • ARM AT91SAM7S-EK: Przerwania ADC nie działają - co sprawdzić?

    Potrzebne Ci w ogóle te przerwania zagnieżdżone? Bo wiesz że jak jest problem, to najłatwiej go rozwiązać dochodząc do podstawowej przyczyny na najprostszym kodzie - zagnieżdżone przerwania w tej definicji się nie mieszczą. Skoro program się wykłada, to pewnie jest zbyt mały stos, ale ja i tak bym wywalił te przerwania zagnieżdżone... 4\/3!!

    Mikrokontrolery ARM   28 Gru 2010 21:44 Odpowiedzi: 10    Wyświetleń: 1578
  • Konfiguracja ADC i USART w Atmega128 - pytania dotyczące kodu programu

    3) Generalnie na początku makra SIGNAL wyłączane są przerwania (funkcja cli), a na końcu są odblokowywane (sei), tak więc nie ma zagnieżdżenia przerwań, po prostu niektóre pomiary gubisz. 2) wg noty katalogowej do masy przez kondensator 1) jeśli ich nie używasz, to należy je ustawić jako WYJŚCIE, i można na nich ustawić stan 0. Nie powinny wisieć w...

    Mikrokontrolery AVR   18 Wrz 2009 10:50 Odpowiedzi: 5    Wyświetleń: 1996
  • [atmega8][c] obsługa dwóch przerwań + odmierzanie czasu

    Najprostsze rozwiązanie - w przerwaniu od czujki uruchom sprzętowy timer. Przerwanie od timera powoduje włączenie alarmu. Jeśli użytkownik wyłączy system przyciskiem, to w procedurze przerwania przycisku wyłączasz timer. Żeby wszystko działało jak trzeba, musisz zezwolić na zagnieżdżone przerwania (czyli żeby ISR od timera mógł się wykonać w momencie,...

    Mikrokontrolery AVR   18 Wrz 2008 22:46 Odpowiedzi: 14    Wyświetleń: 2597
  • REKLAMA
  • Obsługa przerwań AVR w C: Kolejność obsługi przy zagnieżdżonych przerwaniach?

    Hej, Mam pewną wątpliwość co do sposobu działanie przerwań w avr`ach i ich obsługi przez avr-libc 1.4.4. Co się stanie jeżeli w momencie, w którym procesor obsługuje jakieś przerwanie zostanie zgłoszone następne przerwanie. Z dokumentacji zrozumiałem że nie zostanie ono obsłużone od razu ponieważ ISR albo Signal mają wyłączone globalne zezwolenie na...

    Mikrokontrolery   26 Lis 2006 18:18 Odpowiedzi: 2    Wyświetleń: 2224
  • [stm32] STM32F103RB – zawieszanie I2C przy aktywnych przerwaniach input capture z timerów

    Zwiększ rozmiar stosów, bo przerwania mogą po prostu przepełniać stos. No i jeśli ich nie potrzebujesz, to wyłącz możliwość przerwań zagnieżdżonych. 4\/3!!

    Mikrokontrolery ARM   14 Maj 2011 11:12 Odpowiedzi: 9    Wyświetleń: 4082
  • [Cortex] Jak ustawić priorytety przerwań NVIC w Cortex-M3?

    A przypadkiem żeby jedno przerwanie przerwało drugie nie trzeba w obsłudze każdego z nich rozpocząć od... włączenia przerwań (bo przecież domyślnie po wejściu do przerwania są zablokowane). Tym sposobem w ogóle przerwania zagnieżdżone mogą działać... 4\/3!!

    Mikrokontrolery ARM   22 Cze 2014 11:00 Odpowiedzi: 29    Wyświetleń: 6355
  • Jak sprawdzić i ustawić rozmiar stosu w LPC1114 na Eclipse Code-Red?

    Przerwania zagnieżdżone,tzn. jestem w przerwaniu od timera, wysyłam wynik z przetwornika do uarta, a potem czekam na przerwanie od przycisku nie wychodząc z przerwania od timera. Gdy wcisnę przycisk to CPU idzie to obsługi przycisku i mam przerwanie zagnieżdżone. Tu nie pomoże żadna wiedza o wielkości stosu. Program trzeba przepisać. A przedtem...

    Mikrokontrolery ARM   28 Wrz 2010 19:33 Odpowiedzi: 8    Wyświetleń: 3006
  • [SAM7X] [SAM7X][C] sprintf wyświetla nieprawidłowe dane na LCD po czasie

    No to zwiększ stos, bo 96 bajtów to tyle co nic dla takiego układu, a jeszcze masz przerwania zagnieżdżone. Mając 128kB pamięci SRAM naprawdę nie ma sensu się ograniczać w tej ważnej kwestii. Pamiętaj, żeby wielkość ta byłą podzielna przez 8. 4\/3!!

    Mikrokontrolery ARM   23 Gru 2010 16:06 Odpowiedzi: 26    Wyświetleń: 2223
  • [ATMEGA] Jak sprawdzić zużycie RAM w programie C dla ATMEGA w WinAvr?

    Jeżeli w programie występuje nadpisywanie RAMu to można w dowolnym jego miejscu sprawdzać SP? Kiedy SP może się przepełnić, np w czasie przerwań albo wywoływania funkcji zwłaszcza gdy operuje się na większych buforach/ stringach? SP możesz odczytać w dowolnym miejscu, to przecież jeden z dostępnych rejestrów MCU, ale... średnio to pomaga. Owszem, zauważysz,...

    Mikrokontrolery AVR   04 Lut 2024 20:46 Odpowiedzi: 17    Wyświetleń: 2792
  • REKLAMA
  • [C] Błąd kompilacji FreeRTOS na AT91SAM7S256: sekcje .stack i .bss się nakładają

    No właśnie jak dla mnie to jest bardzo dziwne, bo wg mnie wszystko przed tą instrukcją jest ok... Jeśli włączasz PLL i MAM, to może spróbuj odpalić wszystko bez PLL i MAM - na niskich prędkościach? A nuż jest to problem sprzętowy... Z jakiego przerwania jest wywoływana ta funkcja? Masz tam przerwania zagnieżdżone? Nie mam już pomysłów... /; 4\/3!!

    Mikrokontrolery ARM   24 Mar 2011 14:20 Odpowiedzi: 31    Wyświetleń: 7061
  • [Atmega16][C][WinAvr] Problem z obsługą dwóch przerwań zew.

    Priorytet jest zafixowany - po numerze wektora, tak jak zwykle. Co do przerwań zagnieżdżonych, to ze strony kompilatora problemu nie będzie, procek też zrobi co mu każesz, niemniej jednak napisanie kodu który to przeżyje jest dosyć skomplikowane [; Co do INTERRUPT, to może w jakiejś starej wersji or sth - teraz w każdym razie zalecane jest ISR() 4\/3!!

    Mikrokontrolery AVR   28 Kwi 2009 04:20 Odpowiedzi: 7    Wyświetleń: 2348
  • mega32 - Jak tworzyć pętle w języku ASM zamiast w C?

    Warto, bo czasem przydają się wstawki asemblerowe. Tia, ja na razie użyłem w swoim życiu dwóch i to tylko dlatego że nagle zapragnąłem zrobić "premature optimization" (; 4\/3!! No dobra, ja jak sobie dobrze przypominam to używałem asm chyba tylko do załączania przerwań zagnieżdżonych... ALE, czasem, w niektórych bibliotekach można napotkać proste funkcje...

    Mikrokontrolery Początkujący   17 Mar 2013 23:43 Odpowiedzi: 19    Wyświetleń: 2079
  • ATSAM7S - Jak dobrać minimalny model procesora do rozmiaru pliku bin?

    Witam, Przerwań zagnieżdżonych nie używam. Natomiast odnośnie tego kodu w przerwaniu, w którym odbieram dane bajt po bajcie, tworzę ramki danych a później liczę CRC sprawdzając czy naliczone CRC zgadza się z CRC z ranki danych to zauważyłem jeszcze taką rzecz: jak wyłączę inne przerwania, czyli procesor ma mniej do roboty, wówczas znów mam 100% poprawnych...

    Mikrokontrolery ARM   16 Gru 2014 18:06 Odpowiedzi: 21    Wyświetleń: 2322
  • [LPC1114] Konfiguracja SysTick w LPC1114 na przerwanie co 1us - dlaczego nie działa?

    No ale co to ma za znaczenie. Na przerwanie może zareagować szybciej. "Chyba" należałoby sprawdzić, bo nie masz racji przy nowszych konstrukcjach. A co do przerwań zagnieżdżonych, to dałeś się ponieść. Póki korzystasz z kopii rejestrów a nie stosu to do tych 6 (i 12 oczywiście też) cykli musisz małe conieco doliczyć Także w wypadku cudownego Cortexa....

    Mikrokontrolery ARM   23 Kwi 2012 07:57 Odpowiedzi: 60    Wyświetleń: 7021
  • LPC2129 + Keil RealView: Zagnieżdżanie przerwań ADC i Timer0 - niepoprawne działanie

    ups (; Zagnieżdżone przerwania trzeba obsługiwać w innym trybie. 4\/3!!

    Mikrokontrolery ARM   12 Kwi 2010 21:31 Odpowiedzi: 37    Wyświetleń: 4499
  • Atmega 8 i TSOP1736 - zawieszanie procesora przy intensywnym użyciu pilota IR

    Nie reaguje, gdyż normalnie M8 nie obsługuje zagnieżdżonych przerwań.

    Mikrokontrolery Początkujący   28 Gru 2013 16:34 Odpowiedzi: 8    Wyświetleń: 1398
  • [STM32F107VCT6][C] - Dynamiczna pamięć oraz odczyt z pamięci USB

    Dlaczego przechowuje tablice 15 elementową folderów: Na przyszłość. mam zamiar wyświetlać albo foldery albo pliki, albo pół na pół. No ale to chyba nie ma sensu - skoro masz 15 linii, to wystarczy Ci 15 elementów, a nie 2x15 <; A masz może jakiś pomysł co zrobiłem źle z przerwaniami? Z przerwaniami można wiele rzeczy zrobić źle - począwszy od "standardowych"...

    Mikrokontrolery ARM   03 Lut 2013 15:25 Odpowiedzi: 5    Wyświetleń: 1458
  • Gdzie MCS51 przechowuje PSW podczas przerwań i jak działa stos priorytetów?

    Tak są sprawdzane przy przyjmowaniu przerwania ale po powrocie z przerwania (RETI) skąd procesor wie jakie przerwanie, o jakim priorytecie wykonuje (ponieważ przerwania mogą być wielokrotnie zagnieżdżone)?

    Mikrokontrolery   07 Cze 2007 14:32 Odpowiedzi: 11    Wyświetleń: 2585
  • C++ - Sprawdzanie powtarzania w wierszach tablicy 2-wymiarowej

    Cóż, teraz widzę że nie zrozumiałem do końca. Zostaw break jak był, teraz doczytałem że nie stosowanie break to mit, którego zresztą zostałem nauczony w szkole... A wracając do twojego pytania, zapoznaj się z debugerem to zrozumiesz dokładnie jak to działa. Break tak czy siak powinien przerwać pętlę for w obrębie której jest zagnieżdżony, a dopiero...

    Programowanie Początkujący   07 Sty 2013 17:30 Odpowiedzi: 8    Wyświetleń: 1947
  • ARM - przerwanie timera, problem z migającą diodą LED

    "obsługa zagnieżdżonych przerwań jest skopana" - czy jest jakaś możliwość obejścia tego problemu jeśli mam włączone kilka przerwań jednocześnie i mogą się wzajemnie nakładać w czasie ?

    Mikrokontrolery   21 Gru 2007 10:02 Odpowiedzi: 13    Wyświetleń: 3056
  • Atmega8 assembler - Zerowanie bitu I w SREG podczas symulacji w AVR Studio

    Kiedy zdarza się przerwanie, bit I w SREG zostaje wyczyszczony, podczas powrotu z przerwania RETI ustawia bit I z powrotem na 1. Zapobiega to kolejnemu wywołaniu tego samego przerwania dopóki jego obsługa nie zostanie zakończona, jak i zagnieżdżonym przerwaniom.

    Mikrokontrolery AVR   19 Gru 2013 23:56 Odpowiedzi: 5    Wyświetleń: 1551
  • Jak skonfigurować przerwania UART na ATmega128 w języku C?

    Ten sposób się czasem stosuje - tworząc tzw. zagnieżdżone przerwania, ale jest to ryzykowna zabawa i powinna zazwyczaj dotyczyć tylko obsługi jednego przerwania, jeżeli musi być ono dłuższe czasowo, aby nie blokować procesora i reszty programu. Pzdr. N.

    Mikrokontrolery   25 Wrz 2007 10:59 Odpowiedzi: 16    Wyświetleń: 3150
  • [BascomAVR] Dlaczego zmienne Z1...Z4 nie działają w przerwaniu BascomAVR?

    Widzę że muszę trochę sprostować. 1. Nawet kosmicznie często wywoływane przerwanie zdąży się wykonać choć by nie wiem jak długo ono trwało, bo przerwania po wejściu w obsługę jakiegoś przerwania są blokowane i odblokowywane są dopiero po zakończeniu się obsługi tego przerwania. Więc twierdzenie że przerwanie nie zdąży się wykonać w ciągu 128us bo samo...

    Mikrokontrolery AVR   12 Sty 2010 21:23 Odpowiedzi: 13    Wyświetleń: 1641
  • LPC1114 - Timer 32-bitowy: Przerwanie przy wartości 100000 nie działa poprawnie

    W żadnym normalnym systemie przerwań to samo przerwani się nie zagnieździ W AVR jest to możliwe, a dla większości jest to normalny system przerwań.

    Mikrokontrolery ARM   10 Lis 2013 00:43 Odpowiedzi: 22    Wyświetleń: 2538
  • [ATTiny2313/C] Błąd w przerwaniu po dodaniu jednej lini kodu

    Nie neguję rozwiązania przerwanie-w-przerwaniu, w niektórych sytuacjach jest to rozwiązanie bardzo eleganckie i efektywne, tylko należy pamiętać aby dobrze wyłączać przerwania. Nie popieram natomiast pętli oczekującej w przerwaniu, kod warto przeprojektować względem tych pętli pozbywając się ich - czy to przez automat skończony zmieniając INT1 na przerwanie...

    Mikrokontrolery AVR   06 Maj 2010 21:14 Odpowiedzi: 9    Wyświetleń: 2080
  • LPC2148 - Zawieszanie się programu przy przerwaniach zewnętrznych i TIMER0

    Witam! Na wstępie chciałem zaznaczyć, że od niedawna dopiero poznaję procesory z serii ARM. Bardzo dawno temu miałem styczność z 51- jedynką i keilem. Moje doświadczenie w programowaniu C też nie jest oszałamiające, natomiast asembler na ARM jak na razie jest przeze mnie mało zrozumiany. Proszę o wyrozumiałość przy pisaniu ewentualnych odpowiedzi, za...

    Mikrokontrolery ARM   19 Lis 2015 21:16 Odpowiedzi: 10    Wyświetleń: 1203
  • Arduino UNO - Jak migać diodą pin 13 niezależnie od pętli void loop?

    Witam, w rzeczy samej, funkcje typu "delay" odbierają sterowanie na czas opóźnienia, nic się wówczas nie dzieje. W prosty sposób można jednak zrealizować taką "kooperacyjną" wielozadaniowość. Należy zrezygnować w ogóle z funkcji "delay", zamiast nich wywoływać w kółko w głównej pętli (czyli loop) funkcje, które będą odmierzały czas od jakiegoś momentu...

    Arduino   29 Maj 2017 23:43 Odpowiedzi: 22    Wyświetleń: 5682
  • Attiny12 - Jak odczytać stan portu w Bascom z użyciem asemblera?

    No cóż, jeśli używamy przerwań, to można tylko podprocedury zagnieździć do 2 poziomu, stos sprzętowy jest niewielki.

    Mikrokontrolery   14 Kwi 2007 13:34 Odpowiedzi: 35    Wyświetleń: 6305
  • [ARM][Cortex M] Bit-band-Alias i Bit-Band-Regoion

    Dziękuję kolejny raz za pomoc :). Szukam jeszcze informacji odnośnie pojęciu "Stacking i Unstacking", udało mi mi się znaleźć takie wyjaśnienie: Stacking and Unstacking – pozwalają na obsługę zagnieżdżonych przerwań bez ryzyka utraty danych Stacking Kiedy wystąpi wyjątek wrzucane jest 8 rejestrów do stosu: •PC (program counter) •PSR...

    Mikrokontrolery ARM   13 Gru 2015 18:44 Odpowiedzi: 8    Wyświetleń: 1236
  • [stm32] - FSMC i priorytet przerwania zegarowego/zmiany wyjścia steroanego zeg.

    Czy istnieje u ciebie przerwanie które wymusza dostęp na FSMC, tj. wyświetlacz? Jeśli nie, to nie ma opcji żeby praca FSMC miała wpływ na wykonywanie przerwań...Jeśli tak, to masz błąd w założeniach, bo dostęp do wyświetlacza nie powinien być w ISRrze.... Przerwania się skolejkują wtedy, gdy masz włączonych kilka przerwań i wszystkie wystąpią na raz...

    Mikrokontrolery ARM   20 Maj 2011 09:16 Odpowiedzi: 1    Wyświetleń: 1382
  • Jak efektywnie zarządzać przerwaniami i zadaniami w dużych projektach na uC?

    Ja to robię "na maksa" przez co łatwo jest mi budować np. urządzenia zasilane z baterii o długim czasie pracy. Nie jestem przekonany, że otrzymujesz optymalne rozwiązanie. Choćby z powodu konieczności zachowywania kontekstu do zagnieżdżonych przerwań kod wydłuża się o dodatkowe instrukcje a to powoduje zwiększenie "żerności" Albert

    Mikrokontrolery   01 Lip 2013 11:18 Odpowiedzi: 39    Wyświetleń: 6096
  • [C/ASM] [C/ASM][CORTEX-M3] - Jak przypisać zmienną C do rejestru R0?

    Jakie Bez tego mechanizmu ciężko ogarnąć takie tematy jak zagnieżdżanie przerwań czy zmiana kontekstu po przerwaniu. Idea jest taka, że w twoim przypadku SysTick musi mieć wysoki priorytet (najwyższy w "systemie", w znaczeniu w RTOSie), tak aby tick był regularny i się nie gubił. Przełączanie kontekstu na najwyższym priorytecie zaś jest średnio zabawne,...

    Mikrokontrolery ARM   30 Mar 2013 11:20 Odpowiedzi: 10    Wyświetleń: 1851
  • Problemy z wykonywaniem kodu po podziale na funkcje w systicku co 1ms

    Czyli nie dość, że nie możesz wrzucić całego kodu, to jeszcze ten który wrzuciłeś nie ma nic wspólnego z tym który powoduje problem... Kod w "if" korzystał ze zmiennych "widocznych" z poziomu przerwania. Kod w funkcji po pierwsze korzysta np ze zmiennej lokalnej (parametru funkcji), niewidocznej i nie-istniejącej poza tą funkcją, a po drugie korzystając...

    Mikrokontrolery ARM   13 Kwi 2012 12:47 Odpowiedzi: 23    Wyświetleń: 1592
  • AVR-GCC - Uniknięcie hazardu (race condition) przy przerwaniach

    Procedura obliczenia() musi być wykonana po każdym przepełnieniu timera i tylko po przepełnieniu timera (musi się wykonać dokładnie tyle samo razy ile razy wystąpiło przerwanie timera). Wymagana jest też w szybka reakcja na inne przerwania - szybsza niż trwają obliczenia() Prawie dobre rozwiązanie nr 1(pseudokod): Proszę wytknięcie błędów, opinie który...

    Mikrokontrolery AVR   26 Mar 2014 00:07 Odpowiedzi: 2    Wyświetleń: 1185
  • Jak zaprogramować Atmega16 do obsługi 4 wyświetlaczy 7-segmentowych?

    Przecież twój kod się nawet nie powinien kompilować, więc jest faktycznie zły :) Jak sobie wyobrażasz zagnieżdżenie ISR? Mieszasz nowe makra (ISR) ze starymi (SIGNAL). Poza tym ATMega nie ma czegoś takiego jak priorytety przerwań. Przerwanie TIMER1_COMPA_vect nie zostanie przerwane, chyba, że jawnie odblokujesz wszystkie przerwania co zapewne doprowadzi...

    Mikrokontrolery AVR   30 Sty 2012 12:21 Odpowiedzi: 12    Wyświetleń: 7502
  • [Atmega8] [Atmega8][C/winavr] Niezrozumiałe działanie zmiennej w sterowniku kotła

    Dzięki za wskazanie błędu :) Chciałem dla jednego z przerwań zrobić wyższy priorytet od pozostałych poprzez dodanie do tych pozostałych opcji ISR_NOBLOCK, co powodowało najprawdopodobniej opisane wyżej przepełnianie stosu. Nie rozumiem tylko dlaczego tak się dzieje, ponieważ problemy ze zmienną pojawiają się w czasie, gdy możliwe są wystąpienia następujących...

    Mikrokontrolery   09 Lut 2011 00:47 Odpowiedzi: 12    Wyświetleń: 2032
  • Jak zintegrować odbiornik IR na ATmega8 z myszką USB HID?

    Witam, to co chcesz zrobić wymaga moim zdaniem 2 procesorów, bo obydwa procesy są czasowo zależne, a zwłaszcza usb. Procesor jest zajęty kontrolą odbioru pakietów i jak opisuje ciekawy artykuł o destuffigu nie należy mu w tym przeszkadzać. sei w przerwaniu to tzw. zagnieżdżone przerwanie, bardzo ryzykowne i moim zdaniem nie do stosowania w C, bo nie...

    Mikrokontrolery   10 Lut 2007 15:54 Odpowiedzi: 1    Wyświetleń: 2303
  • stm32f103 - Sprintf resetuje zmienne globalne po kompilacji w Eclipse Kepler

    rzeczytaj komentarz nad tymi dwoma wartościami w skrypcie linkera. Przeczytaj go BARDZO wnikliwie. Ok, wnikliwie. Moje wątpliwości budzi: Thread mode can use main stack Nie miałym dotąd potrzeby zastanawiania się nad tym, w jakim mode działam. Nie są zbyt zagnieżdżone przerwania, zresztą spod keila program działał. Teraz działa już z grubsza. Wykrzacza...

    Mikrokontrolery ARM   17 Kwi 2015 07:23 Odpowiedzi: 19    Wyświetleń: 1725
  • Prawidłowy syscalls dla skryptu linkera z lpcusb(lpc2148)

    Sprawdź [; Nie znam tego kodu, więc nie wiem, niemniej jednak jeśli tylko jest on w miarę "standardowy" to nie powinno być problemów. Niestandardowe elementy które mogłyby być problematyczne to np. jakiś kod inicjalizacyjny w startupie (włączanie PLLa czy jakichś peryferiów) - wystarczy przenieść kod assemblerowy "ręcznie" do nowego pliku .S i nazwać...

    Mikrokontrolery ARM   04 Lut 2011 14:50 Odpowiedzi: 4    Wyświetleń: 1091
  • [C] Atmega8 przerwania INT0/INT1 – wielokrotne zliczanie naciśnięć przycisku (debouncing)

    Doczytałem dokumentację i muszę przyznać, że masz absolutną rację Andrzeju. Pozornie nie ma zagnieżdżonych przerwań: normally interrupts will remain disabled inside the handler until the handler exits Można jednak sobie poradzić z ręcznym priorytetowaniem. W obsłudze dowolnego przerwania można maskować tylko te przerwania, które faktycznie mogą być...

    Mikrokontrolery AVR   09 Lip 2010 21:11 Odpowiedzi: 25    Wyświetleń: 2478
  • Ogólny zarys programu, co w przerwaniach? Obsługa przycisków

    Do arturt134 Wyłączenie przerwania na czas odpowiadający pracy powiązanej z przerwaniem( oczywiście nie globalne wyłączenie przerwań, co byłoby po prostu odsuniętym przerwaniem bez zagnieżdżeń) jest dobrym rozwiązaniem. I skanowanie klawiatury zamiast przerwań też jest dobre. Ale nie mogę się zgodzić co do uniwersalności Twojego rozwiązania. Jest przejrzyste...

    Mikrokontrolery   28 Wrz 2007 10:23 Odpowiedzi: 9    Wyświetleń: 1868
  • STM32F103 - reset mikrokontrolera po zmianach w firmware i bootloaderze

    HEAP miał 8kB, STM32F103 ma 20kB SRAM, to może 12kB na stos USB, jakieś globale, konteksty zagnieżdżonych przerwań itp. to momentami dla niego za mało? Raczej nie ma opcji, żeby 12 kB na stos było zbyt mało. Poza sytuacjami extremalnymi mi się jeszcze nie zdarzyło używać więcej niż 4 kB, ale tylko w sytuacjach gdy "głęboko" są używane funkcje typu...

    Mikrokontrolery ARM   11 Cze 2019 11:49 Odpowiedzi: 11    Wyświetleń: 609
  • MSP430 w IAR - jak ustawić priorytet przerwań dla portu P1 i TA?

    Widzę że się znasz na rzeczy wiec zadam Ci kilka pytań jeśli pozwolisz. 1. Czyli jeśli chcę żeby przerwanie od TB miało najwyższy priorytet to muszę odblokować w pozostałych przerwaniach GIE ponieważ chodziarz to przerwanie w Tabeli jest na wyzszym poziomie nie przerwie mi przerwania np Portu. 2 Czy dobrze rozumiem <bo to mi umsknęło podczas przeglądania...

    Mikrokontrolery   10 Sty 2007 02:44 Odpowiedzi: 4    Wyświetleń: 1912
  • [STR912] - Nie działa przerwanie od timera 1 przy użyciu VIC i UART

    Gdyby zostać w IRQ, trzeba by zrobić zagnieżdżone przerwania czyli takie które mogą być ponownie przerwane przez inne IRQ, a to sporo kłopot i ryzyko. Czemu zagnieżdżać, nie wystarczy po prostu poustawiać odpowiednie priorytety przerwań w VIC? Musze ogarnac pisanie tych skryptow w asmie. Bo widze ze bez tego daleko nie pojade. To jakos sensownie opisane...

    Mikrokontrolery ARM   23 Lis 2012 13:05 Odpowiedzi: 19    Wyświetleń: 2028
  • Jaka jest dostępna max zajętość pamięci w Atmega328P

    Nie ma takiej zależności. Jeśli nie korzystasz z dynamicznej alokacji pamięci to możesz to bardzo zgrubnie oszacować po ilości zmiennych automatycznych (lokalnych), a szczególnie tablic. To co czyni takie oszacowanie szczególnie trudnym to określenie stopnia zagnieżdżenia funkcji - bo to zajmuje sporo pamięci na stosie. A zależy to od ilości przerwań,...

    Mikrokontrolery AVR   08 Wrz 2011 11:07 Odpowiedzi: 14    Wyświetleń: 1702
  • Zasady pisania programów pseudowielowątkowych na małych proc

    Zdefiniuj czym są atomiczne(/atomowe) przerwania? Procesor albo skacze do ISRa albo nie . (pomijając zagnieżdżone przerwania) Zgodnie z rozumowanie kolegi jeśli jakiś blok jest atomowy w części, to znaczy, że nie jest atomowy wcale. Ciekawe rozumowanie. A jeśli blok, załóżmy 10 instrukcji assemblera pracujące na ulotnej zmiennej, gdzie dereferencja...

    Mikrokontrolery   12 Kwi 2011 22:58 Odpowiedzi: 103    Wyświetleń: 15095
  • stm32f1 eclipse openOCD - podczas debugu od razu wchodzi do Default_Handler

    W nowszych wersjach przykładów wszystkie stosy były zerowane, a wiec po "dłuższym" czasie działania swojego programu możesz sobie podejrzeć pamięć i po prostu zobaczyć ile jest wciąż wyzerowane i zmniejszyć dany stos o tą wartość (zostawiając sobie jakiś tam margines bezpieczeństwa). Generalnie dla aplikacji rzadko potrzeba więcej niż 1kB, a dla przerwań...

    Mikrokontrolery ARM   17 Lut 2016 11:37 Odpowiedzi: 51    Wyświetleń: 2877
  • Jak napisać kod w C dla atmega32 do mrugania diodą PWM bez blokowania?

    Zrób do migania timer zagnieżdżony, czyli coś co w przerwaniach będzie odliczać wstępnie do 200 i dopiero co każde takie odliczenie odliczaj ten Twój regulacyjny timer. Dzięki temu będziesz miał już nie 80kHz tylko 400Hz dla timera. Wtedy dopiero uzyskasz jakiś widzialny gołym okiem zakres zmian.

    Mikrokontrolery AVR   13 Lip 2019 13:02 Odpowiedzi: 19    Wyświetleń: 729
  • Jak zaimplementować debouncing przy długim loop() w Arduino?

    (at)koham, no masz rację, ale stwierdzenie, że jeśli fakty przeczą temu co napisałem, tym gorzej dla faktów idealnie tu pasuje. To drugie wywołanie nie służy ponownemu sprawdzeniu przycisków i jest bez sensu, bo nie mierzy wtedy czasu od poprzedniego (choć pełna ms i tak nie minie) stanu przycisku. To tylko potwierdza, że tym bardziej nie należy tego...

    Arduino   19 Lut 2019 17:15 Odpowiedzi: 27    Wyświetleń: 1011
  • [C]Zmienna lokalna vs globalna, a szybkość wykonywania programu przerwania

    (at)WX3V To co napisałeś to jakiś zbiór życzeń i dziwnych przemyśleń. Albo dopiero zacząłeś programować, albo do tej pory pisałeś programy w asemblerze. Nie ma nic takiego jaki zachowanie kolejności zmiennych, sortowanie po typie czy innym kryterium. Zagnieżdżenie wstawki asm w funkcji obsługi przerwania jest możliwe i nie ma tutaj wątpliwości. Ale...

    Mikrokontrolery AVR   08 Lis 2017 22:39 Odpowiedzi: 14    Wyświetleń: 2571
  • [atmega32][bascom]Dziwne znaki na wyświetlaczu po 15min

    Przeanalizuj te swoje polecenia GOSUB pod względem możliwości wyjścia i ich zagnieżdżenia. Zwiększ również nieco stos HWStack bo masz przerwania i sporo odwołań przez GOSUB.

    Mikrokontrolery AVR   08 Kwi 2012 15:02 Odpowiedzi: 2    Wyświetleń: 2358
  • Przerwania proste i przyjemne - część 2 - zmienne, bufory i latencja

    W Zmienne globalne — wiedz, kiedy są modyfikowane Zmienne globalne muszą być ostrożnie obsługiwane, gdy są używane z przerwaniami, ponieważ te są generalnie asynchroniczne. I jeżeli zmienna globalna jest modyfikowana przez ISR, może zostać zmieniona w dowolnym momencie. Musimy mieć na uwadze następujące aspekty: Odczyt/zapis zmiennych globalnych...

    Artykuły   08 Mar 2022 00:35 Odpowiedzi: 18    Wyświetleń: 2688
  • [atmega8][Bascom] Zewnętrzne przerwania uniemożliwiają komunikację przez I2C

    Aż mnie dziwi, że przy takiej ilości zagnieżdżonych skoków program się nie wysypuje. Albo może się wysypuje i stąd te dziwne wyniki. Za radą kolegi Mundi1970 zainteresuj się definicjami stosów i przebadaj zagnieżdżanie podprogramów.

    Mikrokontrolery AVR   18 Kwi 2012 21:48 Odpowiedzi: 10    Wyświetleń: 3659
  • Atmega32, C - Przerwania INT0 i INT1 - Co tu nie gra?

    Szum na wejściach raczej nie jest problemem, każde wejście ma wbudowany przerzutnik schmitta. Oprócz tego w trakcie zliczania wykonywane jest całe mnóstwo działań matematycznych, Gdzie są te obliczenia wykonywane? Jeśli w przerwaniu to być może trwa za długo. a chwilowe wyniki obliczeń i pomiarów na bieżąco przesyłane są po RS232 (9600 B/s) do komputera...

    Mikrokontrolery   18 Lis 2013 20:28 Odpowiedzi: 20    Wyświetleń: 3618
  • Czy najnowszy ChatGPT umie korzystać z wyszukiwarki i czytać dokumentację? Czy napisze skrypt OBK?

    Niedawno zrobiłem mały egzamin tej 'inteligencji', marnie wypadła ze znajomości avrów ;) (nie można zagnieździć bold w code, więc będzie rozlazłe) procesor avr ze stosem sprzetowym ChatGPT Procesory AVR, takie jak te z rodziny ATmega, są wyposażone w stos sprzętowy, który jest używany do zarządzania wywołaniami funkcji, przerwami oraz przechowywaniem...

    AI Artykuły   08 Lip 2024 00:17 Odpowiedzi: 9    Wyświetleń: 1920
  • Arduino Uno/Nano - Zliczanie impulsów z 4 wentylatorów, jak to zrobić?

    Korzystaj z nich, bo po to właśnie są, a zaoszczędzisz moc obliczeniową mikrokontrolera wszystko fajnie, ale łatwe programowanie (IDE) pozwala na użycie tylko Arduino Uno ma je tylko na pinie 2 i 3 nawiasem mówiąc, w zależności od trybu, może reagować na poziom, jedno zbocze lub oba zbocza. Zagnieżdżenie kodu w innych przerwaniach wymaga zapewne kodowania...

    Arduino   20 Kwi 2017 20:38 Odpowiedzi: 8    Wyświetleń: 1935
  • Ocena kodu AVR: dwa efekty LED na przerwaniu, sterowanie jednym przyciskiem, zmienne m i t

    W pętli while, IF'y powinny być zagnieżdżone, żeby dobrze działał debouncing.

    Mikrokontrolery AVR   14 Gru 2011 18:39 Odpowiedzi: 12    Wyświetleń: 1450
  • [ATtiny45V] Jak ustawić priorytet przerwań dla timerów?

    instrukcja SEI na początku ISR, avr-libc to załatwia Dla ścisłości, powinieneś użyć: ISR(XXX_vect, ISR_NOBLOCK) { ... } bo wpisanie na początku obsługi przerwania sei(); to nie to samo. Wtedy przerwania zostają włączone dopiero po prologu, czyli np. po odłożeniu na stos używanych rejestrów - to wprowadza pewne opóźnienie. To ma sens...

    Mikrokontrolery AVR   12 Paź 2010 13:40 Odpowiedzi: 10    Wyświetleń: 1933
  • USB Framework w CrossWorks na AT91SAM7S jak uruchomić?

    OK :) Enumeracja działa. Przechodzą deskryptory, wiec podstawa do budowy urządzeń już jest :D Pierwsze co trzeba było zmienić to podczas konfigurowania przerwań dodać na końcu linijkę: __ARMLIB_enableIRQ(); Oprócz tego zmiany w pliku startowym, aby możliwa była obsługa przerwań zagnieżdżonych. Czyli: irq_handler: //---- Adjust and save return...

    Mikrokontrolery   23 Mar 2008 22:10 Odpowiedzi: 8    Wyświetleń: 2004
  • Eclipse + OpenOCD + Sourcery G++ Lite i turial Freddie Chopi

    99% osób używa po prostu DOBRYCH projektów, a ty na siłę chcesz uruchomić projekt, który po prostu jest kiepski. 1. W skrypcie linkera dopisz sobie gdzieś na początku ENTRY(_startup); (co w sumie nie jest do końca poprawne, ale tym sposobem jest najprościej) 2. W jakimś pliku z kodem musisz mieć funkcję void AT91F_LowLevelInit(void) - najlepiej pustą...

    Mikrokontrolery ARM   03 Sie 2010 16:39 Odpowiedzi: 37    Wyświetleń: 6730
  • [STM32F4][C] - Program wskakuje do _Default_Handler podczas acos() i pow().

    powf() jest kiepskie tylko dlatego, że wewnętrznie ta funkcja jest zrealizowana na logarytmach. Po prostu wystarczy pomnożyć - x * x. Co do teorii że "liczby całkowite będą kilkadziesiąt razy szybsze", to chciałbym tylko powiedzieć, że instrukcja VMUL (mnożenie zmiennoprzecinkowe) w tym układzie zajmuje JEDEN cykl. He, he, he, znów pułapka Freddiego....

    Mikrokontrolery ARM   12 Kwi 2013 16:04 Odpowiedzi: 16    Wyświetleń: 1980
  • [atmega...][c]Masakrowanie przerwań - luźne dywagacje...

    Luźne dywagacje to znaczy takie sobie gdybania i rozważania. Czego nie wolno i dlaczego nie wolno, sztuczki i kruczki itp... Temat nie tylko dla mnie, mam nadzieję :) . Na początek konkretne zapytanie. Wywołujemy sobie przerwanie, załóżmy INT1. Wiemy, że dopóki trwa, nie wywoła się żadne inne przerwanie. Możemy sobie jednak włączyć globalne zezwolenie...

    Mikrokontrolery AVR   30 Cze 2010 10:39 Odpowiedzi: 91    Wyświetleń: 7281
  • Attiny2313 WinAVR201 - Przerwanie INT0 i INT1 wywala błąd przy kompilacji

    Czepia się, bo wszystkie funkcje (w tym ISR) umieściłeś w main. ISR z natury są globalne, więc nie mogą być zagnieżdżone w ciele innej funkcji.

    Mikrokontrolery Początkujący   11 Wrz 2012 09:18 Odpowiedzi: 7    Wyświetleń: 2166
  • Jak sprawdzić zakończenie transmisji SPI z FIFO i DMA?

    Problem jest następującej natury. Do interfejsu SPI jest dorobiony zestaw funkcji, który realizuje buforowaną transmisję poprzez programowe FIFO i DMA. Do bufora FIFO ładowane są dane typu wskaźnik na dane do nadania, wskaźnik na tablicę dla danych odebranych, dane umożliwiające machnięcie linią CS oraz długość transmisji. Jednen "element" FIFO to jedna...

    Mikrokontrolery   31 Sie 2009 18:20 Odpowiedzi: 5    Wyświetleń: 1110
  • Mega8 Bascom: Różnice w działaniu waitms i waitus przy odliczaniu czasu

    kolego atom1477 --> zanim zaczniesz komuś zarzucać, że gada bez sensu - to może najpierw przyjrzyj się swoim wypowiedziom i poradom ogólnym jak choćby o tym, że wszyscy używają starych bascomów to dlatego opowiadasz o max 255 dla waitms .... mógłbym tak cię co chwilę łapać za słówka - ale nie o to chodzi To akurat nie była porada ale stwierdzenie....

    Mikrokontrolery   14 Wrz 2009 11:47 Odpowiedzi: 21    Wyświetleń: 3459
  • Budowa własnego inwertera sieciowego (on grid)

    Witam, układ z ostatniego schematu może słabo działać. Mosfet będzie załączał się szybko ale wyłączanie będzie bardzo powolne, przez rezystor 10 kΩ. Poza tym dość duże napięcie zasilające wymusza stosowanie diody Zenera, w stanie załączenia przez rezystor w bramce 47 Ω oraz przez tę diodę będzie płynął bardzo duży prąd, elementy będą się grzały....

    Energia Odnawialna   23 Lut 2017 19:59 Odpowiedzi: 18    Wyświetleń: 12870
  • [Atmega 16][C] - błędy podczas kompilacji programu .

    Kolego, zacznij od podstaw C, bo ten kod nie ma szans na kompilację. Np. konstrukcja: char usart_bufor[60] = ("napiencie") |(sprintf(wynik,"U=%1.3f [V]",adc)); kompletnie nie ma sensu, podobnie UDR = usart_bufor[60] = ("napiencie");. Co to ma być? Kolejna sprawa, że ISR zagnieżdżony w funkcji też nie ma sensu (funkcja obsługi przerwania nie może być...

    Mikrokontrolery AVR   05 Kwi 2016 19:43 Odpowiedzi: 14    Wyświetleń: 1671
  • Jak zaprogramować matrycę LED 7x7 z Atmega8 w BASCOM-AVR?

    Ten program nie działa dobrze, bo czasy zaświecania kolumn są różne. Poza tym masz pięć zagnieżdżonych pętli, zupełnie nie wiadomo, do czego. Tego nie da się zrobić dobrze bez przerwania timera - przeczytaj to, co napisałem wyżej i zastosuj. To nie takie trudne.

    Mikrokontrolery Początkujący   02 Mar 2013 17:52 Odpowiedzi: 9    Wyświetleń: 1695
  • [STM32l][FreeRTOS] - problem z obsługą przerwania

    W zasadzie we wszystkich przykładach wykorzystania przerwania z UARTA nie było nigdzie czyszczenia flagi, więc założyłem, że jej nie potrzeba... gdzieś czytałem, że flaga jest automatycznie czyszczona, ale jestem laikiem więc mogę się mylić. Wdzięczny byłbym za wszelkie wskazówki jak do tego podejść. Zamiast zgadywać, zakładać i czekać na odpowiedzi...

    Mikrokontrolery ARM   15 Kwi 2013 17:44 Odpowiedzi: 8    Wyświetleń: 2328
  • Sterowanie silnikiem krokowym: stopniowy wzrost prędkości, analiza kodu C++

    Tam są głownie skomplikowane obliczenia rampy akceleracji i deceleracji. A ja to chciałem uprościć- acc i dec mają te same nachylenia prędkości. W dodatku przyspieszenie nie musi być liniowe- tylko zależne od czasu przerwania. Ale o ile graf rozumiem- to mam wrażenie że powyżej 10 if zagnieżdżonych program zaczyna żyć własnym życiem.

    Mikrokontrolery   27 Gru 2010 00:14 Odpowiedzi: 81    Wyświetleń: 7118
  • [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
  • Arduino i WS2812: Jak natychmiast zmieniać efekty w przerwaniu?

    Witam, nie mam czasu na dokładną analizę kodu ale problem raczej nie jest zabójczo skomplikowany. Powinieneś zastosować jakiś znacznik "właśnie wciśnięto przycisk zmiany efektu". W funkcjach poszczególnych efektów (dużo pętli for) analizujesz wspomniany znacznik i ewentualnie "wyskakujesz" z pętli (czasami chyba kilku zagnieżdżonych), na wyjściu z funkcji...

    Arduino   24 Lip 2020 05:58 Odpowiedzi: 22    Wyświetleń: 1629
  • Jak zapisać uśrednione dane z obrotomierza silnika na kartę SD (AVR, C)?

    nie pytajcie się mnie o jakieś szczegóły 0. Załatwione :) Ja nie będę pytał. 1. Nie liczenie wcale nie nastąpi. 2. Nie, O będzie miało stale wartość 0. 3. Daje to tyle, że wynik będzie z sufitu. A teraz kilka słów wyjaśnienia: Ad.1. W funkcji main, masz pętlę opartą o while(1). Ta pętla zostanie przerwana tylko brakiem zasilania. Program nigdy nie...

    Mikrokontrolery Początkujący   05 Cze 2014 22:07 Odpowiedzi: 6    Wyświetleń: 1161
  • Pierwsze starcie z mikrokontrolerami (dozwolone linki Allegro, eBay, itp)

    M8 == ATMega8 Opcje można znaleźć w helpie BASCOMa Options Compiler Chip itd...np... XRAM Pamięć zewnętrzna (dla M8 nie wchodzi w grę) HW Stack Stos "hardwarowy" adresy wywołań GOSUB (każde zagnieżdżenie = 2 bajty), dla procedur obsługi przerwań ze składowanymi rejestrami kazde zagnieżdżanie=32 bajty). Używany także przez inne instrukcje BASCOMa. Soft...

    Mikrokontrolery Początkujący   09 Sty 2018 16:32 Odpowiedzi: 2015    Wyświetleń: 549915
  • Jak poprawnie użyć przerwań INT0 do przełączania programów w C?

    Nawet jakby działało, to pewnego razu stos by się przewrócił :) ------------------------------ Edytowałem, ale chyba robak był szybszy :P Nie ma co kombinować, nawet jak się uda, to program będzie działał np przez 50 przyciśnięć, po czym nastąpi zwiecha. Nie ma też co dyskutować na temat sensu takiegoż programu, gdyż sensu on wówczas mieć nie będzie...

    Mikrokontrolery AVR   28 Lis 2010 21:24 Odpowiedzi: 9    Wyświetleń: 1143
  • Attiny 13 i zmienne, bascom avr, nie mogę użyć zmiennej.

    Tych wartości nie ustala się eksperymentalnie. Nawet podałem na forum przepis co i jak... Szukać! $HWSTACK = 32 - jak nie używasz przerwań to możesz zmniejszyć nawet dwukrotnie. Pamiętaj tylko by nie używać zbyt dużo zagnieżdżonych odwołań GOSUB. $SWSTACK = 18 - jak nie ma poleceń CALL, SUB, FUNCTION, LOCAL to to taka wartość to marnotrawstwo RAM. W...

    Mikrokontrolery AVR   17 Cze 2009 20:03 Odpowiedzi: 6    Wyświetleń: 3586
  • ATmega32 + enkoder obrotowy Mirley – kod w C do obsługi inkrementacji/dekrementacji

    To żaden debouncjing, przecież jak drgają styki to masz naprzemienne zbocza narastające/opadające, inaczej byłby to stabilny stan logiczny :) Oczywiście w większości przypadków to nie przeszkadza i można sobie robić na przerwaniach. Problem pojawia się w sytuacji, kiedy inne procedury wymagają niskiego, albo chociażby przewidywalnego czasu reakcji na...

    Mikrokontrolery AVR   28 Gru 2010 23:02 Odpowiedzi: 23    Wyświetleń: 13733
  • Jak stworzyć procedurę umożliwiającą ECHO (ATMEGA128 w C)

    Jeśli rzeczywiście będzie to po kolei to powinno się wykonać automatycznie stąd if nie są zagnieżdżone, ale kolega MNCHH z jakiegoś :) powodu broni się przed przerwaniami :( Więc nie ma gwarancji, że coś po drodzę się nie wydaży i wysłanie znaku będzie możliwe dopiero za jakiś czas, czyli kolejny znak będzie już czekał w bufforze :( więc trudno powiedzieć...

    Mikrokontrolery   24 Paź 2007 09:27 Odpowiedzi: 8    Wyświetleń: 1409
  • [C++] Jak przerwać rekurencję w C++ bez powrotu do poprzednich wywołań?

    Tak samo, jak break nie przerwie Ci wszystkich poziomów pętli zagnieżdżonych, tak samo jest z rekurencją. Dokładnie jak kolega wyżej radzi - funkcja musi zwracać wynik, który będzie decydował o przerwaniu każdego z wyższego poziomu po kolei. Np tak: [syntax=c]int f(int a) { if (rand()%a==0) return 1; if (f(a+1)) return 1; if (f(a-1)) return 1; if (f(a))...

    Programowanie   31 Gru 2011 12:59 Odpowiedzi: 4    Wyświetleń: 3150
  • Przerwanie w BASCOM AVR generuje sporadyczny reset up

    ... Jednak dla spokoju mojej duszy jeżeli stworze program w pętli którego będę wyświetlał zmienną na wyświetlaczu LCD to jest możliwe że za którymś razem przerwanie przerwie w „połowie” transmisję danych do wyświetlacza co spowoduje wyświetlenie krzaków na wyświetlaczu tak? Pozdrawiam Jeśli w przerwaniu nie używasz LCD , to NIE MA PRAWA...

    Mikrokontrolery   23 Gru 2007 15:17 Odpowiedzi: 5    Wyświetleń: 1437
  • Jak wykonać programowy reset w mikrokontrolerze 8051? Dostępne instrukcje/reset

    Ale właśnie z przerwania musisz "wrócić" poprzez instrukcję RETI - jak np. zrobisz przez RET to uP nie wejdzie powtórnie do tego przerwania ( tj. normalną drogą przez wywołanie tego przerwania ) Ja robiłem taką sztuczkę z PUSH xx PUSH xx RETI właśnie po to - ale zapewne w Twój program nie będzie wymagał takich "zabiegów" - po co chcesz wychodzić z przerwania...

    Mikrokontrolery   05 Sie 2007 12:04 Odpowiedzi: 15    Wyświetleń: 1368
  • Jak oszacować ilość potrzebnej pamięci w mikrokontrolerze??

    Zajętość pamięci RAM jest oczywista - to po prostu rozmiar wszystkich zmiennych, jakie mogą zaistnieć w najgorszym przypadku przy największym poziomie zagnieżdżenia procedur plus po jakieś 20 bajtów na każdy poziom zagnieżdżenia To zależy od uC. AVR ma dużo rejestrów i stos jest w praktyce potrzeby tylko na adres powrotu. W przerwaniach, używane rejestry...

    Mikrokontrolery Początkujący   19 Lut 2018 11:05 Odpowiedzi: 8    Wyświetleń: 1365
  • Jak zrozumieć zagnieżdżone warunki If w Bascomie? Przykład programu

    Witam mam problem z zrozumieniem warunków If w Bascomie ponieważ mam program dość zagnieżdżony więc już sam się pogubiłem .Oto kawałek programu Przerwanie: Incr P If P >= 1000 Then T0 = T0 - 1 T1 = T0 + 2 If R >= T0 And R <= T1 Then If Wylacz = 1 Then Kontrola = 0 End If Wylacz = 1 Else Kontrola = 1 Wylacz = 0 End If If R < T0 Then Incr...

    Mikrokontrolery   09 Mar 2008 11:35 Odpowiedzi: 1    Wyświetleń: 849
  • stm32nucleo-F401RE - alarm domowy, wczytanie hasła z klawiatury matrycowej

    Twój problem niewiele ma wspólnego z mikrokontrolerami. To raczej zagadneinie z podstaw programowania i budowy algorytmów. W sieci znajdziesz zapene całe mnóstwo podobnych projektów - szukaj, czytaj i się ucz. Spróbuj też zapisać program w taki sposób, żeby był przynajmniej 10 razy krótszy. Programowanie nie polaga na szybkim rozmnażaniu prawie-nic-nie-robiących...

    Mikrokontrolery ARM   26 Lut 2015 14:02 Odpowiedzi: 2    Wyświetleń: 888
  • ATmega32 - Jak stworzyć menu wyboru kombinacji migania diod?

    A na czym polegałaby realizacja w main? Bo o przerwaniach nie wiem wiele. Tutaj mam mniej więcej algorytm jak to mogłoby wyglądać. Na początku był pomysł wybierania opcji po konkretnej ilości wciśnięcia przycisku. A teraz myślę, że łatwiej byłoby zrobić coś takiego: http://obrazki.elektroda.pl/4715666900_1... Tylko gdy zagnieżdżę pętle...

    Mikrokontrolery AVR   16 Sty 2016 17:47 Odpowiedzi: 6    Wyświetleń: 1371
  • Wybór języka do programowania AVR dla początkującego z TurboPascalem

    Żeby pisać na mikrokontrolery w C++ trzeba znać ten język bardzo dobrze. Niestety mikrokontroler to nie PC i nie "wybacza" nieprzemyślanych konstrukcji, które kończą się alokacją ogromnych ilości pamięci. Tak konkretniej to chodzi mi o nieprzemyślane używanie klas. C na mikrokontrolery jest znacznie łatwiejszy. A mógłby ktoś napisać w C++ i w C program...

    Programowanie   24 Kwi 2008 17:03 Odpowiedzi: 24    Wyświetleń: 2994
  • [STM32F429i-disco] STM32F429i-disco - Jak poprawić kod przerwań zewnętrznych dla Cortex M4?

    Witam. Od kilku godzin próbuję uporać się z obsługą przerwań zewnętrznych. Znalazłem kod (zamieszczony poniżej) jednak nie działa on na mojej płytce. Jeśli się nie mylę, to działa on na Cortex M3, a nie M4. Czy ktoś byłby w stanie powiedzieć, lub nakierować w jaki sposób poprawić kod, by działał na mojej płytce? Dodano po 2 Problem się chyba rozwiązał,...

    Mikrokontrolery ARM   14 Sty 2015 00:11 Odpowiedzi: 6    Wyświetleń: 879
  • Jak dokładnie odmierzyć 1 sekundę na ATmega8 bez zewnętrznego zegara?

    Dodatkowy wpływ na błąd ma niedokładność częstotliwości generatora kwarcowego. Błąd w sekundach na dobę, wyraża się wzorem: \Delta=86400*(1-\frac{fwzr}{f}) \Delta - błąd w sekundach na dobę (wartość ujemna oznacza spóźnianie się) fwzr - częstotliwość wzorcowa (czyli to co ma być np. 4000000 Hz) f - częstotliwość rzeczywista kwarcu lub generatora kwarcowego...

    Mikrokontrolery AVR   23 Gru 2009 20:44 Odpowiedzi: 11    Wyświetleń: 1592
  • avr atmega32[c] - odliczanie sekundy ,zliczenie 15625 przerwan ?

    Instrukcja TCNT = 0 jest zbędna i fałszuje pomiar czasu. Wyrzuć ją z obsługi przerwania, a zostanie Ci tylko błąd oscylatora. Nie masz żadnego "wewnętrznego kwarcu", bo niczego takiego nie ma w mikrokontrolerze - używasz niedokładnego oscylatora RC. Ponadto bezsensownie sprawdzasz wartość min, gdy wiadomo, że nie mogła się zmienić. Zagnieźdź if () jeden...

    Mikrokontrolery AVR   25 Sty 2017 11:12 Odpowiedzi: 62    Wyświetleń: 4170
  • [atmega32] zapios do eepromu i reset mikrokontrolera

    qnrad - pojedynczy zapis do eepromu to ponad 8ms przy 1MHz - zobacz stronę 21. Zapis co kilka sekund do eepromu to dobry sposób, żeby go zarżnąć w kilka dni - wytrzymałość jest na poziomie 100k zapisów. do autora - żadnego polecenia return w przerwaniu bo będziesz miał tylko jeszcze gorzej. return na końcu funkcji void (a takie są przerwania) nie ma...

    Mikrokontrolery AVR   14 Maj 2010 08:17 Odpowiedzi: 18    Wyświetleń: 1983
  • [asm] Dziwne zachowanie programu na ATtiny2313 z diodami LED na porcie B

    tak jak piszesz reti używasz tylko do powrotów z przerwań, natomiast samo ret do powrotów z funkcji (podprogramów) aby dosyć jasno pisać kod należałoby się trzymać pewnej zasady, o którą czasem wiadomo ciężko ale... .... otóż po tei inicjalizacji robisz tzw pętlę główną (zamkniętą) - występuje ona w każdym języku wyższego poziomu jak Bascom lub C. czyli...

    Mikrokontrolery   04 Lut 2008 22:40 Odpowiedzi: 19    Wyświetleń: 1806
  • [ATMEGA][ASEMBLER] - Długa pętla w asemblerze i dziwna matematyka.

    no zrobiłeś sobie liczbę 3 bajtową 03_84_FFh, czyli 230655. Najbardziej znaczący bajt masz w R18, najmniej - w R16. No i dekrementujesz. Nie do końca natomiast wiem, skąd się doliczyłeś 230400. Chyba, że po drodze wchodzi Ci jeszcze przerwanie i modyfikuje zawartość któregoś rejestru. A to co chcesz zrobić powinienneś (czyli 3x132 itd.) napisać w pętli...

    Mikrokontrolery AVR   11 Paź 2013 20:25 Odpowiedzi: 22    Wyświetleń: 3678
  • [C] Czy funkcja 'inline' w C może korzystać ze zmiennych lokalnych wywołującej?

    Ok, dzięki za odpowiedzi. To tylko rozważania teoretyczne, z czystej ciekawości. Przez wiele lat pisałem programy w asm wielu procesorów, więc siłą rzeczy było to pod moją kontrolą. Teraz zacząłem (od roku) w C. Dało mi to znacznie większe możliwości kosztem - niestety - utraty kontroli, a przynajmniej tak łatwej i bezpośredniej kontroli. Dlatego czasem...

    Programowanie   17 Lis 2014 16:14 Odpowiedzi: 5    Wyświetleń: 1008
  • Atmega16+PCF8583+BASCOM - Odczyt czasu zwraca 0:0:0, co robię źle?

    Witam. Od końca: Kwarce najlepiej użyć takie, by odchyłka prędkości transmisji była jak najmniejsza (poniżej 5% powinno być ok.). Bascom ułatwia ich dobór. Wybierz z głównego menu Options => Compiler => Communication. W okienku które się otworzy wpisz/wybierz pożądaną prędkość transmisji, oraz częstotliwość rezonatora, a poniżej możesz odczytać jaka...

    Mikrokontrolery AVR   31 Maj 2009 11:47 Odpowiedzi: 60    Wyświetleń: 9560
  • [M32][Bascom] Minutnik do jajek - prośba o sprawdzenie programu

    Bardzo dziękuję za krytykę. Zamiast operatora AND mam zbudować zagnieżdżone pętle. Wykorzystuję timer2, bo w M32 mam możliwość taktowania go zewnętrznym kwarcem (w moim przypadku 32768), ale docelowo będzie to pracowało w M8, więc program będę musiał delikatnie skorygować. Co do przerwania cosekundowego: -nie znalazłem metody na uzyskanie takowego,...

    Mikrokontrolery AVR   30 Cze 2012 20:31 Odpowiedzi: 7    Wyświetleń: 1943