stm32 blokowanie przerwania

Znaleziono około 64 wyników dla: stm32 blokowanie przerwania
  • [STM32] Czy memcpy w STM32 blokuje przerwania timera przy kopiowaniu?

    ale teraz się zastanawiam (stąd ten post ) czy goście z CodeSourcery nie zrobili tego memcpy na DMA, bo czas kopiowania jest bardzo krótki. Nie zrobili, nie wszystkie uC maja DMA, poza tym kompilator nie ingeruje w żadne peryferia.

    Mikrokontrolery ARM   09 Mar 2011 11:36 Odpowiedzi: 6    Wyświetleń: 1939
  • STM32 - obsługa przerwań od UART podczas zapisu do pamięci flash mikrokontrolera

    Witam Czy obsługa przerwań STM32F1 od UARTa nie koliduje z jednoczesnym zapisem do pamięci flash mikrokontrolera (czy podczas zapisu do pamięci flash nie są blokowane przerwania) ?

    Mikrokontrolery ARM   01 Gru 2017 20:41 Odpowiedzi: 19    Wyświetleń: 2136
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [STM32F303][C]Atomic blocks - sekcje krytyczne w STM32

    Nie ma to jak stworzyć sobie problem a potem dziwaczne metody rozwiązania. Trochę programów na Cortexy napisałem, i nigdy nie miałem potrzeby zapamiętywania stanu przerwań przy ich chwilowym blokowaniu, i samo blokowanie bardzo rzadko jest potrzebne. Nie znaczy to oczywiście, że taka potrzeba w ogóle nie występuje, ale poza bebechami RTOS występuje...

    Mikrokontrolery ARM   04 Sty 2020 21:56 Odpowiedzi: 16    Wyświetleń: 1317
  • REKLAMA
  • FreeRTOS STM32 – kiedy zadanie rusza po ustawieniu semafora w przerwaniu?

    1.Tworzysz Mutexa żeby tylko jeden task miał dostęp do interfejsu SPI I2C ... 2. Tworzysz semafor na dany interfejs. 3. Tworzysz driver do obsługi interfejsu, najlepiej z obsługa przerwań od tego interfejsu. 1. Blokujesz dostęp do interfejsu mutexem 2. Zlecasz driverowi co gdzie ma wysłać lub skąd odebrać. Driver w tym czasie blokuje semafor aż do wykonania...

    Mikrokontrolery   14 Cze 2013 07:20 Odpowiedzi: 7    Wyświetleń: 1806
  • REKLAMA
  • [STM32] [STM32][Eclipse] Debugowanie krokowe przerywane przez przerwanie Timera

    W STM32 domyślnie podczas zatrzymania rdzenia timery pracują, więc podczas twojej pracy krokowej zgłaszane są setki kolejnych przerwań. Aby to zwalczyć należy w rejestrze DBGMCU->CR (w manualu DBGMCU_CR) zapalić stosowny bit dotyczący stosownego timera. Niestety nie zawsze jest to możliwe (bo aplikacja może wymagać aby timer naprawdę stale pracował...

    Mikrokontrolery ARM   11 Lip 2011 21:12 Odpowiedzi: 7    Wyświetleń: 3691
  • [STM32] detektor zera sieci + pomiar adc wyzwalany timerem = zła ilość pomiarów

    Po co ci ta sekcja krytyczna w EXTI9_5_IRQHandler ? Czy jeszcze jakies przerwanie korzysta ze zmiennych ktore chcesz chronic ? Jesli jest faktycznie potrzebna )w co watpie) to obliczaj pierwiastek poza nia, skopiuj wynik do zmiennej lokalnej i dopiero w sekcji krytycznej przekopiuj zmienna lokalna do globalnej. Nieliniowe funkcje biblioteczne potrafia...

    Mikrokontrolery ARM   13 Mar 2012 10:51 Odpowiedzi: 18    Wyświetleń: 3532
  • jak połączyć w sieć kilkanaście Raspberry Pi Zero?

    To jest parametr konfiguracyjny systemu - chyba wciąż 1 milisekunda (kiedyś było 10 milisekund). Szukaj w źródłach systemu. A może nałożyć się parę blokad przerwań, będzie dłużej. Na Arduino nie ma systemu, który by blokował przerwania, wszystko jest pod kontrolą programisty, przerwań są po kilka mikrosekund. A STM32 obsłuży parę przerwań w mikrosekundę....

    Raspberry Pi i inne SBC   06 Wrz 2019 14:25 Odpowiedzi: 40    Wyświetleń: 3132
  • REKLAMA
  • [STM32] [STM32][C] Jak zapewnić pełną transmisję danych przez USART z DMA i RS485?

    Zawsze można po przerwaniu DMA odpalić timer i poczekać na jego przerwanie i tam przestawić stan linii, to rozwiązanie ma taką przewagę nad delayem, że nie blokuje programu.

    Mikrokontrolery ARM   10 Lut 2012 03:27 Odpowiedzi: 8    Wyświetleń: 3578
  • [STM32] Page erase i jednoczesna obsługa przerwania

    Musisz też przenieść kod który jest wtedy wykonywany (a więc odczyt flagi BSY) do RAMu, bo przecież dowolny odczyt flasha blokuje rdzeń. Innymi słowy - kod kasowania/programowania też musi być w RAM... 4\/3!!

    Mikrokontrolery   02 Mar 2012 16:12 Odpowiedzi: 8    Wyświetleń: 1692
  • Jak napisać kod GPIO dla STM32 bez użycia bibliotek?

    Idea generalnie jest prosta - jeśli po wystąpieniu przerwania będziesz chciał zrobić coś co trwa "długo", to nie robisz tego w przerwaniu, bo blokujesz tym cały program - wtedy stosujesz polling flagi programowej lub sprzętowej. Jeśli chcesz zrobić coś co trwa "krótko" lub jeśli chcesz zrobić coś co musi być zrobione "natychmiast" po wystąpieniu przerwania...

    Mikrokontrolery ARM   07 Lip 2012 20:42 Odpowiedzi: 188    Wyświetleń: 18585
  • [stm32] [stm32][freeRTOS] - Task LED przestaje migać po szybkim naciśnięciu przycisku

    Dzięki. Dodam, że problem się rozwiązał (task się nie zawiesza) po dodaniu na koniec pętli vButtonTask: [syntax=c]vTaskDelay(500)[/syntax] Niestety nie rozumiem dlaczego to zaczęło działać. Miałem intencję, by to opóźnienie zablokowało ButtonTask na pół sekundy, tak aby przez pół sekundy nie reagował na przycisk (problem pojawiał się przy zbyt częstym...

    Mikrokontrolery ARM   11 Sty 2015 22:37 Odpowiedzi: 4    Wyświetleń: 885
  • [C++11][Cortex-M3/M4] - distortos - obiektowy RTOS dla mikrokontrolerów w C++

    1. Priority mogę ustawić jak chcę? Generalnie tak. Zastosowałem mechanizm znany z innych RTOSów, czyli część priorytetów przerwań (niższych) może korzystać z funkcji systemu, a część priorytetów (wyższych) nie może. Ta druga część nigdy nie jest blokowana, ta pierwsza zaś jest blokowana w czasie większości operacji typu operacje na mutexach, kolejkach,...

    Mikrokontrolery ARM   06 Kwi 2021 08:03 Odpowiedzi: 255    Wyświetleń: 38097
  • [STM32] Jak wygenerować przebieg prostokątny o określonej częstotliwości na STM32?

    przerwanie powinno być z atrybutem ((interrupt)), a próby wpisywania wartości 0xFFFE do rejestru SR nie wydają mi się szczególnie mądre. W końcu rejestr ten ma kilka pól które są "reserved" więc nikt nie wie co robią, a poza tym ST pewnie zapomniało napisać, że jakieś tam bity można jednak pomieszać wpisując do rejestru jedynkę - nic nowego, w produktach...

    Mikrokontrolery ARM   07 Wrz 2010 12:05 Odpowiedzi: 35    Wyświetleń: 9907
  • [STM32] USART4 przerwanie nie działa po zapisie hexa, działa w debugowaniu

    Niebardzo - STM32 jest bardzo bezproblemowy w debuggowaniu, więc nie tutaj szukałbym problemu. Może podczas debuggowania (ze względu na nieco inne "okoliczności") nie wyskakują Ci errory, które w normalnych warunkach się pojawiają i blokują transmisję? Sprawdź, czy nie są poustawiane flagi od błędów w rejestrach SR. 4\/3!!

    Mikrokontrolery ARM   18 Paź 2010 21:01 Odpowiedzi: 7    Wyświetleń: 3195
  • REKLAMA
  • [STM32][C] - Poradnik dla początkujących (bez bibliotek)

    Z Erraty: "po wejściu do handlera wyjątku (np. ISR) wyjątki (w szczególności przerwania) nie są blokowane jak w AVR" No to akurat nie jest prawdą. Przerwania blokowane dokładnie tak samo, jak w AVR, czyli blokowane przerwania o priorytetach nie wyższych niż bieżący. AVR ma tylko dwa poziomy priorytetowe (wątku i przerwania), więc wszystkie przerwania...

    Mikrokontrolery ARM   15 Maj 2021 12:57 Odpowiedzi: 135    Wyświetleń: 92544
  • STM32 - I2C na przerwaniach: czy trzeba kasować bit ADDR?

    Następnie Ty zerujesz bit ACK i bit Stop powodując zawieszenie się magistrali. Ogarnij się.... Czyli ten fragment kodu jest błędny ? Jest w 100% poprawny.... Tak naprawdę jest to żądanie STOPU a nie jego wygenerowanie. Przed tym warunkiem ostatniego bajtu masz odczyt z DR oznacza to, że JUŻ TRWA odbiór ostatniego bajtu, po którym zostanie wygenerowany...

    Mikrokontrolery ARM   22 Mar 2017 08:19 Odpowiedzi: 85    Wyświetleń: 5304
  • [STM32][C] FreeRTOS i wektor przerwania SysTick_Handler

    SysTimer jest wykorzystywany w FreeRTOS jako zegar systemowy. Ale jeżeli potrzebujesz timera(dla zliczania czasu będącego wielokrotnością zegara systemowego) dla jakiejs innej biblioteki możesz wykorzystać vApplicationTickHook(), gdy tylko masz symbol configUSE_TICK_HOOK zdefiniowany na 1 (plik FreeRTOSConfig.h). Funkcja ta jest wywoływana w przerwaniu...

    Mikrokontrolery ARM   20 Lis 2010 12:45 Odpowiedzi: 1    Wyświetleń: 2136
  • Eclipse STM32 Error: can''''t add breakpoint: resource not available

    Dzięki Freddie! Po odblokowaniu __USES_CXX i pobraniu syscalls kontenery działają jak należy. Mam jednak jeszcze jedno male pytanko: chcialem użyć standardowej kolejki FIFO (std::queue) do której w main-e wrzucam jakaś wartość natomiast w przerwaniu ta wartość odczytuje. W którymś ze swoich postów pisałeś ze dynamiczna alokacja pamięci w przerwaniach...

    Mikrokontrolery ARM   27 Cze 2019 12:08 Odpowiedzi: 5    Wyświetleń: 912
  • [STM32F103][keil][C] nieznany atrybut przerwania SysTick

    Tzn. nie atomowe było by przepisywanie po jednym bicie, a nie sama pojedyncza operacja "BITBAND(&GPIOA->ODR, 5) ^= 1;" ? Najpierw musi odcztać ten bit, potem zxorować a następnie zapisać. Pomimo tego że zapisałeś to w C w jednej operacji nie oznacza to że tak to będzie zrealizowane w programie. Czyli operacja or, z bit bandingiem: "BITBAND(&GPIOA->ODR,...

    Mikrokontrolery ARM   30 Gru 2017 10:38 Odpowiedzi: 63    Wyświetleń: 2439
  • STM32F051K8T6 - ADC zakłóca obliczanie wariancji częstotliwości

    Witam, walczę z mikrokontrolerem STM32F051K8T6. Urządzonko, które buduję, to system mierzący odległość na podstawie odstrojenia generatora LC - zbieram częstotliwość i amplitudę. Częstotliwość jest mierzona przez TIM2, na który wchodzą impulsy, a TIM6 co 20ms odczytuje jego zawartość i zeruje. Amplituda - wiadomo, przetwornik A/C. Z tablicy 50 próbek...

    Mikrokontrolery ARM   21 Mar 2016 12:58 Odpowiedzi: 2    Wyświetleń: 939
  • [ARM/STM32] [ARM/STM32][GCC] memcpy czy DMA w FreeRTOS dla kopiowania 15 bajtów?

    Witam, Panowie, konkretne pytanie: Czy opłaca się stosować kopiowanie pamięci przy użyciu DMA zamiast memcpy? System jest wielowątkowy na FreeRTOS. Mam bardzo dużo kopiowania pamięci średnio po 15 bajtów. Wątek mógłby wstrzymać pracę i czekać na semafor z przerwania. Czy to sie jednak opłaca wydajnościowo? Przy okazji: Czy da się zmusić kompilator,...

    Mikrokontrolery ARM   05 Paź 2011 13:53 Odpowiedzi: 13    Wyświetleń: 3702
  • [STM32] Problemy z wykrywaniem USB w F1 i F4 - jak ustabilizować?

    Nie trzeba ich wcale wywoływać z przerwania. Wystarczy wszystkie funkcje USB wywoływać z bloku kodu w którym jest zablokowane przerwanie od USB (albo zmodyfikować te funkcje tak aby blokowały przerwanie na czas swojego wykonania). Problem w istocie teoretycznie występuje, niemniej jednak nie jest aż tak dramatyczny jak to maluje BlueDraco - jeśli byś...

    Mikrokontrolery ARM   28 Mar 2020 17:40 Odpowiedzi: 10    Wyświetleń: 1380
  • Różnice między zdarzeniami a przerwaniami w STM32F103

    Mogę lekko odskoczyć od tematu i zapytać o przerwania ogólnie? Tak sobie czytam i czytam na ten temat i coraz mniej rozumiem. Mamy np przerwanie od Timera np przepełnienie, musimy je ustawić, odblokować. Ale dlaczego jest jest jeszcze NVIC? Tu tez trzeba odblokować przerwanie. Rozumiem że NVIC odpowiada za priorytety przerwań, ale dlaczego za ich blokowanie...

    Mikrokontrolery ARM   18 Mar 2016 12:32 Odpowiedzi: 51    Wyświetleń: 4734
  • [stm32] Jak generować paczki 300 impulsów 20-30kHz bez blokowania CPU?

    Mam problem z generowaniem paczek impulsów o częstotliwości około 20-30kHz. Potrzebuje np. wygenerować dokładnie 300 impulsów w takiej paczce. Ocz nie mogę blokować procesora, bo w tym czasie dzieje się dużo innych rzeczy. Jedyne co przychodzi mi do głowy to połączenie dwóch timerów, gdzie jeden wyznaczy dokładny czas ile ten drugi będzie generował...

    Mikrokontrolery ARM   28 Gru 2011 08:26 Odpowiedzi: 1    Wyświetleń: 1248
  • [STM32] STM32: Usypianie i wybudzanie procesora przy konwersji ADC - sleep-on-exit

    Mam przerwanie od odbioru po UARCIE, w którym mam instrukcje NVIC_SystemLPConfig(NVIC_LP_SLEEPONEXIT, ENABLE) i ta instrukcją usypiam procesor (wiem że się usypia, ponieważ w pętli głównej migam diodą, która przestaje migać). Faktem jest to, że przerwanie o wyższym priorytecie budzi procesor, w przerwaniu które budzi procesor, należy użyć jeszcze instrukcji...

    Mikrokontrolery ARM   06 Kwi 2010 11:58 Odpowiedzi: 5    Wyświetleń: 3427
  • STM32F103RB RS485 - Problem z przesunięciem danych i brakiem echa USART

    Poprawiłem kod: [syntax=cpp] void USART1_IRQHandler(void) { if(USART_GetITStatus(USART1,USART_IT_RXN... sie gdy bufor odbiorczy nie jest pusty { RxBuf[i++] = USART_ReceiveData(USART1); if(i>7){ //USART1->CR1&=~(1<<2);// Odbiornik wylaczony USART1->CR1&=~(1<<5);//blok... przerwania odbioru i=0; j=0; for(l=0;l<=7;l++)...

    Mikrokontrolery Początkujący   14 Maj 2014 19:14 Odpowiedzi: 38    Wyświetleń: 4725
  • [STM32] - Jak ponownie uruchomić DMA mem to mem bez pełnej inicjalizacji?

    Z przerwaniami chodzi o to, że przy kopiowaniu nie blokujesz w ogóle procesora pętlą while, tylko robisz sobie coś innego i czekasz na przerwanie, żeby obsłużyć zdarzenie końca kopiowania bufora. Co do kopiowania tylko raz - wtedy w takim przerwaniu blokujesz kanał, a jak chcesz kopiować znowu, to gdzieś go sobie odblokowujesz. DMA nie kasuje rejestrów...

    Mikrokontrolery ARM   29 Kwi 2014 08:49 Odpowiedzi: 24    Wyświetleń: 2736
  • Jak zaimplementować Enter_Critical_Section w FreeModbus na STM32?

    Witam Przymierzam się do portowania FreeModbus na STM32 i mam kilka problemów wynikających z wymagań. Platform specifics (port.h) You should first check the file port.h and check the if the examples are already suitable for your platform. You must at least define the macros for enabling ENTER_CRITICAL_SECTION and disabling EXIT_CRITICAL_SECTION interrupts....

    Mikrokontrolery ARM   26 Cze 2017 13:11 Odpowiedzi: 10    Wyświetleń: 4227
  • [FreeRtos] FreeRTOS: Jak obsłużyć przerwanie do sterowania diodą po naciśnięciu przycisku?

    Może naprostuje o co mi chodziło z tym semaforem. Otóż na porcie stm32(nie wiem jak inne) gdy utworzymy semafor(SemaphoreCreateBinary) to pierwsze wywołanie SemaphoreTake zwraca pdTRUE. Czyli semafor jest odrazu ustawiony, nawet jeżeli w kodzie nie została wywołana funkcja SemaphoreGive. Ominąć to można w prosty sposób, mianowicie odrazu po utworzeniu...

    Mikrokontrolery   08 Cze 2010 23:04 Odpowiedzi: 22    Wyświetleń: 4023
  • [stm32] [stm32][FreeRTOS] - Jak ustalić priorytety zadań vTaskLCD i vSenderLCD?

    Jak w xQueueSend ustawisz xTicksToWait na 0 oznacza to tylko, że funkcja nie będzie blokowała tego zadania. W twoim przypadku funkcja xQueueSend może zwrócić pdFALSE w przypadku jak kolejka będzie zapełniona. Jak dasz xTicksToWait portMAX_DELAY to masz pewność że się wyśle. Oczywiście nie będziesz miał tego problemu gdy zadanie od LCD będzie miało wyższy...

    Mikrokontrolery ARM   16 Sty 2014 20:19 Odpowiedzi: 18    Wyświetleń: 2808
  • [STM32][TrueStudio] Określenie statusu urządzenia USB/CDC

    No to się nie zrozumieliśmy! Wydawało mi się że chodzi ci o fizyczne-namacalne linie, których w VCP brak! Wiele aplikacji USB-CDC funkcjonuje jako konwertery gdzie są. Oj ! :) A tak na marginesie!. Czy napisałem że "olewam" przerwania? Gdybym je ignorował to akurat nie byłoby problemów z lagowaniem main. Core USB (od ST) jest nietknięty i nikt mu niczego...

    Mikrokontrolery ARM   24 Kwi 2012 23:01 Odpowiedzi: 8    Wyświetleń: 2422
  • Nucleo F103RB: Przerwanie timera nie zmienia napisu na wyświetlaczu 16x2

    Witam! Raczkuje z stm32 i próbuje ustawić przerwanie od przycisku, które da jakiś efekt na wyświetlaczu 16x2 (np zmieni napis kiedy przycisk będzie przyciśnięty). Ustawiłem przerwanie od timera reagujące na stan wysoki i niski portu PB1 (TIM3_CH4) i port PD2, do którego podpiąłem diodę led, która miała by gasnąć i zapalać się po naciśnięciu lub puszczeniu...

    Mikrokontrolery Początkujący   18 Lip 2018 16:44 Odpowiedzi: 13    Wyświetleń: 711
  • stm32 - freeRTOS: Odczyt z karty SD/MMC, stos i zmienne lokalne

    A zająłeś najpierw semafor ? xSemaphoreTakeFromISR. Nie możesz zwolnić semafora jeśli go wcześniej nie zajmiesz. Niby oczywiste, ale z postu, który napisałeś wnioskuję dziwne rzeczy Semafor jest zajmowany dwa razy. Raz po stworzeniu bez blokowania, drugi raz w miejscu gdzie wątek ma czekać na przerwanie. Dla STM32 configPRIO_BITS jest równe 4. U siebie...

    Mikrokontrolery   31 Lip 2012 13:14 Odpowiedzi: 21    Wyświetleń: 3378
  • [STM32] USART1: Niepoprawne działanie przerwania odbioru danych

    Jeśli o odbieranie chodzi to już znalazłem winnego. W tle cały czas chodzi ADC. Jest puszczone na kanale DMA ale jak widać nie przeszkadza mu to w blokowaniu procesora. Jutro się pobawię z tym fantem. Nadal jednak nie wiem o cho chodzi z wysyłaniem. Ok, wysyłanie też naprawione, tylko w bardzo brzydki sposób. Dodałem po utworzeniu ramki for(i =...

    Mikrokontrolery ARM   06 Sty 2010 15:31 Odpowiedzi: 4    Wyświetleń: 1464
  • [STM32L0][C++][SPI] przerwanie od RX i overrun w trybie master

    IMO implementacje SPI na przerwaniach w przypadku SPI mają zerowy sens (jedynie jeżeli mamy problem z ilością RAM i liczymy każdy bajt ale wtedy można - a raczej trzeba się pogodzić z dużymi dziurami między paczkami). DMA w przypadku SPI jest dość łatwe do implementacji bo ilość danych wysłanych jest zawsze równa liści danych odebranych. Nie występują...

    Mikrokontrolery ARM   10 Paź 2018 14:03 Odpowiedzi: 4    Wyświetleń: 759
  • [STM32] - jak zmienic w locie polaryzacje wyjscia timer?

    Dzięki za podpowiedź. Ostatecznie rozwiązałem problem nieco inaczej. W przerwaniu TIM7 wpisuję do TIM1->CCR1 wartość większą niż TIM1->ARR więc TIM1->CNT nie ma szans być równy z CCR1 i to wydłuża aktualne zbocze. Jednocześnie odblokowuję przerwanie od UIF dla TIM1 i przy przeładowaniu TIM1 w przerwaniu od UIF ustawiam TIM1->CCR1=0 i blokuję przerwania...

    Mikrokontrolery ARM   21 Paź 2015 22:00 Odpowiedzi: 3    Wyświetleń: 975
  • [STM32/ARM/ogólnie o programowaniu na uC]Wielowątkowość, wielozadaniowość

    Ja się nie boję RTOSa i nie bronie się przed nim. Problemem jest natomiast ten aktualny projekt gdzie na początku wszystko było ok do zrobienia bez RTOSa po czym zmieniły się założenia jak byłem już pod koniec pisania softu i tu pojawił się problem pisać od nowa na RTOS czy stosując jakieś sztuczki starać się to już ogarnąć na tym co mam. (tonący brzytwy...

    Mikrokontrolery   28 Gru 2018 17:32 Odpowiedzi: 35    Wyświetleń: 2052
  • STM32 - jak obsłużyć jednoczesne naciśnięcie dwóch przycisków?

    No to już Tobie odpisałem, nie musisz robić to przerwaniach, odpalasz timer , niech się kręci. Jak rozumiem Tobie jest potrzebne sprawdzenie czy dwa zbocza (narastające albo opadające) są w jakimś przedziale czasu | t_button_1 - t_button_2 | < t , co będzie świadczyło że zostało jakoś wciśnięte jednocześnie. Wystarczą dwie próbki z okresu większego...

    Mikrokontrolery ARM   30 Lip 2012 15:31 Odpowiedzi: 10    Wyświetleń: 2366
  • [STM32F1] Jak napisać bootloader USB dla STM32F103ZET6 bez connectivity line?

    Witam Zastanawiałem się ostatnio czy ktoś już przypadkiem nie wpadł na to, żeby napisać bootloader dla STM32 ale nie connectivity line? Przykładowo taki STM32F103ZET6, nie ma wbudowanego bootloadera który byłby w stanie zgrać program przez usb (chyba, że źle przeczytałem notę katalogową). Generalnie wymyśliłem sobie takie coś. 1. Uruchamiam urządzenie,...

    Mikrokontrolery ARM   13 Lip 2015 16:41 Odpowiedzi: 7    Wyświetleń: 3207
  • stm32f107 eclipse - plik wynikowy o zerowej pojemności

    Po pierwsze dziękuję wszystkim za pomoc. Działa, poniżej opisze jak do tego doszło:) Na początku dodałem: OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm"); OUTPUT_ARCH(arm); ENTRY(Reset_Handler); Plik hex sie tworzył i stm32 st-link utility się tym razem nie pluł że coś mu nie gra, ale w gruncie rzeczy ten plik nic nie zawierał. Potem...

    Mikrokontrolery   22 Kwi 2015 14:36 Odpowiedzi: 9    Wyświetleń: 1314
  • STM32F0x UART RS232 - problem z buforem w kodzie obsługi transmisji uK=>PC

    Klepnąłęm kawałek kodu na STM32F0x dla obsługi transmisji uK=>PC. Jednak pojawił się dziwny objaw. Może ja nie widzę błędu.... Warto aby ktoś zerknął w ten kod: #define TBUF_SIZE_UART2 128 struct uart2_tx_buf_st { u16_t in; /* indeks zapisu */ u16_t out; /* indeks odczytu */ u16_t dat; /* licznik danych w buforze */ char buf [TBUF_SIZE_UART2];...

    Mikrokontrolery ARM   26 Lut 2016 18:00 Odpowiedzi: 17    Wyświetleń: 1428
  • STM32 - USB przesiadka z uvision

    Hm w cubie pewnie jest, ale jakoś nie jestem w stanie tego przezwyciężyć. Poziomy abstrakcji są fajne ale zupełnie niepotrzebnie pożerają zasoby uC. Moje urządzenie z kodem keila oczywiście odnajduje USB natomiast ten sam kod "przystosowany" (zmiany polegały głównie na dopasowaniu do standardu gcc) na atollicu ten kod nie działa. Czy oby tylko linker...

    Mikrokontrolery ARM   07 Mar 2016 16:41 Odpowiedzi: 12    Wyświetleń: 1518
  • [stm32] USART, bit IDLE i sprzętowa kontrola przepływu

    Witam, Od pewnego czasu piszę moduł do komunikacji przez usarty, które łączą ze sobą dwa procesory (103ret6 i 103rbt6, co jednak nie ma znaczenia), połączenie pełne (tx->rx, rts->cts). Ze względu na możliwość występowania wielu innych przerwań oraz przy wymogu dużej przepływności przez usart zmuszony byłem zastosować komunikację z użyciem DMA, ale jednocześnie...

    Mikrokontrolery   09 Paź 2010 11:34 Odpowiedzi: 2    Wyświetleń: 2668
  • [FreeRTOS] Wstrzymywanie zadania jeżeli nie ma nic w kolejce

    STM32 + FreeRTOS 7.1.0 + IRQ Siedze już dłuższą chwilą nad takim czymś. Mam zdefiniowaną kolejkę i zadanie: xQueueReceive definiuje po ilu taktach (czyli ms) zadanie ma przechodzić w stan ZABLOKOWANE. Co bym tam nie wpisał zadanie się nie blokuje i działa. Ilość znaków w kolejce się zgadza - po wyświetleniu ostatniego znaku z kolejki zwraca 0. Próbowałem...

    Mikrokontrolery ARM   27 Lut 2012 13:20 Odpowiedzi: 2    Wyświetleń: 1454
  • 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ń: 3360
  • Ocena projektów PCB: kondensatory odsprzęgające, masa, oscylatory, STM32/PIC32

    Kilka lat temu zaprojektowałem kilka urządzeń wykonanych raczej w pojedynczych sztukach. W tej chwili wracam do tematu i proszę o ocenę tych projektów i ew. sugestie. http://obrazki.elektroda.pl/7199154600_1... http://obrazki.elektroda.pl/6673535000_1... http://obrazki.elektroda.pl/9183671400_1... Generalnie...

    Projektowanie PCB   14 Paź 2016 22:15 Odpowiedzi: 1    Wyświetleń: 1029
  • ADV/7181C/LQFP - Czy 80 megahercowy kontroler ARM Cortex obsłuży dekoder video?

    Jak z dostępnością ADV7280? Kolega Piotrus_999 już napisał ze RPi Zero w sytuacji gdy chcesz użyć MIPI CS2 - taniej niż 5$ z taka ilością RAM nie będzie. Jest w Co do pytań - nie obraz się ale spróbuj przeczytać ze zrozumieniem dokumentacje bo inaczej nie zrobisz tego projektu. Przeczytam na razie staram się rozeznać, pracuję nad tym po 7 godzin dziennie,...

    Arduino   15 Sty 2017 20:27 Odpowiedzi: 52    Wyświetleń: 3336
  • Jaki wybór platformy mikrokontrolerów dla początkującego: AVR C vs Arduino?

    zdania doprowadzają do jedynej IMO słusznej konkluzji w tym wypadku: Arduino. Arduino to ślepa uliczka. W mojej ocenie, Arduino traktuje uC jak Z-8 (CPU + GPIO) czy 8051 gdzie ze sprzętu to głównie proste timery i UART. ZERO wykorzystania sprzętu! Bo co wspierają biblioteki Arduino? UART z malutkim buforem w RAM, I2C to samo. SPI bez bufora, bez przerwań....

    Mikrokontrolery   08 Lut 2020 13:56 Odpowiedzi: 55    Wyświetleń: 2733
  • [STM32F10x][Eclipse][C] - Brak komunikacji przez UART

    Witam. Jestem zupełnie nowy w programowaniu STM32, korzystam z zestawu http://kamami.pl/index.php?ukey=product&... i uczę się według książki weń zawartej. Próbuję nawiązać komunikację między zestawem i komputerem z użyciem flag oraz wymienić przykładowe dane, lecz na razie brak sukcesu. Terminal (korzystam z aplikacji Terminal autorstwa...

    Mikrokontrolery ARM   06 Maj 2013 12:22 Odpowiedzi: 9    Wyświetleń: 2397
  • Ustawianie kilku pinów mikrokontrolera jako jedno słowo - jak to zrobić? [AVR, STM32]

    w jednej atomowej operacji zmienić np z 011 (4) na 100(5). Niedopuszczalne są stany przejściowe 000 czy 111 Bez rozbicia tego na kilka instrukcji niestety się nie da. przecież z punktu widzenia wyjścia ta operacja będzie atomowa: Dopóki w grę nie wejdą przerwania i możliwość niezależnego dostępu do pozostałych bitów portu. Wtedy trzeba to opakować...

    Mikrokontrolery   17 Kwi 2024 22:25 Odpowiedzi: 26    Wyświetleń: 618
  • [STM32] SPI1, kanały DMA: odbiera mniej niż wysyła

    W normalnym świecie SPI działa w ten sposób, że wysyłając jeden bajt, odbiera się jeden. Pisząc pewien ogromny program, używałem powyższego założenia implementując obsługę SPI1 z pomocą kanałów DMA (DMA1_Ch2 i DMA1_Ch3). Jeden kanał używany do transferu bloku z pamięci RAM do SPI1->DR, drugi kanał do transferu w drugą stronę. Wszystko działało bez najmniejszego...

    Mikrokontrolery ARM   24 Paź 2013 08:40 Odpowiedzi: 9    Wyświetleń: 3566
  • STM32 - Zawieszanie się programu przy wysyłaniu danych przez UART

    Nie wiemy nic o typie uC. Jeśli nie jest to Cortex-M4, to zapewne przyczyna kłopotu leży w bezsensownym i niepotrzebnym użyciu typu float. Użycie dwóch przerwań od dwóch timerów też ciut bez sensu, przecież wystarczyłoby w co 20-tym przerwaniu timera od pomiarów inicjować transmisję danych. Czy funkcja HAL_UART_Transmit_IT() jest blokująca? Mam nadzieję,...

    Mikrokontrolery   23 Cze 2017 21:36 Odpowiedzi: 3    Wyświetleń: 1197
  • STM32F4Discovery - STM32F4 + darmowe IDE = zaraz mnie trafi !

    Może więc warto by było napisać co zrobiłeś, że Ci zadziałało, w jakich konkretnych warunkach ten błąd wystąpi (np wersja Windows/Linux, wersja Ecplise) i pomóc innym? Sam walczyłem z Ecplipsem jak jeszcze nie był dla ARMów tak popularny, były z pluginami problemy ale trzeba było je zwalczyć np. zmienić wersje Eplipsa, zainstalować ponownie, poszukać...

    Mikrokontrolery ARM   30 Lip 2014 12:08 Odpowiedzi: 111    Wyświetleń: 15012
  • STM32f1 i DS18B20 - USART czy klasyczna komunikacja 1-wire?

    (at)lehastar A co jeśli w programie występują przerwania? W 1-wire musisz generować impulsy od kilku do kil;kunastu mikrosekund, z łatwością obsługa przerwania może być dłuższa co zrujnuje całą transmisję 1-wire. W dodatku niepotrzebnie blokujesz procesor.

    Mikrokontrolery ARM   13 Lip 2017 11:08 Odpowiedzi: 11    Wyświetleń: 2754
  • STM32F1 + FATFS blokuje wysyłanie danych do wyświetlacza TFT przez SPI po obsłudze SD

    A jaki jest sens obsługiwać tutaj przerwanie w połowie transferu DMA? Wystarczy jedno - po zakończeniu transferu. To nie Arduino, że wystarczy połączyć dwa programy i jakoś będzie działać. Proponuję najpierw zapoznać się z dokumentacją układu i zrozumieć co oznaczają poszczególne funkcje i bity w HAL i RM. Bez tego pozostaje ślepe zgadywanie lub wiara...

    Mikrokontrolery ARM   01 Lis 2020 16:44 Odpowiedzi: 14    Wyświetleń: 951
  • STM32L031 - RTC nie wybudza po wyłączeniu debugowania

    Witam, używam STM32L031 i potrzebuję, aby RTC za pomocą alarmów wybudzało urządzenie o danej porze. W ramach testów jest to co 5 sekund. Nawet dla zabezpieczenia ustawiam dwa alarmy A i B, gdzie B jest 5 sekund dalej. Sprawdzałem kilka rozwiązań: - while w pętli main blokuje program do czasu zmiany flagi w przerwaniu od RTC alarmu - while w pętli czeka...

    Mikrokontrolery ARM   28 Lut 2017 22:13 Odpowiedzi: 2    Wyświetleń: 999
  • [STM32L1][FreeRTOS][GCC] - Hard fault przy włączonej optymalizacji

    Co ciekawe zarówno kod asm jak i wartość rejestrów lr i sp jest taka sama przy -O0 jak i -O1 Sprawdź to jeszcze raz, ponieważ prawdopodobieństwo wygenerowania identycznego kodu dla różnych optymalizacji jest dosyć niskie... Atrybut "__attribute((interrupt))" przy przerwaniu (tym jak i innych) jest zbędny. Czy może to być kwestia przepełnienia stosu?...

    Mikrokontrolery ARM   28 Wrz 2016 07:01 Odpowiedzi: 3    Wyświetleń: 1113
  • FreeRTOS demo na STM32L-Discovery

    Pierwszą rzeczą, jaka mi się pozytywnie rzuciła w oczy, to brak konieczności stosowania debouncingu dla przycisku, co widać w ciele funkcji increment_from_interrupt_PA0 (main.c) oraz funkcji EXTI0_IRQHandler (ISR.c). W procedurze obsługi przerwania od przycisku EXTI0_IRQHandler następuje odblokowanie semafora, pozwalając na wykonanie funkcji increment_from_interrupt_PA0....

    DIY Poczekalnia   22 Lis 2015 21:14 Odpowiedzi: 7    Wyświetleń: 6678
  • STM32L-Discovery - Czy da się na tym zrobić akwizycję danych na kartę SD?

    Ciekawe, że jeszcze niedawno chciałeś próbkować z częstotliwością 100 Hz... I dalej chcę. Szybciej mi nie potrzeba. Zapis na kartę SD nie przeszkadza w próbkowaniu i składowaniu wyników do RAM. w 250 ms możesz na kartę SD zapisać kilka MB danych. Nie wiem, skąd obawy o wydajność. Chodzi o to, że podobno w tym samym czasie procesor nie jest w stanie...

    Mikrokontrolery ARM   26 Maj 2014 15:51 Odpowiedzi: 23    Wyświetleń: 2238
  • [STM32F1] [STM32F1][C] - Usprawnienie komunikacji AT z modułem GSM na STM32F103ZET6

    Dzięki za odpowiedzi! gaskoin wydaje mi się, że sprawdzanie bufora w przerwaniu po odebraniu znaku nie będzie zbyt optymalne bo komunikacja wygląda tak: Zapytanie: AT\r\n Odpowiedź: AT\r\n// Z włączonym echem OK\r\n Więc w trakcie odbierania znak \n pojawia się klika razy przez co będę blokował przerwanie podczas odbierania danych. Teoretycznie echo...

    Mikrokontrolery Początkujący   10 Maj 2014 12:01 Odpowiedzi: 13    Wyświetleń: 2091
  • STM32F1 - Jak skonfigurować BRK w TIM1 do wyłączania wyjść przy przeciążeniu?

    Witam Chcę zrobić regulator obrotów silnika dc. Stopień mocy mam odseparowany optoizolatorami i mam wyprowadzone następujące sygnały : sterowanie każdym z osobna tranzystorem w mostku H i wyjście nadmiarowo-prądowe. Więc zaplanowałem, że wyjścia OC1, OC1N, OC2 i OC2N z timera 1 będą sterować poszczególnymi tranzystorami z uwzględnieniem czasu martwego....

    Mikrokontrolery ARM   20 Maj 2013 19:47 Odpowiedzi: 8    Wyświetleń: 2049
  • Zarządzanie zadaniami w środowisku Arduino (TaskScheduler)

    https://obrazki.elektroda.pl/6710486900_... Każdy, kto zaczyna swoją przygodę z Arduino, zwykle na samym początku staje przed dylematem w jaki sposób prosto i przejrzyście zarządzać zadaniami, które uruchamiane powinny być w określonych i najczęściej różnych interwałach czasowych. Jest to problem tzw. harmonogramowania zadań. W niniejszym...

    Artykuły   30 Lip 2019 20:43 Odpowiedzi: 24    Wyświetleń: 6363
  • Jak obsługiwać przerwania FreeModbus w nowym FreeRTOS na STM32?

    Zachciało mi się FreeRTOS i teraz mam z tym problemy ;) Piszę PORT do FreeMODBUS'a na STM32 działającego pod systemem FreeRTOS. Wszystkie płykłady jakie są nawet pod FreeRTOS'a działają na jego starszej wersji gdzie działają makra przełączania kontekstu: [syntax=c]portENTER_SWITCHING_ISR(); portEXIT_SWITCHING_ISR(); [/syntax] A w nowym FreeRTOS takich...

    Mikrokontrolery ARM   04 Cze 2012 09:30 Odpowiedzi: 0    Wyświetleń: 1084
  • [AT89C51AC2][C] - różne odczyty z ADC w zależności od f.w której wywołano pomiar

    Witam serdecznie, Mikrokontroler: AT89C51AC2; IDE: Keil Kompilator Keil W pracy projektuje soft do badania ilości materiału na blacie maszyny szwalniczej. Bazuje on na mikrokontrolerze AT89C51AC2. Program posiada możliwość uczenia przez operatora. Polega to na tym, że operator naciska przycisk system dokonuje pomiaru na przetwornikach ADC i zapisuje...

    Mikrokontrolery   21 Mar 2013 18:37 Odpowiedzi: 0    Wyświetleń: 1857