przerwanie delay

Znaleziono około 2547 wyników dla: przerwanie delay
  • [ATmega128] czujka ruchu, INT0, GND, działa podwójnie.

    No dawanie w przerwaniu delaya to nie jest dobry pomysl ;)

    Mikrokontrolery AVR   17 Lis 2009 01:03 Odpowiedzi: 10    Wyświetleń: 1878
  • ATmega8 - Jak przerwać _delay_ms przy naciśnięciu innego przycisku?

    Przerwać delay możesz tylko przerwaniem. Jeśli chcesz mieć możliwość normalnie przerwania delay to rozbij je na sekwencje kilku mniejszych opóźnień pomiędzy którymi sprawdzaj stan przycisków. A najlepiej zrobić to przy pomocy timerów i przerwań.

    Mikrokontrolery Początkujący   11 Lis 2012 22:59 Odpowiedzi: 2    Wyświetleń: 1761
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • ATmega8 - Diody PC5 i PC4 świecą ciągle zamiast migać co sekundę

    Całkiem możliwe... bo masz delaya w przerwaniu... Spróbuj jeszcze w pętli głównej zrobić tylko miganie diodą bez użycia przerwań... z delay(1000) i 2x delay(500), albo jakimś mniejszym... potestuj

    Mikrokontrolery   30 Sie 2009 22:04 Odpowiedzi: 19    Wyświetleń: 1679
  • REKLAMA
  • Atmega8 - Tym razem; przerwanie sprzętowe - nie działa

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

    Mikrokontrolery Początkujący   03 Kwi 2013 20:44 Odpowiedzi: 30    Wyświetleń: 3780
  • Problem z obsługą klawiatury 1x4 na przerwaniach w ATmega32

    Klawiszy (poza wyjątkowymi sytuacjami typu wybudzanie uC) nie robi się na przerwaniach INT. Delaye w przerwaniu to nieporozumienie. Twoje przerwanie realizuje się tylko po wciśnięciu przycisku, więc trudno by było, aby zwróciło informację o jego zwolnieniu. Zrób przerwanie zegarowe co 25-50ms i cyklicznie sprawdzaj stan klawiatury. Opanujesz w ten sposób...

    Mikrokontrolery   06 Lut 2019 05:53 Odpowiedzi: 4    Wyświetleń: 438
  • REKLAMA
  • [Cortex M4][Coocox] - przerwanie obsługujące mruganie wyświetlacza 7 segmentowe

    Porada: napisz to od nowa. W obecnej wersji masz delay w przerwaniu EXTI i brak przerwania timera do obsługi wyświetlacza.

    Mikrokontrolery ARM   24 Sie 2017 11:38 Odpowiedzi: 4    Wyświetleń: 1299
  • Atmega8 - jak kontynuować działanie silnika po przerwaniu z krańcówki?

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

    Mikrokontrolery AVR   10 Sty 2010 08:12 Odpowiedzi: 14    Wyświetleń: 1983
  • Nie poprawnie działający delay us z użyciem Systick

    W dobrze napisanym kodzie delay nie jest potrzebny. OW robi się na przerwaniach - UART albo timer.

    Mikrokontrolery ARM   28 Lip 2015 22:05 Odpowiedzi: 9    Wyświetleń: 1818
  • ATmega8: Przerwanie zewnętrzne nie zapala diody na PC5

    W przerwaniu delay na 10 sekund? Przerwanie ma działać jak najkrócej. Do poczytania: http://mikrokontrolery.blogspot.com/2011...

    Mikrokontrolery Początkujący   09 Paź 2015 20:04 Odpowiedzi: 3    Wyświetleń: 702
  • REKLAMA
  • [C] Czy można użyć delay w przerwaniu UART w C? Procedura s1() nie działa poprawnie

    (at)Piotr79611 Na ARM delay jest już realizowany przy pomocy timera - SysTick. Stąd zresztą wynika kolejny problem - jeśli przerwanie przerwie delay i samo odpali delay to wszystko się pokaszani. Także zmień sposób rozwiązania problemu. Możesz w przerwaniu włączyć te diody, jednocześnie odpalić timer, który wywoła przewanie gaszące diody.

    Mikrokontrolery ARM   25 Kwi 2017 11:02 Odpowiedzi: 10    Wyświetleń: 1872
  • [Atmega8] Atmega8, C - Multipleksowanie wyświetlacza 7-seg, wspólna katoda, kodowanie cyfr

    To przerwanie w którym wykonujesz odświeżanie musi działać z dużą częstotliwością, a co do używania delay w przerwaniu napisałem Ci już wcześniej - w każdym wywołaniu przerwania zapalasz kolejną cyfrę, która świeci się do momentu kolejnego wystąpienia przerwania. W kolejnym przerwaniu zwiększasz sobie jakiś licznik, który teraz wskaże na drugą cyfrę,...

    Mikrokontrolery Początkujący   28 Lut 2013 18:58 Odpowiedzi: 17    Wyświetleń: 2322
  • AVR ATmega16 - Niezgodność zegara, delay 1ms trwa 17ms, jak to naprawić?

    A czy przerwanie zdąży się wykonać zanim wystąpi następne? Masz OCR0=2.

    Mikrokontrolery AVR   12 Mar 2012 21:01 Odpowiedzi: 8    Wyświetleń: 1269
  • STM32L4: SDIO czy SPI dla karty SD + klawiatura 3x4 - pobór prądu i wydajność

    funkcji HAL_Delay(1000); w callbaku przerwania to zawiesza mi przerwanie Zadnych delay w przerwaniu.

    Mikrokontrolery ARM   13 Lip 2017 14:15 Odpowiedzi: 7    Wyświetleń: 1569
  • [Atmega48][C] Dziwne zachowanie w przerwaniu timera0

    Wiem że się nie daje delaya w przerwaniu i właśnie dlatego się pytam dlaczego z tym delay-em przerwanie działa prawidłowo a bez niego już nie?

    Mikrokontrolery AVR   23 Wrz 2011 19:07 Odpowiedzi: 9    Wyświetleń: 907
  • REKLAMA
  • Problem z przetwornikiem ADC w programie śledzącym słońce.

    Jak przeprowadzałeś ten test dla tych 2 kanałów (wschód - zachód)? Uzywając już docelowych fototranzystorów? Co z wejściami dla sensorów północ-południe, też miały coś podłączone czy wisiały w powietrzu? Co do kodu to przydałaby się jakaś histereza, i zmiana algorytmu żeby nie blokował się na jednym kierunku - aktualnie jak jest nierówność na jednym...

    Mikrokontrolery Początkujący   17 Paź 2022 20:23 Odpowiedzi: 27    Wyświetleń: 1338
  • [AVR][C] Multipleksacja 8 segmentowego LED - problem

    Źle podchodzisz do problemu - zmienna i (czyli numer wyświetlanej cyfry) powinna być zmienną globalną, którą w przerwaniu od timera zwiększasz, a następnie wykonujesz blok switch (i) { ... }. Oczywiście delay w przerwaniu to "bluźnierstwo" :) Preskaler ustaw sobie na 64, wtedy przerwanie od timera dostniesz ok. 400x na sekundę, czyli odświeżanie całego...

    Mikrokontrolery   07 Sty 2009 09:03 Odpowiedzi: 7    Wyświetleń: 3489
  • Arduino Uno - Sterowanie jednokolorowymi LEDami, pilotem IR, wyłączanie pętli for

    Zgadza się, ale autor miał już problem z ogólnym działaniem programu. Wybór delay, millis, czy przerwania timera, to raczej szczegóły. Kod z #6 zadziała tak samo, ale łatwiej do niego dojść. Chyba. Pozdrawiam.

    Arduino   13 Sty 2023 02:52 Odpowiedzi: 23    Wyświetleń: 927
  • Jak zrobić programowy PWM z wyjściem przeciwsobnym (na dwóch wyjściach)?

    Myślałem nad tym, ale to rodzi pewien problem; nie mogę w *dowolnym* momencie przerwać pętli. Przykładowo: [syntax=c] delay(1000); if(flag == true){ flag == false; break; } //dalszy kod [/syntax] W takim wypadku pętla zostanie przerwana dopiero po upływie czasu w delay(), a mi zależy aby przerwać ją w *dowolnym* momencie. Mógłbym oczywiście rozbić ten...

    Arduino   17 Sie 2020 15:02 Odpowiedzi: 60    Wyświetleń: 2934
  • ATM8/C - Jak uniknąć zakłóceń w działaniu programu przy użyciu Timer1?

    Nie no w ten w ten sposób obsługa przerwania wywoływanego co 16ms twa 12ms z czego 11.99 to czekanie na nie wiadomo na co i dopiero powrót do pętli głównej. 80% pracy procesora to czekanie. Poz tym multipleks tak zrealizowany nie będzie równy, ponieważ w przerwie między przerwaniami nic się nie pali. W żadnym razie delaye w obsługach przerwań !!! Zamiast...

    Mikrokontrolery Początkujący   28 Lip 2012 09:31 Odpowiedzi: 30    Wyświetleń: 3059
  • Czy funkcja pulseIn() w Arduino jest blokująca i wpływ na przerywania?

    To zależy co masz na myśli, delay też nie blokuje przerwań, ale jest uznawana za funkcję blokującą. Jak w loop wywołasz pulseln() i będziesz będziesz mierzył impuls 500ms to w tym czasie żadna funkcja z loop się nie wykona, tak samo jak z delay().

    Arduino   22 Wrz 2019 11:08 Odpowiedzi: 15    Wyświetleń: 1134
  • [ATMEGA8][BASCOM] - Zliczanie czasu pracy Atmegi / RTC

    delay w przerwaniu?! Nie przesadzasz? Dlaczego 2 razy ustawiasz TOIE2? Po co zerujesz TCNT2? Po co ustawiasz TOV2? Spróbuj najpierw sprawdzić ten kod z taktowaniem timera z podstawowego zegara, nie z kwarcu zegarkowego. Wtedy będziesz wiedział, czy problem leży w oprogramowaniu, czy w braku oscylacji.

    Mikrokontrolery Początkujący   04 Lip 2018 15:13 Odpowiedzi: 20    Wyświetleń: 3762
  • AVR/C - Sposoby sprawdzania wciśnietego przycisku.

    Powtórzę ponownie: Wyrzuć wszystkie delay i zrób animacje na przerwaniach, czyli "Po Bożemu".

    Mikrokontrolery   17 Maj 2015 13:33 Odpowiedzi: 50    Wyświetleń: 3534
  • [C][ATmega8]Zmiana sekwencji programu button switch

    Jaka jest aktualna częstotliwość zegara? Jak często uruchamiane jest przerwanie? Ile trwa naciśnięcie przycisku? Musisz zmieniać opcje tylko kiedy przycisk został naciśnięty, nie przytrzymany. Dodaj do przerwania warunek sprawdzający poprzedni stan przycisku. Pomyśl nad wyeliminowaniem delay.

    Mikrokontrolery AVR   01 Paź 2019 17:57 Odpowiedzi: 26    Wyświetleń: 1410
  • [STM32F103C8T6] [STM32F103C8T6][FreeRTOS][C] Semafor w przerwaniu nie działa poprawnie

    Spora szansa, że problemem są priorytety przerwań. We FreeRTOS (w sumie w większości RTOSów) przerwanie które używa funkcji systemu musi mieć priorytet niższy lub równy wartości którą sobie skonfigurowałeś jako progowa w pliku FreeRTOSConfig.h. Ponieważ zwykle w tym pliku jest to skonfigurowane tak głupio, że nie wiadomo nigdy o co chodzi, na szybko...

    Mikrokontrolery ARM   21 Lis 2017 12:42 Odpowiedzi: 25    Wyświetleń: 1713
  • UNO - Przyspieszenie i hamowanie kilku serv jednocześnie na jednymUNO

    Wszystko się da,o ile pozbędziesz się tych pętli i delay() i będziesz zadawał stan serw w przerwaniu timera.

    Arduino   06 Cze 2016 16:37 Odpowiedzi: 7    Wyświetleń: 1305
  • [FreeRTOS/STM32F7] Konfiguracja przerwań. Zawieszanie się funkcji z HAL.

    Musisz w swojej aplikacji dodać gdzieś swoją własną funkcje HAL_Delay(), która po prostu będzie wywoływała task-delay z FreeRTOSa.

    Mikrokontrolery   16 Cze 2018 17:39 Odpowiedzi: 2    Wyświetleń: 462
  • [ATMEGA8][C/AvrStudio] Pomiar temperatury zaburza multipl.

    Problem pewnie leży w procedurze. therm_read_temperature(temp); Tam zapewne masz jakiegoś delay-a ustawionego (na czas potrzebny na konwersje temperatury przez DS-a). Musiał byś pokombinować, żeby przebudować tą funkcję a delay-a wbudować najlepiej w obsługę przerwań z timera z którego korzystasz. Np. Timer przerywa częściej, za każdym razem...

    Mikrokontrolery AVR   26 Sie 2010 19:10 Odpowiedzi: 20    Wyświetleń: 2330
  • [ATmega32][C/AVR-GCC] - Przycisk w obsłudze przerwania

    A jak masz 10 przycisków wykorzystasz 10 przerwań? marnotrawstwo. wykorzystasz jeden licznik i po kłopocie zero opóźnień typu delay. Same zalety. minus? jeden: wykorzystany licznik.

    Mikrokontrolery AVR   05 Mar 2011 20:47 Odpowiedzi: 11    Wyświetleń: 4901
  • [STM32] - SysTick: Jak stworzyć timery softwarowe i funkcję delay?

    Stos dla przerwań ustawiłeś? 4\/3!!

    Mikrokontrolery ARM   06 Lut 2013 16:49 Odpowiedzi: 8    Wyświetleń: 2040
  • atmega8 - UART przerwania - dioda nie gaśnie po odebraniu danych UART

    Powinno być [syntax=C] PORTC &= ~(1<<PC5); [/syntax]. Linia taka ustawia maskę kod [syntax=C] PORTC |= (1<<PC5); [/syntax]. wykonuje operację OR rejestru PORTC z maską 00100000, czyli ustawi bit 6-ty (PC5). Operacja [syntax=C] PORTC &= ~(1<<PC5); [/syntax]. Spowoduje wykonanie operacji AND rejestru PORTC z maską 11011111, czyli...

    Mikrokontrolery AVR   21 Lip 2015 21:56 Odpowiedzi: 9    Wyświetleń: 1641
  • Atmega128L - SPI - Dziwne wartości w rejestrze SPDR?!

    Musisz całkowicie zmienić obsługe slave. Po pierwsze musisz wprowadzić synchronizację, czyli machać linią SS. Po drugie odbiór w slave należałoby oprzeć na przerwania SPI - SPI nie ma wielostopniowego bufora, kolejne bity nadpisują poprzednie. W efekcie musisz mieć pewność, że zdążysz z odbiorem. To w miarę gwearantują ci przerwania, na pewno nie delaye...

    Mikrokontrolery AVR   25 Cze 2013 16:29 Odpowiedzi: 16    Wyświetleń: 2295
  • Arduino Uno DS18B20 - Jak odczytywać temperaturę co określony czas?

    Przypisywać powinieneś wartość zwracaną przez metodę getTempCByIndex - tak jak to robisz wyświetlając wynik, a nie metodę requestTemperatures która tylko wykonuje pomiar do zmiennej wewnątrz klasy a później nie zwraca nic (dlatego void). Poza tym twój kod jest tak samo zły jak wspomniany delay - poczytaj o przerwaniach.

    Arduino   02 Kwi 2017 07:56 Odpowiedzi: 6    Wyświetleń: 1188
  • STM32L151 - USB nie wykrywane na laptopie Fujitsu Lifebook A

    Dorobilem w przerwaniu od USB SUSPEND (wywolywane przy odpieytm kablu), że tak co okolo 1 sekunde zeruje USB, czeka okolo 200ms (zwykly delay w przerwaniu) i konfiguruje USB. Po takim zabiegu jest ponownie wykrywany. Ale to jest tylko obejście (i to w nielegancki sposób) problemu, a nie go rozwiązanie. Racja. Eleganckie i powszechnie stosowane jest...

    Mikrokontrolery ARM   16 Sty 2015 15:59 Odpowiedzi: 13    Wyświetleń: 1443
  • Jak zliczać impulsy z dwóch kontaktronów na ATmega32 w C++?

    kolega ma kompletnie skopane procedury obslugi przerwań, nie wiem czemu nikt dotychczas tobie nie napisał że obsługa przerwania to nie jest miejsce na stosowanie procedury delay(). To także nie jest miejsce na to aby wstawiać tam instrukcje case-select choć to jeszcze od biedy przejdzie. Przerwanie musi byc maksymalnie zwięzłe. Dla wyświetlacza musisz...

    Mikrokontrolery AVR   19 Lip 2010 21:00 Odpowiedzi: 20    Wyświetleń: 2819
  • Atmega 32 - dlaczego przerwanie INT1 nie działa poprawnie?

    Już wszystko działa. Dziękuje wszystkim za pomoc. A tak poza tym to delay w przerwaniu wpisałem tylko dlatego, że myślałem że pomoże a w innych programach nie zamierzam używać delay w przerwaniach, a w programie głównym też zamiast delay stosuje funkcje do odczytu czasu i instrukcje if co daje o wiele lepszy efekt.

    Mikrokontrolery AVR   22 Maj 2011 08:17 Odpowiedzi: 10    Wyświetleń: 2861
  • Jak podłączyć kwarc zegarkowy 32,768kHz do Arduino dla dokładnych impulsów?

    Tak, niedokładność czasu delay wynika głównie z tego, że dodaje się do tego czas wykonania innych funkcji, w tym szczególnie funkcji obsługi przerwań. W przypadku odpowiedniego użycia timera tej niedokładności nie ma, a w każdym razie nie akumuluje się ona, tak jak w przypadku delay. Oczywiście jeśli coś ma być wykonywane w superdokładnych odstępach...

    Arduino   12 Sty 2016 06:20 Odpowiedzi: 21    Wyświetleń: 2040
  • Jak skonfigurować przerwania zewnętrzne do sterowania silnikiem w AVR?

    Przecież wiesz, że delay w przerwaniu nie powinieneś stosować to dlaczego ponownie je tam wstawiasz? Przyjmij wreszcie postawę, że delay jest be i przestań go używać, oraz że do odliczania odcinków czasowych należy wykorzystywać timery. Patrząc na to co zaproponowałeś powyżej nie wiesz natomiast, że: - wchodząc w przerwanie przerwania są blokowane (flaga...

    Mikrokontrolery AVR   22 Gru 2016 15:04 Odpowiedzi: 27    Wyświetleń: 1275
  • Jak zmieniać stan niski na wysoki za pomocą generatora? ATmega168 i język C.

    Więc już działa poprawnie. Teraz powstał inny problem którego się nie spodziewałem, aczkolwiek jest problem z przerwaniem, a dokładniej wstawiam kod programu Jeśli aktywne są przerwania to delay będzie opóźniał. Pokaż całość programu.

    Mikrokontrolery AVR   09 Mar 2019 16:24 Odpowiedzi: 17    Wyświetleń: 975
  • Arduino – jak płynnie spowolnić ruch serwa przy wielu kątach (pętla for, write)

    Stała rada - żadnych delay(), tylko przerwanie timera i zmiana sterowania serw w tym przerwaniu.

    Arduino   13 Mar 2015 12:24 Odpowiedzi: 6    Wyświetleń: 2355
  • Wzrost wartości "delay" poprzez przycisk

    Nie każę stosować timera. Tylko takie użycie delay powoduje dość sporą jego niedokładność. Jeżeli mamy stałe skoki czasu to można to zrobić tak: [syntax=c]uint8_t delayTimeInSeconds; void delay() { int i; for (i = 0; i < delayTimeInSeconds; i++) { delay(1000); } }[/syntax] I obsługę przerwania/przycisku zrealizować tak: [syntax=c]#define MAX_DELAY_TIME_IN_SECONDS...

    Mikrokontrolery Początkujący   09 Maj 2014 19:22 Odpowiedzi: 5    Wyświetleń: 1296
  • Sterowanie prędkością serwa MG996R z Arduino Uno bez delayów

    Nie licz na gotowe biblioteki, które najczęściej zawierają masę błędów. Napisz swoją obsługę serwa. Timerem wygeneruj impuls zależnie od tego jaki kąt chcesz uzyskać. Wiele serw nie wymaga przerwy pomiędzy impulsami ok 20ms, jeśli jednak ma ona być to też jest proste, po wygenerowaniu impulsu, wywołane zostanie przerwanie, które zmieni konfigurację...

    Arduino   13 Mar 2019 20:57 Odpowiedzi: 17    Wyświetleń: 1047
  • 25LC1024 - LPC1769 + SPI + Flash 25LC1024 - nie zapisuje do pamięci

    Jeśli nie delay, to zastanawiam się jak inaczej to rozwiązać... Ustawić przerwanie od timera, albo przenieść delay do głównej pętli programu.

    Mikrokontrolery ARM   20 Kwi 2015 08:00 Odpowiedzi: 25    Wyświetleń: 2130
  • Jak uruchamiać zgrzewanie po wciśnięciu przycisku? Problem z kodem.

    Reaguj na zmiane stanu przycisku a nie na jego stan. Zamiast delay, użyj millis() i maszyny stanów. Dzięki temu będziesz mógł innym przyciskiem awaryjnie przerwać proces w dowolnym momencie. Teraz to niemożliwe.

    Arduino   24 Cze 2018 13:53 Odpowiedzi: 11    Wyświetleń: 639
  • MSP430 - Jak dobierać sygnały zegarowe i ich źródła?

    stdbool.h przeoczyłem, sorry. to teraz przejdź z Debuga na Release i zobacz czy nadal wszystko działa, imho raczej się posypie, bo d1 i d2 powinny być volatile. A tak w ogóle: kompilator masz z CodeComposera, czy MSPGCC? Bo jak ten pierwszy, to owszem, i bez volatile'a może podziałać, defaultowe opcje optymalizacji puszczają tam takie cuda, ale to nie...

    Mikrokontrolery Pozostałe   10 Kwi 2013 12:28 Odpowiedzi: 19    Wyświetleń: 4323
  • Arduino Nano - Przerwanie pracy buzzera przyciskiem

    Przycisk nie zadziała dopóki nie skończą sie delay(). Pozdr

    Arduino   20 Sty 2017 12:40 Odpowiedzi: 8    Wyświetleń: 1200
  • Różnice między przerwaniem a wywołaniem podprogramu w sterownikach SIEMENS

    Normalna praca sterownika PLC polega na cyklicznym wykonywaniu: odczytu wejść, sekwencji kolejnych rozkazów składających się na program oraz ustawieniu wyjść. Wyobraź sobie taki ciąg rozkazów umieszczony w OB1: 1. A = 1 2. B = 2 3. CALL FC1 4. B = 1 5. A = 2 6. CALL FC1 Wewnątrz FC1 zawsze zmienna A <> B. Podprogram (FC1) jest wykonywany tylko...

    Automatyka Sterowanie PLC   05 Gru 2018 19:09 Odpowiedzi: 20    Wyświetleń: 1623
  • atmega16 odbiór RC5 z TSOP1736 bez timerów – jak poprawnie obsłużyć pilot TV?

    Twój sposób odczytywania jest ciekawy ale nie jestem pewny czy praktyczny. Program przy takim przerwaniu i odczytywaniu kodu RC5 dość dużo czasu będzie spędzał na pętlach delay. W związku z tym, że będziesz wykorzystywał też różne inne przerwania nie jestem pewny czy program się nie pogubi i poprawnie odczyta kod RC5.

    Mikrokontrolery AVR   26 Kwi 2010 20:24 Odpowiedzi: 5    Wyświetleń: 1597
  • Jak zrobić pętlę którą mogę przerwać sygnałem wej ARDUINO ide

    Najlepiej zapomnij o używaniu funkcji delay i używaj timerów/liczników oraz przerwań. Na tym Forum wyszukasz wiele tematów na ten temat. Na innych stronach będzie tego miliony. Na przykład tutaj: http://www.elektroda.pl/rtvforum/viewtop...

    Arduino   17 Lis 2015 23:22 Odpowiedzi: 2    Wyświetleń: 1203
  • Arduino: Obsługa wielu czujników i diod bez użycia delay i z przerwaniami

    Kazdy czujnik niech generuje przerwanie, w przerwaniu badasz ktory czujnik sie odezwal i wlaczasz diody dla tego czujnika.

    Arduino   04 Sty 2018 00:34 Odpowiedzi: 115    Wyświetleń: 5769
  • STM32F0 Discovery w CubeMX - brak reakcji na przerwania w HAL

    Zapamiętaj jedna generalna zasadę: żadnych delay w przerwaniach. Do tego ten delay o ile się już uprzesz użyć go w handlerze wymaga aby systick miał wyższy priorytet, inaczej zdechnie w deadlocku

    Mikrokontrolery ARM   18 Cze 2019 15:52 Odpowiedzi: 11    Wyświetleń: 519
  • Zarządzanie przerwaniami UART - Arduino Mega i wyświetlacz NEXTION

    Czujniki to ds'y? Czytasz je z delayem?

    Arduino   27 Gru 2021 10:53 Odpowiedzi: 12    Wyświetleń: 771
  • [Atmega8][C] - sterowanie triakiem - weryfikacja programu

    Zobacz w nocie jak działa timer, w szczególności funkcje pinów OCx. Zauważ, że impuls wyzwalający triak może być generowany całkowicie sprzętowo. Dzięki OCx możesz ten impuls wygenerować z zadanym opóźnieniem, w takiej sytuacji wyzwalasz tylko timer w przerwaniu detekcji zera. Tak jak kolega wyżej sugerował zapomnij o delay, szczególnie w przerwnaiu....

    Mikrokontrolery AVR   22 Cze 2012 11:30 Odpowiedzi: 15    Wyświetleń: 4105
  • Jak regulować czas migania diody w C za pomocą zmiennej w delay'u?

    Najprymitywniej: [syntax=c]void mydelay(uint16_t delay) { int f; for (f = 0; f<delay; f++) _delay_ms(1); } [/syntax] A powinienes zrobic w przerwaniu timera.

    Mikrokontrolery AVR   10 Kwi 2016 09:34 Odpowiedzi: 20    Wyświetleń: 2097
  • Atmega32 [c] - Jak generować podaną ilość impulsów w czasie?

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

    Mikrokontrolery AVR   05 Gru 2009 00:11 Odpowiedzi: 3    Wyświetleń: 1463
  • STM32L152 - SysTick jak poprawnie generować przerwanie co 1ms?

    Jakie środowisko? Zakładam, że CooCox, ponieważ w innych takie rzeczy raczej nie występują. Odkąd pamiętam, to taki zapis zawsze poprawnie konfigurował SysTick do generowania przerwań co 1ms (1000Hz): [syntax=C] #include core_cm4.h #define FREQUENCY 168000000ul // lub dowolna inna, ale prawdziwa ///... jakiś fragment programu... if (SysTick_Config(FREQUENCY...

    Mikrokontrolery ARM   16 Lut 2014 20:44 Odpowiedzi: 8    Wyświetleń: 2442
  • Atmega168A-PU: Brak działania przerwań, mruganie diodą nieudane.

    Kod jest poprawny. Czy w projekcie masz wybrany prawidłowy procesor? A co do delay to pewnie masz źle ustawione F_CPU.

    Mikrokontrolery Początkujący   03 Lip 2018 14:16 Odpowiedzi: 10    Wyświetleń: 609
  • Atmega8 - Jak zrealizować wiele przerwań na INT0 dla kilku enkoderów?

    Nie w głównym a raczej: w innym przerwaniu wstawiają delay() albo pętlę oczekującą na cokolwiek. P.S. Poczekajmy co Autor wymyśli.

    Mikrokontrolery AVR   06 Sty 2011 16:08 Odpowiedzi: 37    Wyświetleń: 4738
  • STM32VLDiscovery - Timer Delay - Problem z precyzją przy niskich wartościach ARR

    1. Wobec tego korzystaj z funkcji opóźnień dostępnych we FreeRTOS. 2. Nic dziwnego, że opóźnienia tak działają - system ma swój timer i procedury obsługi przewań, a one zajmują czas procesora. 3. OneWire tak na pewno nie obsłużysz. Zajrzyj do najnowszej EP - zobaczysz, jak można to zrobić. Na pewno nie z delay(), a przerwanie timera obsługującego 1W...

    Mikrokontrolery ARM   26 Sty 2015 16:09 Odpowiedzi: 22    Wyświetleń: 1197
  • ATTiny85 nie odbiera danych z SoftwareSerial od SIM800L

    Biblioteka odbiera dane z użyciem delay w przerwaniu od pinu RX, a wysyła w delay wyłączając przerwania. Dla niskich prędkości równoczesną transmisję i odbiór z detekcją bitu start możnaby zrobić w przerwaniu timera, albo użyć USI. Tak czy inaczej, z Arduino już by w tym projekcie nic nie zostało. Problem z odbiorem danych masz taki, że w ogóle niepotrzebnie...

    Arduino   07 Cze 2022 04:32 Odpowiedzi: 44    Wyświetleń: 1407
  • Jak zaimplementować my_delay, by nie blokowało czujników pływakowych?

    Twoim problemem jest wykorzytanie funkcji delay która jest niczym innym tylko pętlą o określonej ilości iteracji. Poczytaj o licznikach i przerwaniach.

    Mikrokontrolery AVR   26 Gru 2018 21:12 Odpowiedzi: 5    Wyświetleń: 465
  • [AVR][C]RS232 Porownanie tablic char, a znaczenie delay

    Dlatego tak się dzieje, że _delay_ms(50); powoduje, że procesor mieli sobie coś w pętli przez 50ms nie interesując się niczym innym niż przerwaniami. Jeżeli chcesz coś robić w pewnych określonych interwałach czasowych użyj przerwań od timera.

    Mikrokontrolery AVR   06 Lis 2012 22:17 Odpowiedzi: 3    Wyświetleń: 1713
  • [STM32] [C/Keil/STM32CubeIDE] F030 transmisja SPI z użyciem DMA

    dlaczego ta instrukcja nie działała jak dodałem średnik na końcu tej linijki while((SPI1->SR & SPI_SR_BSY) == 0) ,a jak go usunąłem to zadziałało? Bo `while (warunek);` jest tożsame z `while (warunek) { /* kompletnie nic */ }`. Jeśli dasz średnik, to następna linijka _NIE_ jest częścią pętli while, tylko po prostu jedną instrukcją która się wykona...

    Mikrokontrolery ARM   22 Sty 2021 13:24 Odpowiedzi: 21    Wyświetleń: 1029
  • ESP8266(wemos d1 mini) przerwanie stale alarmowane bez przyczyny.

    w ten sposob pozbylem sie delaya w ogole Jeżeli nie masz żadnych delay w loop() to tym bardziej możesz przenieść obsługę przycisku w to miejsce. Proponuję użycie EasyButton: https://github.com/evert-arias/EasyButto... Funkcja read() z tej biblioteki też nie wprowadza żadnych delay(), a detekcję naciśnięcia przycisku można sobie elegancko podpiąć pod...

    ESP8266 i ESP32   11 Maj 2019 19:05 Odpowiedzi: 33    Wyświetleń: 2304
  • Zapis wielobajtowy do pamięci EEPROM w AVR - delay czy pętla? Funkcja EEPROM.put()

    Witajcie, Zastanawia mnie pewna sprawa; czas zapisu do pamięci EEPROM w AVR-ach to 3-4ms. Czy w przypadku kiedy mam do zapisania więcej niż jeden bajt, po każdym poleceniu EEPROM.write() powinienem wrzucić delay ustawiony na 4ms żeby dać czas procesorowi na zapis? Czy mogę odpalić np pętlę, która od razu, bez żadnych opóźnień zapisze np 64 bajty? Jak...

    Arduino   26 Lis 2023 09:04 Odpowiedzi: 5    Wyświetleń: 264
  • Co zrobić aby przerwanie było wywoływane co 1ms w liczniku SysTick

    Ok, dzięki. Nie rozumiem, ponieważ wpisując do licznika SysTick wartość początkową 24000, przy zegarze 24MHz (8MHz x3), mam przerwanie co 1ms, bo wywołując opóźnienie Delay(1000); - zlicza 1000 przerwań, dioda świeci 1 sek. Gdyby podział przez 8 dzialał, to powinna swiecić 8 sek.

    Mikrokontrolery ARM   25 Lut 2012 10:39 Odpowiedzi: 26    Wyświetleń: 4507
  • Jak działają przerwania? Problem z kodem.

    Czyli gdyby sobie tak to wyobrazic, to ten delay(100) jest "poszatkowany" przerwaniami, w ciagu jego trwania wystepuje mnostwo przerwan zapalajacych diode i stad efekt migania, dobrze rozumiem? Delay wielokrotnie może zostać przerwany przez przerwania. Czy oraz ile razy w Twoim przypadku jest przerywany można byłoby policzyć znając Twój aktualny program.

    Mikrokontrolery AVR   17 Lis 2016 18:53 Odpowiedzi: 34    Wyświetleń: 2235
  • Timer0 i przerwania – czy licznik działa podczas obsługi przerwania? Jak to działa?

    A jeśli w programie głównym akurat wykonuje się _delay - program jest wstrzymany - i nastąpi zgłoszenie przerwania to czy delay jest "urywany" w momęcie wystąpienia zgłoszenia przerwania przez timer i wykonuje się procedura przerwania, a gdy ta się skoczy to program wróci "dokończyć" delaya? Czy rozgrywa się to w inny sposób?

    Mikrokontrolery   22 Lis 2013 23:32 Odpowiedzi: 11    Wyświetleń: 2091
  • [mega8] Atmega8-16PU: Dioda miga zamiast reagować na przerwanie INT1

    NIGDY nie używaj opóźnień w przerwaniach bo tym zabijesz sobie resztę programu. Chciałem uniknąć drgania styków. Jak temu zapobiec nie używając delay? INT0 ma wyższy priorytet niż INT1 więc gdyby w INT0 miało dojść do przerwania, to doszło by do niego nawet gdyby właśnie wykonywany był delay z przerwania INT1, prawda?

    Mikrokontrolery   09 Maj 2011 14:25 Odpowiedzi: 8    Wyświetleń: 1812
  • Odmierzanie nanosekund na ARM przy użyciu timerów STM

    Filozofujesz o czymś co dalej ma mały sens, a przy okazji mylisz się (zresztą tak samo jak Piotrus_999). Funkcja będzie niedokładna tylko i wyłącznie wtedy, jeśli przed końcem odliczania nastąpi przerwanie (jedno), które będzie trwało dłużej niż czas który pozostał do końca tego delaya. Po prostu delay nie ma możliwości się skończyć, bo... rdzeń jest...

    Mikrokontrolery ARM   13 Mar 2018 22:51 Odpowiedzi: 62    Wyświetleń: 3708
  • LPC1343 - z jaką predkośćią pracuje i opóźnienia

    (at)Gunis-92: Możesz wykorzystać do odmierzania czasu np. SysTick [syntax=c] volatile uint32_t licznik_tykniec;// zmienna globalna /* obsluga przerwania od licznika/timera SysTick */ void SysTick_Handler(void) { licznik_tykniec++;// inkrementacja licznika } void delay(uint32_t czas) { uint32_t aktaualny_licznik_tykniec; aktaualny_licznik_tykniec = licznik_tykniec;...

    Mikrokontrolery   27 Sty 2015 13:44 Odpowiedzi: 12    Wyświetleń: 1233
  • STM32 NUCLEO-F446RE - problem z zapalaniem i gaszeniem diody LED na PA5

    W kodzie jest jedno Delay :) wykorzystane tylko do celu eksperymentu bazujące na przerwaniu Systicka. Niestety po wpisaniu: GPIOA->BSRR = 1 << 5; //set bit Delay(1000); GPIOA->BSRR = 1 << 21; //reset bit układ zachowuje się podobnie jak pisałem wcześniej albo dioda cały czas świeci, a po zamianie linijek jest gaszona. A czego spodziewasz...

    Mikrokontrolery ARM   04 Gru 2016 18:27 Odpowiedzi: 17    Wyświetleń: 1293
  • [F0 uSart] Dlaczego wymagany delay po wysłaniu danych i wyłączanie CLK?

    Z początku wydawało mi się trochę nadmiarowe patrząc po cyklach CPU wskakując w przerwanie co przesłany bajt, dlatego wolałem sprawdzać czy już się wysłało w pętli Jeśli będziesz wysyłał dane odpowiednio szybko, to przerwanie od TC będzie tylko jedno - na samym końcu. Jeśli użyjesz DMA, to właśnie tak będzie, jeśli nie, to tak czy iak co bajt będziesz...

    Mikrokontrolery ARM   21 Kwi 2018 07:05 Odpowiedzi: 8    Wyświetleń: 636
  • [atmega32] - RTC, przerwania Timer2, maksymalna częstotliwość 32768Hz

    Wykonuje się 16384 razy, ale jak wywołam jednorazowo inne przerwanie i w nim dam jakiś delay (wiem, że tak się nie robi) to częstotliwość spada do 8192Hz. Ktoś zna przyczynę dlaczego tak jest? Nie podajesz jaki delay taki efekt generuje. Zapewne jest tak, że przerwania gubione są przez fakt, iż flaga przerwań nie jest buforowana. Jeśli więc wystąpi...

    Mikrokontrolery AVR   03 Sty 2015 01:33 Odpowiedzi: 19    Wyświetleń: 1344
  • Arduino: Jak zaimplementować wielozadaniowość z leOS 2?

    Na Mega328 z KB RAM uruchamianie OS nie bardzo ma sens. Zrób wielowątkowość opierając cały program o maszynę stanów. Zapomnij, że istniej delay. Owszem, krótkich delay (mikrosekundy) w AVR przeważnie nie da się przeskoczyć ale nie zawsze. Na 1-Wire, można obsłużyć USARTem. Nie ma żadnych delay i 1-Wire działa na przerwaniach. Masz więc już pierwszy...

    Arduino   17 Lip 2018 12:05 Odpowiedzi: 5    Wyświetleń: 1509
  • Atmega 8/88P: delay_ms nie działa przy użyciu Timer0 z preskalerem

    Wysyłasz procesor pod przerwanie którego niema. To jak myślisz co biedny procesor ma robi jak tam niema nic. [syntax=c] ISR(TIMER0_COMP_vect) { }[/syntax] To musi być dodane. Resztę zrobi kompilator i przestanie się zawieszać.

    Mikrokontrolery AVR   09 Lut 2019 09:08 Odpowiedzi: 8    Wyświetleń: 498
  • STM32F030 - Jak skonfigurować RTC do wybudzania z trybu STOP co kilka minut?

    Pytasz, w jaki sposówb zrealizować "to" w przerwaniu", tylko nie piszesz nic o tym, czym jest "to" - a to jest klucz do całego problemu. Bez podstawowych informacji o funkcjonalności urządzenia nie da się dokładnie NIC doradzić. Wbrew tem, co napisał kol. mjurczuk, cały kod Twojego programu zapewne powinen mieścić się w przerwaniach. Na pewno nie ma...

    Mikrokontrolery ARM   08 Wrz 2014 20:28 Odpowiedzi: 5    Wyświetleń: 1590
  • Raspberry Pi, Arduino i "Volumio" załączenie i wyłączenie.

    Spróbuj w programie użyć przerwań dla przycisku. Teraz program działa już tak jak powinien, pętla działa bez delaya dlatego co obieg pętli wyświetlacz się odświeża. Żeby pisać na wyświetlaczu po wciśnięciu przycisku musisz tekst dodać w warunkach przycisku a nie w głównej pętli.

    Raspberry Pi i inne SBC   11 Cze 2020 21:13 Odpowiedzi: 4    Wyświetleń: 1746
  • LPC1768 - Jak precyzyjnie zrealizować opóźnienie 1 ms w mruganiu diodą?

    Podaję ładniejszą formę obsługi opóźnienia na SysTick: [syntax=c] #include "LPC17xx.h" #include "lpc17xx_gpio.h" volatile uint32_t licznik_tykniec; /* obsluga przerwania od licznika/timera SysTick */ void SysTick_Handler(void) { licznik_tykniec++;// inkrementacja licznika } void delay(uint32_t czas) { uint32_t aktaualny_licznik_tykniec; aktaualny_licznik_tykniec...

    Mikrokontrolery Początkujący   06 Cze 2014 20:05 Odpowiedzi: 13    Wyświetleń: 1566
  • STM32F042 - HardFault przy wywołaniu VL53L1X_StopRanging

    (at)szelus Wiekszość startupów ma ten sam adres obłsugi tych wyjątków. Dlatego nazwą się nie sugeruj o ile nie zostały napisane ich handlery Nie wiem jak za bardzo działa "Instrution Stepping Mode", Nie. Normalnie wykonuje to na uC Macie pomysł co może być winą albo jak dojść do problemu? 1. Jeżeli masz zainstalowany Atolloc albo CubeIDE to znajdź...

    Mikrokontrolery ARM   02 Gru 2019 23:29 Odpowiedzi: 4    Wyświetleń: 468
  • Zmiana wypełnienia i częstotliwości sygnału PWM w Attiny13 - jak?

    #define F_CPU 1000000 Jak uzyskałeś częstotliwość 1MHz? ATTINY13 ma wewnętrzny RC=9.6MHz. Po podziale przez 8 daje 1.2MHz. Bez zewnętrznego sygnału albo grzebania w OSCCAL ciężko jest uzyskać 1MHz. Tak na marginesie to częstotliwość powinno się definiować w ustawieniach projektu. Dodatkowo delay w pętli głównej przerywanej przerwaniami nie będzie wiarygodny....

    Mikrokontrolery AVR   20 Sie 2019 16:37 Odpowiedzi: 9    Wyświetleń: 1488
  • atmega162 - break, ustawianie flagi przyciskiem, i inne pytania

    Nie do końca tak, obsługa przerwań powinna być możliwie krótka, ale realizować założone zadanie. Same ustawienie flagi i pooling w main jest tak samo złym podejściem jak delay w przerwaniu. Ale nie komplikujmy :) Jeśli masz odliczać co 1 sekundę, to dlaczego po prostu przerwanie timera nie zrobisz co sekundę, przy każdym przerwaniu dekrementujesz licznik...

    Mikrokontrolery Początkujący   08 Wrz 2013 10:16 Odpowiedzi: 6    Wyświetleń: 1563
  • Attiny 2313A, C - Sterowanie fazowe nie działa na liczniku, tylko na delay'ach

    Ja nie próbuję zbudować kompletnego kitu AVT 2623 tylko wykorzystać moduł sterujący w innym układzie stąd inne wyprowadzenia. Póki co zmontowałem sobie pełen układ wykonawczy oraz na płytce prototypowej elementy sterujące. W moim układzie informacja o przejściu przez 0 jest na PD2 (tak jak w oryginale) natomiast wyjście sterujące jest na PB0. Jeśli...

    Mikrokontrolery AVR   24 Wrz 2015 12:34 Odpowiedzi: 10    Wyświetleń: 1074
  • AVR-GCC: Program nie działa po przerwaniu - co może być przyczyną?

    Jak na mój gust to ty nie wychodzisz z obsługi przerwań. W przerwaniu masz "delayms(DS18B20_TCONV_12BIT);" (to jest pewnie 750ms...) jeżeli przerwanie się wywołuje częściej niż co 750ms (+ew czas na obsługę LCD itd.) to w praktyce procesor działa tak: 1.uruchamia się w main(); 2.... 3.Włączenie przerwania sei(); 4.Wywołanie przerwania 5.Długo trwa przerwanie......

    Programowanie   06 Maj 2008 21:43 Odpowiedzi: 6    Wyświetleń: 2828
  • Zliczanie impulsów w przerwaniach - Arduino, błędne wartości impulsów

    kompilator nie zgłaszał zastrzeżeń, ale poprawiłem i bez zmian. Dałem zaraz za NoInterrupts delay 50 a nawet 250, ale często zlicza podwójnie, potrójnie, tak, jakby nie zdążył wyłączyć przerwań. Bez delaya zlicza i po kilkanaście, ale z delay-em również często zbyt dużo. Bardzo bym również prosił o pomoc przy wyjaśnieniu tego zachowania funkcji - czy...

    Arduino   22 Paź 2017 20:28 Odpowiedzi: 21    Wyświetleń: 2709
  • Kod AVR nie wyzwala przerwań zewnętrznych - gdzie jest błąd?

    A dlaczego nie można używać do przerwań elementów "mechanicznych". Ps. ten delay jest po to, aby wyeliminować wpływ drgania styków

    Mikrokontrolery AVR   20 Lut 2019 23:04 Odpowiedzi: 11    Wyświetleń: 687
  • Sens przerwań i straty mocy obliczeniowej przez nie

    ok ok co do testu chciałem sprawdzić czy jak zatrzymam wszystko używając delay to czy przerwanie się nie wykona na szczęście się wykonało co świadczy że zdarzenie czyli zmiana stanu pinu nie jest sprawdzane przez procesor. Dzięki Dodano po 19 Teraz dam taki bardziej praktyczny przykład np kiedy chce pobierać dane szeregowo to zamiast dawać if w pętli...

    Mikrokontrolery Początkujący   25 Gru 2020 12:55 Odpowiedzi: 22    Wyświetleń: 1281
  • Arduino Leonardo - jak opóźnić silnik bez użycia delay()?

    W przykładzie Blink są używane przerwania właśnie na potrzeby procedury delay() do odmierzania czasu. Domyślnie w Arduino przerwania są włączone. Zostaw przerwania w spokoju (nie wyłączaj ich). Jak ma działać Twój program, co chcesz uzyskać?

    Arduino   06 Mar 2015 19:32 Odpowiedzi: 30    Wyświetleń: 4113
  • Czy mogę użyć zmiennej x jako argumentu w funkcji delay_ms()?

    Może masz jakiś lepszy pomysł kolego jak zrealizować takie zadanie nie używając funkcji dealy? :) To sposób wybrałeś. Dobrze sie domyślałem. Akurat robię coś takiego i akurat teraz na AVR. Uruchomiłem przerwania od obu zboczy na wejściu INT. Do wejścia tego podłączony jest układ wykrywania zera. Przerwanie to zeruje timer 1. Do OCR1A wpisuję wartość...

    Arduino   22 Maj 2018 16:37 Odpowiedzi: 17    Wyświetleń: 927
  • Jak poprawić kod Arduino UNO PLUS dla LED, czujników i przycisku?

    W najprostszej postaci, która w tym przypadku wystarczy to dwa warunki i niezalecany delay Taka sekwencja nie może zostać użyta wewnątrz obsługi przerwania, ponieważ wtedy licznik delay() jest zablokowany i obsługa się zawiesi. A czy ja gdzieś napisałem aby używac tego w przerwaniu?

    Arduino   03 Cze 2020 08:06 Odpowiedzi: 48    Wyświetleń: 2391
  • [STM32] Jak zaimplementować delay_us i delay_ms na STM32 z taktowaniem 72 MHz?

    Jeżeli nie potrzebujesz dokładnych opóźnień a takich Π•oko, to IMHO delay na pętlach w zupełności wystarczy. Timerów w stm32 niby wiele...ale prawie zawsze, w większych aplikacjach znajdzie się szczytniejsze dla nich zastosowanie. Z drugiej strony stosowanie pętli opóźniających na ARM-ach trąci profanacją :) Jeżeli nie interesuje Cie korzystanie...

    Mikrokontrolery ARM   08 Kwi 2010 08:27 Odpowiedzi: 13    Wyświetleń: 14789
  • ATmega16 [C] - Samowolne odpalanie przerwania po mrugnięciu kontaktem etc.

    Kilka uwag: - korzystaj z funkcji i rozbijaj program na funkcje. Niektórzy twierdzą, że jeśli blok ma więcej niż 10 instrukcji to należy go wyrzucić do funkcji. Moze to przesada, ale ułatwia czytanie kodu. - nie zostawiaj niewykorzystanych pinów jako wejścia w układzie - łapią zakłócenia, co w centralce alarmowej nie jest zalecane. - wewnętrzny pull...

    Mikrokontrolery   22 Sie 2013 21:38 Odpowiedzi: 9    Wyświetleń: 1653
  • Czy przerwanie jest "przechowywane"? Uszkodzona Atmega?

    Idzmy głównym wątkiem bez cofania sie. Tak, uaktywnia ale już wiem, ze było ono przechowywane w SREG. To jest wyjaśnione. W SREG przechowywana jest informacja o fladze I, czyli fakt włączenia lub wyłączenia przerwań globalnych. Nie ma to nic wspólnego z "przechowywaniem" informacji o przerwaniach INTx. Instrukcjami operującymi na fladze I w SREG są:...

    Mikrokontrolery AVR   06 Sie 2019 15:46 Odpowiedzi: 21    Wyświetleń: 1149
  • [ATMEGA8/16][C] - Projekt sterownika nastawnika z wyświetlaniem stanu

    Zacznij od przerwania timera i wszystko rób w obsłudze tego przerwania. żadnych "delay" i żadnych czynności w pętli głównej (ma być pusta, tylko z usypianiem procesora). Na dobry początek masz coś o przyciskach: http://mikrokontrolery.blogspot.com/2011...

    Mikrokontrolery Początkujący   02 Lis 2013 11:24 Odpowiedzi: 19    Wyświetleń: 2913
  • Jak odfiltrować zakłócenia na odbiorniku 433MHz z pilotem do gniazdek?

    delaye w przerwaniach .... Uuuueeeee, kto tak pisze, trudno powiedzieć jak to się w ogóle zachowa

    Mikrokontrolery   10 Lip 2016 01:04 Odpowiedzi: 24    Wyświetleń: 2757
  • [Arduino][ATMega8L] Sterowanie RS485 i tworzenie programu z MiniCore - pytania i pomysły

    Do RS485 są biblioteki, może lepiej to zadziała. Nadawanie w Arduino jest na przerwaniach, wysyłasz napis do bufora i funkcja Serial.print się kończy, w tle uruchamia się funkcja do faktycznego wysyłania w przerwaniach i nadaje znak po znaku, ale ty przełączasz na odbiór, więc nie wysyła. Pierwszy wysyła bo masz delay 500. Po wysłaniu tekstu możesz...

    Arduino   29 Mar 2023 19:18 Odpowiedzi: 2    Wyświetleń: 261
  • [ATMEGA8] [ATMEGA8][C] Reset mikrokontrolera zamiast obsługi przerwania INT1

    Witam! Napotkałem problem przy obsłudze przerwań zewnętrznych (jestem początkujący). Oto mój programik: volatile int przerwanie=0; ISR(INT1_vect) { przerwanie=1; } int main() { LCD_Initalize(); LCD_WriteText("START")... _delay_ms(1500); DDRD &= ~(1<<DDD3); //pin PD3 jako...

    Mikrokontrolery AVR   30 Gru 2010 23:13 Odpowiedzi: 54    Wyświetleń: 6054
  • [ATMEGA32A] [ATMEGA32A][C] Nieprawidłowe opóźnienia _delay_ms() przy zewnętrznym oscylatorze

    A msza włączone przerwania ? Pamiętaj że przerwania na pewno wydłużą czas. Pamiętaj również że to nie jest precyzyjne odmierzenie czasu tylko szacunkowe. Sprawdź również opcje optymalizacji jak są ustawione. Włączenie optymalizacji mocno !!!! skróci delaya . Pozdrawiam

    Mikrokontrolery AVR   25 Cze 2010 15:26 Odpowiedzi: 13    Wyświetleń: 1311
  • Wprowadzanie zmian w parametrach sterujących wentylatorem za pomocą EEPROM i USART na Attiny 13

    Przede wszystkim masz błędną koncepcję obsługi UART - przenieś to na przerwania. Tak jak masz to teraz, z delay w pętli głównej to będzie działać tylko przez przypadek i okresowo. Po drugie, jeśli w funkcji odbioru znaku czekasz w nieskończoność na jakiś stan to nic dziwnego, że ci to blokuje pętlę główną. Moja rada - podepnij rxd pod pin z przerwaniem,...

    Mikrokontrolery AVR   17 Sty 2022 19:34 Odpowiedzi: 39    Wyświetleń: 1383
  • Opóźnienia w C na AVR: funkcje delay vs timery, co lepsze?

    Zmienną używaną w przerwaniu deklaruje się jako volatile (wykluczona z optymalizacji), inaczej będzie cyrk... volatile unsigned char licznik Ładniej by to wyglądało scalone... tzn... void czekaj(void) { licznik = 30; TCCR0 = 0x05; do{}while(licznik); } ISR(TIMER0_OVF_VECT) { licznik--; TCCR0 = 0; //wypadałoby...

    Mikrokontrolery   09 Sie 2007 23:08 Odpowiedzi: 8    Wyświetleń: 1320
  • [STM32] Wysyłanie danych przez interfejs USB za pomocą biblioteki ST

    Zrób to bez delay() a będzie dobrze ;-) Ja, wpisuję dane wtedy gdy host odbierze poprzednie. Sygnalizuje to przerwaniem lub flagą. Albert

    Mikrokontrolery ARM   24 Lis 2024 21:50 Odpowiedzi: 8    Wyświetleń: 3036