stm32 flaga przerwać

Znaleziono około 191 wyników dla: stm32 flaga przerwać
  • [STM32] - STM32F103 - flaga przerwania od USART RXNE

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

    Mikrokontrolery ARM   18 Paź 2015 20:30 Odpowiedzi: 2    Wyświetleń: 1755
  • STM32 - Przerwanie GPIO zlicza podwójnie przy dłuższym przytrzymaniu przycisku

    Zerowanie flagi na końcu przerwania - niedopuszczalne

    Mikrokontrolery Początkujący   28 Sie 2015 20:05 Odpowiedzi: 7    Wyświetleń: 888
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [stm32] STM32 Modbus RTU – brak odpowiedzi czujnika, weryfikacja funkcji CRC16

    Czytając o rejestrach liczników, jedyną taką flagą (którą znalazłem), jest TIMx_SR_UIF, czyli UpdateInterruptFlag. Co prawda nie będę włączał przerwania, ale jest to chyba jedyna flaga którą mogę w tym celu wykorzystać, czy też jest jakaś inna lepsza do tego celu? To jest właśnie flaga która jest Ci potrzebna. 4\/3!!

    Mikrokontrolery ARM   01 Cze 2012 16:15 Odpowiedzi: 13    Wyświetleń: 5962
  • REKLAMA
  • [stm32] [STM32] Dodatkowe przerwania przy obsłudze klawiatury matrycowej - EXTI0 i EXTI2

    Skoro zerujesz ręcznie piny to czego się spodziewasz jeśli nie wyzwolenia przerwania od zbocza opadającego? Moduł EXTI działa niezależnie od tego czy ma włączone przerwania czy nie - jeśli są wyłączone to po prostu nic się nie wywoła, ale flagi zostaną sprawdzone. Jeśli włączysz przerwanie, a flaga była ustawiona, to przerwanie zostanie aktywowane najszybciej...

    Mikrokontrolery   26 Lis 2010 10:47 Odpowiedzi: 4    Wyświetleń: 2925
  • [STM32] - STM32L052K8Tx - EXTI Przerwania dla pinu PA2

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

    Mikrokontrolery ARM   27 Wrz 2018 11:16 Odpowiedzi: 9    Wyświetleń: 630
  • REKLAMA
  • [STM32][C] - Flagi przerwań kanałów CC włączają się przy Update Event

    I właśnie o tym piszę. Kiedy wystąpi samo przepełnienie, a ustawia się flaga porównania to to jest poprawne działanie?

    Mikrokontrolery ARM   23 Gru 2016 17:31 Odpowiedzi: 30    Wyświetleń: 1557
  • [STM32] [STM32][DMA][USART] Jak wywołać przerwanie po nadejściu znaku końca ramki?

    Racja, w F1 jest jedynie flaga IDLE ktora moze się przydać. Jej procedura czyszczenia jest jedynie trochę dziwna.

    Mikrokontrolery ARM   03 Mar 2017 12:25 Odpowiedzi: 32    Wyświetleń: 11712
  • [STM32] Konfiguracja EXTI w STM32 - przerwanie od zbocza opadającego i narastającego?

    Debouncing w przerwaniu - tylko nie mów, że robisz to przez aktywne oczekiwanie wewnątrz przerwania. Jeśli tak, to zauważ, że to, że skasowałeś flagę przerwania i jesteś w przerwaniu wcale nie oznacza, że flaga nie może zostać ustawiona ponownie. Możliwy jest taki scenariusz: wciskasz przycisk, pojawia się zbocze opadające które ustawia flagę a więc...

    Mikrokontrolery ARM   28 Wrz 2011 20:20 Odpowiedzi: 5    Wyświetleń: 4116
  • Konfiguracja płytki z MAX31865 i PT100 - błąd zakresu pomiaru temperatury

    Nie znam nowych avrów, ten kod przypomina mi STM32, natomiast w starych była globalna flaga uruchomienia przerwań, sprawdzałeś czy tutaj takiej nie potrzeba? I przez analogię do STM, czy po zmianach częstotliwości zegara, nie trzeba poczekać ileś cykli aż się ustabilizuje? Jak tam prosty przykład? No i przeniósłbym zliczanie minut do przerwania, u siebie...

    Mikrokontrolery   06 Maj 2025 10:38 Odpowiedzi: 69    Wyświetleń: 1698
  • Jak działa rejestr LR i stos w STM32 przy wywołaniach funkcji i przerwaniach?

    A to nie jest tak że jak włączę np timer i będzie sobie chodził i jak się w końcu przekręci, (przepełni) to ustawi flagę np UIF (piszę z pamięci mogę pomylić nazwę, ale chodzi o przepełnienie). Flaga jest ustawiona, włączam przerwanie w peryferialu i następnie w NIVC. Jeśli flagi nie skasuję to odpali się przerwanie czy nie?

    Mikrokontrolery ARM   05 Maj 2016 14:58 Odpowiedzi: 40    Wyświetleń: 2721
  • [STM32] [STM32][C] Jak zapewnić pełną transmisję danych przez USART z DMA i RS485?

    Bardzo dziękuję za pomoc, skorzystałem ze sprawdzania flagi od DMA i śmiga. Swoją drogą, to nigdy bym nie pomyślał, że flaga ta ustawia się w innym momencie niż generowane jest przerwanie. A tu się okazuje, że TC to nie TC.

    Mikrokontrolery ARM   10 Lut 2012 03:27 Odpowiedzi: 8    Wyświetleń: 3578
  • STM32 Przerwanie SYSTICK. Jak wrócić do funkcji main?

    Chciał bym żeby po przerwaniu program od razu startował w nowym efekcie. Ustawiaj w przerwaniu flagę. Program główny będzie ją sprawdzał, jak jest ustawiona zmieni efekt i skasuje flagę.

    Mikrokontrolery ARM   09 Cze 2019 00:09 Odpowiedzi: 11    Wyświetleń: 984
  • [STM32] Page erase i jednoczesna obsługa przerwania

    Jeśli pisząc "wiesza" masz na myśli HardFault to nie. Wygląda na to, że cały czas stoi w linii z whilem gdzie sprawdzana jest właśnie ta flaga. Nie chce w tym czasie wejść do przerwania. Generalnie po tych wszystkich zmianach program zachowuje się tak jak przedtem, tzn. gdy wszystko chodziło z FLASHa.

    Mikrokontrolery   02 Mar 2012 16:12 Odpowiedzi: 8    Wyświetleń: 1692
  • REKLAMA
  • [STM32 F411RE Nucleo] STM32 F411RE Nucleo: Problem z konfiguracją przerwania zewnętrznego GPIOB_PIN2

    Pochodzi od czujnika przerwania wiązki, drgań styków nie ma : ), znalazłem że czyszczenie flagi przerwania powinno być na początku, ale to niestety nie pomaga, i nadal pozostaje problem z wykrywaniem obu zbocz a nie tylko jednego Dodano po 10 Przeszukałem forum, kilka kursów po polsku i angielsku i ten kod z pierwszego postu jest identyczny jak te z...

    Mikrokontrolery ARM   23 Maj 2017 08:20 Odpowiedzi: 10    Wyświetleń: 1488
  • [STM32] USART4 przerwanie nie działa po zapisie hexa, działa w debugowaniu

    Może pokaż cały kod. Poza tym, przerwania mogą być tak szybko wywoływane, że przy debuggingu się one gdzieś zgubią (bo nie odbierzesz wszystkich znaków z bufora a już przyjdą następne znaki). Mówisz, że nie działa w ogóle, więc może posprawdzaj flagi transmisji ?

    Mikrokontrolery ARM   18 Paź 2010 21:01 Odpowiedzi: 7    Wyświetleń: 3195
  • [STM32] [STM32 Primer I] Jak uruchomić przerwania zewnętrzne i timery co 1 sek?

    jeśli flaga jest ustawiana po zakończeniu konwersji, to w trakcie pomiaru nie jest ona ustawiona, więc powinno być: while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == 0); // czekaj na koniec konwersji następnie odczyt, i tak w kółko…

    Mikrokontrolery ARM   05 Sty 2011 00:57 Odpowiedzi: 10    Wyświetleń: 6612
  • STM32 ADC z DMA - brak reakcji na przerwanie End of Conversion

    Witam, mam dziwny problem przy obsłudze przerwania od ADC End of Conversion. Gdy przetwornik ADC jest skonfigurowany do pracy z DMA procesor nie wchodzi do if`a gdzie jest zerowana flaga zakonczenia konwersji. Wchodzi jedynie do funkcji obslugi przerwania i po sprawdzeniu źródła przerwania wychodzi z niej. [syntax=c]void ADC1_2_IRQHandler ( void ) {...

    Mikrokontrolery ARM   31 Maj 2011 14:32 Odpowiedzi: 14    Wyświetleń: 3593
  • Jak napisać kod GPIO dla STM32 bez użycia bibliotek?

    Tyle że to jest bezsensu... Przecież flaga ustawia się sama - wystarczy sprawdzać rejestr statusowy timera (czy czego tam trzeba) i już wiadomo, że można coś robić. Tym sposobem z "przerwań" robi się najzwyklejszy "polling". 4\/3!!

    Mikrokontrolery ARM   07 Lip 2012 20:42 Odpowiedzi: 188    Wyświetleń: 18582
  • STM32 Nucleo F103 - Błąd kompilacji przy odbiorze UART w przerwaniach

    Jest coś nie tak z UART_BUFOR. W przedstawionym fragmencie brak definicji tego tworu więc nie wiadomo dlaczego. Poza tym typowy błąd AVRowca - nieskasowana flaga przerwania. Powtórzę to co przedmówca: poradnik szczywronka wyłuszcza to prosto i zrozumiale. Nazwy wektorów przerwań biorę z Reference Manuala albo z plików startowych np. vectors_stm32f10x.c...

    Mikrokontrolery ARM   28 Wrz 2017 22:39 Odpowiedzi: 13    Wyświetleń: 1545
  • Przerwania od uartów - jak rozpoznać skąd? Keil, HAL.

    Witam Zaczynam zabawę z STM32 i HALem. Mam następujący dylemat. Otóż uruchomiłem przerwania od dwóch UARTów funkcją: [syntax=c] HAL_UART_Receive_IT(&huart1, &znak, 1); HAL_UART_Receive_IT(&huart2, &znak, 1); [/syntax] Po pojawieniu sie jednego znaku w Uarcie 1 lub Uarcie 2 uruchamia mi się wspólna procedura: [syntax=c] void HAL_UART_RxCpltCallback(UART_HandleTypeD...

    Mikrokontrolery   05 Lut 2019 17:06 Odpowiedzi: 3    Wyświetleń: 360
  • [STM32][C] FreeRTOS -Ustawianie semafora w przerwaniu od TIM

    Miałem podobny problem z przerwaniem od RTC (przeliczanie/odświeżanie dnia/miesiąca/godziny itd do struktury). Po zainicjowaniu przerwań: [syntax=c]/* Enable the RTC 1s Interrupt */ NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemp... = 4; NVIC_InitStructure.NVIC_IRQChannelSubPri... = 0; NVIC_InitStructure.NVIC_IRQChannelCmd...

    Mikrokontrolery ARM   15 Lut 2012 12:56 Odpowiedzi: 9    Wyświetleń: 3152
  • [stm32] Czy warto używać bibliotek ST do dużych projektów na STM32F2?

    A jak się upewnisz bez while'a o zmianie flagi? wszystkich sie nie da wyrzucić... W przerwaniu. Chyba, że lubisz/możesz sobie pozwolić na robienie while w pętli głównej. Ale ten błąd I2C nie wynikał z tego, że zastosowano while tylko dlatego, że w zły sposób była sprawdzana flaga.

    Mikrokontrolery ARM   02 Wrz 2011 20:51 Odpowiedzi: 15    Wyświetleń: 2204
  • [STM32] NVIC nie reaguje na przerwanie EXTI0 z GPIOC Pin0, co robię źle?

    Witam, zaczynam dopiero przygodę z Cortexami i utknąłem na konfiguracji kontrolera NVIC. Chciałem uzyskać reakcje procesora na przerwanie od GPIOC Pin0. Wydaje mi się, że wszystko jest OK, a jednak nie chcę działać, program po wystąpieniu przerwania nie wchodzi w funkcję jego obsługi. Poniżej zamieszczam kod: Funkcja konfigurująca NVIC, GPIOC, EXTI,...

    Mikrokontrolery ARM   10 Sie 2011 11:59 Odpowiedzi: 2    Wyświetleń: 2000
  • [STM32] [STM32][C][I2C] - Zawieszanie się I2C po inicjalizacji w trybie przerwań

    Zapytałem się czy istnieje bit w rejestrze który wskaże mi koniec transmisji. Napisałeś, że jest, więc ja napisałem że flaga STOP działa jeśli I2C jest jako SLAVE. http://obrazki.elektroda.pl/5391711300_1... Chyba się nie zrozumieliśmy. P.S. Pojawił mi się przed chwilą problem. W pętli zapisuje coś po I2C, a potem odczytuje (jako 2 oddzielne...

    Mikrokontrolery ARM   25 Paź 2017 22:14 Odpowiedzi: 40    Wyświetleń: 4218
  • STM32 - Przerwanie zewnętrzne: konfiguracja przycisku na PA9 i diody na PA10

    Złą flagę czyścisz w przerwaniu (13 ≠ 1) ;)

    Mikrokontrolery Początkujący   18 Sty 2015 17:43 Odpowiedzi: 18    Wyświetleń: 2988
  • [STM32] STM32F107 - Konfiguracja przycisków i problem z USART, jak to zrobić?

    Wiedziałem o tym tylko nie bardzo właśnie wiem co to zmienia, tak czy tak powinna się ta flaga wyzerować po pierwszym przerwaniu, nie? Bo nad wysyłaniem mogę zapanować ustawianiem TXE w CR1 tylko czy o to chodzi?:P No i za każdym odebranym znakiem przelatuje mi też część przerwania odpowiedzialna za wysyłanie a to już bez sensu :P Czy w ogóle nie powinienem...

    Mikrokontrolery ARM   07 Lut 2013 20:18 Odpowiedzi: 10    Wyświetleń: 2112
  • STM32 - Flaga RXNE w rejestrze SR nie jest ustawiana po przyjściu danych UART

    Witam! Po przyjściu danych do UARTU, są one prawidłowo zapisywane w rejestrze DR, ustawiana jest wtedy również flaga RXNE znajdująca się w rejestrze SR. (według debugera) Niestety, kiedy próbuję programowo sprawdzić stan flagi RXNE, okazuje się ,że nie została ona ustawiona, wartość rejestru SR ma wartość sprzed przyjścia danych(przerwania) Spróbowałem...

    Mikrokontrolery Początkujący   14 Wrz 2016 07:06 Odpowiedzi: 2    Wyświetleń: 1575
  • STM32 i ENC28J60 - TCP przestaje działać po wyświetleniu strony, brak przerwań

    Sprawdziłem i flaga RXERIF nie jest ustawiona. Zwróciłem uwagę natomiast na coś innego. Wszystko lepiej działa jeśli timerem odpalam obsługę pakietów (ENC28J60_ExtiH) niż jak wyzwalana jest z przerwania. Dodatkowo sprawdziłem iż po połączeniu poprzez FireFox'a w buforze pozostają nie obsłużone 2 pakiety. Dziwne to gdyż zmieniłem funkcję i na początku...

    Mikrokontrolery ARM   29 Gru 2013 21:16 Odpowiedzi: 7    Wyświetleń: 1908
  • STM32 - Jak zrealizować jednoczesny pomiar trzech napięć ADC?

    Zeruje falgi żądań przerwań w rejestrach peryferiów: void DMA1_Channel1_IRQHandler(void) { GPIOB ->ODR ^= GPIO_BSRR_BS13 ; // Zerwoanie flagi żądania przerwania wpisaniem 1 DMA1->ISR |= DMA_ISR_HTIF1; } void ADC1_2_IRQHandler(void) { if(ADC1->SR & ADC_SR_EOC) { GPIOB ->ODR ^= GPIO_BSRR_BS12 ; ADC1->SR...

    Mikrokontrolery ARM   04 Mar 2011 21:01 Odpowiedzi: 14    Wyświetleń: 3105
  • [STM32][USART][DMA] - Nadawanie przez USART z wykorzystaniem DMA STM32DISCOVERY

    Wpisałem coś takiego: [syntax=c]NVIC_EnableIRQ(DMA1_Channel1_I... Odblokowanie przerwania od kanału 1 DMA1 bo w konfiguracji DMA kanał 1 miałem: [syntax=c]DMA1_Channel1->CCR = (DMA_CCR1_PL_0 | DMA_CCR1_PL_1 | DMA_CCR1_MSIZE_0 | DMA_CCR1_PSIZE_0 | DMA_CCR1_MINC | DMA_CCR1_TCIE | DMA_CCR1_EN);[/syntax] TCIE włączenie przerwania od zakończenia...

    Mikrokontrolery ARM   14 Mar 2013 07:47 Odpowiedzi: 125    Wyświetleń: 26373
  • [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
  • Jak skonfigurować STM32 do transmisji USART3 z DMA po zdarzeniu TXE?

    Wpisując w licznik wartość JEDEN zostanie wysłany JEDEN element, po czym DMA się wyłączy. To co widzisz w debuggerze nie ma tu znaczenia, może bit faktycznie wciąż jest ustawiony - nieistotne, DMA nie działa po wysłaniu zadanej ilości danych. Nie wiem też absolutnie jakim cudem chcesz "ustawiać flagę nadawania" w rejestrze CR1, skoro ta flaga jest generowana...

    Mikrokontrolery ARM   11 Cze 2012 12:44 Odpowiedzi: 28    Wyświetleń: 4831
  • STM32 - Konfiguracja przerwań zewnętrznych EXTI15_10_IRQn, GPIOC, linie 13 i 15

    Dzięki, teraz działa ładnie, może się komus przyda. [syntax=c] ////////////////////////////////////////... przyciskow void EXTI15_10_IRQHandler(void) { NVIC_DisableIRQ(EXTI15_10_IRQn); //wyłącz przerwanie exti if(((EXTI -> PR)&EXTI_PR_PR10)) //przerwanie od PA10 { po1++; } if(((EXTI -> PR)&EXTI_PR_PR11))...

    Mikrokontrolery ARM   11 Paź 2013 15:00 Odpowiedzi: 12    Wyświetleń: 3114
  • Brakujące funkcje w printf od Freddiego Chopina dla STM32

    Działa. Wystarczyło zmienić szukany znak z backslasha na '\n'. Ostatecznie modyfikacja wygląda nastepująco: if (character == '\n') { __fputc_('\n', stream); __fputc_('\r', stream); continue; } Dopracowałem rownież funkcje usart_put_char, zamiast wprowadzać delaya sprawdzam flage czy UART zakończył poprzednią transmisję....

    Mikrokontrolery ARM   19 Maj 2010 20:36 Odpowiedzi: 8    Wyświetleń: 3935
  • Różnice między zdarzeniami a przerwaniami w STM32F103

    Jeśli zajrzysz do definicji funkcji NVIC_SetPriority((), zobaczysz, że dla SysTick nie rusza ona wcale NVIC. Racja, wpisuje do innych rejestrów. Ale Manual pisze że SysTick też wchodzi o NVIC. Jeszcze kolejna sprawa. Skoro Aby mogło wystąpić przerwanie należy zarówno ustawić i to co generuje przerwanie np Timer jak i NVIC. Ale co np ze znacznikiem...

    Mikrokontrolery ARM   18 Mar 2016 12:32 Odpowiedzi: 51    Wyświetleń: 4731
  • Modbus RTU Slave - Ekstremalnie uproszczony modbus.

    Witam. Chciałem zrobić ekstremalnie uproszczonego modbusa RTU Slave na STM32. Tz w przerwaniu od RX jeśli pojawi się adres mojego urządzenia (Slave) to odrazu wyślij ramkę w postaci: adres,funkcja,ilosc_danych,dane,CRC16. Czy z punktu widzenia modbusa stanowi jakiś problem to uproszczenie ? Dodano po 24 Działa :) Dodano po 33 Tylko pytanie dlaczego...

    Mikrokontrolery   14 Wrz 2016 10:14 Odpowiedzi: 13    Wyświetleń: 3240
  • [STM32] Jak skonfigurować przerwanie po przepełnieniu licznika TIM1 w STM32?

    Cieszę się, że mogłem pomóc. Fakt - ciężko się w tym odnaleźć, tym bardziej, że czasem są dziwne zależności. Jak np. żeby włączyć PWM dla TIM1 trzeba ustawić bit w rejestrze od break'a i dead-time: Dodano po 57 Pomogło dzięki. Ogólnie biorąc to w tych ARM'ach strasznie dużo rejestrów trzeba poustawiać, żeby coś działało ;) Mam jeszcze pytanie dotyczące...

    Mikrokontrolery ARM   05 Lip 2011 22:15 Odpowiedzi: 7    Wyświetleń: 3933
  • [STM32] Jak skonfigurować NVIC dla przerwań w STM32 bez biblioteki ST?

    1. Dla SysTicka nie włączasz NVIC, bo to przerwanie jest w NVIC zawsze włączone (w ogóle nie da się go wyłączyć inaczej niż wyłączając globalne zezwolenie na jakiekolwiek przerwania). 2. Generowanie przerwania włączasz w SysTicku [; Reasumując: - SysTick->LOAD - wartość "przeładowania" - SysTick->CTRL - dla takiego działania jak chcesz ustawiasz tam...

    Mikrokontrolery ARM   05 Gru 2011 15:49 Odpowiedzi: 7    Wyświetleń: 2430
  • PIC18F45K50 i PIC16F1619 - Spadek częstotliwości przełączania pinu przy przerwaniach

    Witam, Widzę, że wywiązała się całkiem spora dyskusja i nie wiem do czego najpierw się odnieść. 1. Ten przypadek to maksymalne taktowanie timera i ciągłe wywoływanie przerwania, jednak nadal nie usprawiedliwia to czasu przełączania portu z ns do us. Nie zrobię teraz pomiarów więc nie podam dokładnych wyników ale przy wywoływaniu przerwania co 10us czas...

    Mikrokontrolery PIC   05 Gru 2016 23:18 Odpowiedzi: 30    Wyświetleń: 4665
  • STM32 - dziwne zachowanie obsługi przerwania od timera

    Witam Dlaczego podczas obsługi przerwania TIM2 dwukrotnie jest ustawiana flaga "tim_up" ? Pierwszy raz natychmiast (błędnie) oraz drugi raz po ustawionym w preferencjach czasie (prawidłowo) [syntax=c]volatile uint8_t tim_up = 0; int main(void) { myinit (); TIM_Cmd(TIM2, ENABLE); while (1) { /* * You can do whatever you want in here */ if( tim_up ==...

    Mikrokontrolery ARM   22 Kwi 2017 20:43 Odpowiedzi: 2    Wyświetleń: 963
  • [STM32] Konfiguracja USART - transmisja działa tylko w jedną stronę?

    Ciężko zaprezentować rozwiązanie. W tym przypadku moje patenty dotyczą protokołów, które opracowywałem sam, pod kątem użyteczności w danym urządzeniu. Protokołów tych nie udostępnię, więc i parsery pozostaną ściśle tajne ;] Musisz opracować protokół, a dopiero potem brać się za pisanie parsera. Jak chcesz wymyślić parser do czegoś, co nie wiesz jak...

    Mikrokontrolery ARM   07 Lip 2013 16:42 Odpowiedzi: 18    Wyświetleń: 4083
  • [STM32][USART][DMA] - Nadawanie przez USART z wykorzystaniem DMA STM32F4

    Witam, chciałbym przesyłać dane przez USART za pomocą DMA (STM32F4). DMA jest aktywowane w przerwaniu od TIM2 w odstępach co 100 ms. Program wykonuje się, natomiast dane nie są przesyłane. Wiem, że na pewno przerwanie od TIM2 działa poprawnie. Jeśli ktoś wie gdzie może być błąd/braki w konfiguracji proszę o odpowiedź. Z góry dzięki. Poniżej kod: [syntax=c]...

    Mikrokontrolery ARM   22 Lut 2015 19:47 Odpowiedzi: 4    Wyświetleń: 1581
  • [STM32] Dlaczego TIMER TIM6 w STM32 działa dwa razy szybciej niż oczekiwano?

    Mógłby ktoś rzucić okien na mój kod funkcji delay. Siedzę nad tym od paru godzin i nie mogę znaleźć błędu. Timer jest 2 razy szybszy nić powinien być. Używam TIM6, skonfigurowanego do ustawiania flagi przerwania przy overflow, ale nie obsługuję tego w przerwaniu tylko w funkcji delay sprawdzam, kiedy flaga zostanie ustawiona. Do prescalera wstawiam...

    Mikrokontrolery ARM   17 Maj 2011 09:41 Odpowiedzi: 2    Wyświetleń: 2549
  • [STM32F103][C]Sprzętowe sterowanie LED WS2812 na STM32 plus 3xNAND

    Temat jest znany już dawna. Wg, również i moich, testów dostępne były diody z czasem resetu ok 9 us oraz 35 us. Prawdopodobnie masz te drugie. A może jeszcze jakiś nowy twór pojawił się na rynku. "Moje" diody resetują się przy czasie powyżej 200µs, więc to jeszcze coś nowszego. Dobrze byłoby dograć tę bibliotekę, by czas resetu był parametrem....

    Mikrokontrolery ARM   28 Sty 2019 09:27 Odpowiedzi: 43    Wyświetleń: 7404
  • [C++11][Cortex-M3/M4] - distortos - obiektowy RTOS dla mikrokontrolerów w C++

    po skoku do Aplikacji z Bootloadera pojawia się dziwne zachowanie: zaczyna się wykonywać kod main() który jest przerwany i widzę w debugerze wykonywanie konstruktorów obiektów globalnych. Możesz pokazać jak to wygląda w debuggerze? Te konstruktory wykonują się jakby z main() czy jakby z przerwania? W Bootloaderze przed skokiem, robię __disable_irq(),...

    Mikrokontrolery ARM   06 Kwi 2021 08:03 Odpowiedzi: 255    Wyświetleń: 38073
  • [STM32] - jak zmienic w locie polaryzacje wyjscia timer?

    Witajcie, Mam problem ze zmianą polaryzacji wyjścia timer w locie. Sprawa wygląda tak. Mam dwa timer jeden (TIM1 na CH1) generuje PWM o dużej częst. a drugi (TIM7) zlicza czas w dół i następnie w przerwaniu zmienia polaryzację wyjścia PWM TIM1. Niestety pojawia się wtedy flaga UIF w rejestrze SR, co powoduje przeładowanie TIM1 i wtedy na krótki czas...

    Mikrokontrolery ARM   21 Paź 2015 22:00 Odpowiedzi: 3    Wyświetleń: 975
  • [stm32][DMA] - transer completed, a fizyczne zakończenie tranmisji

    Witajcie, Wysyłam sobie w moim małym projekcie, 4*16 bitów przez SPI, w użyciem DMA. Funkcja inicjująca wysyłanie wygląda tak [syntax=c] void display_set_raster_line(uint16_t * raster_line) { // wait for transfer complete if (SPI_FIRST_TRANSFER_DONE) { while( DMA1->ISR & DMA1_FLAG_TC3 == RESET) { } } // copy new raster to current raster line...

    Mikrokontrolery ARM   23 Cze 2012 19:32 Odpowiedzi: 13    Wyświetleń: 2205
  • STM32 - Timer One Pulse Mode: Przerwanie Generowane Od Razu, Nie Po 1s

    Witam, Po inicjalizacji timera i przed jego włączeniem przeładuj timer (zapisz bit UG do rejestru EGR),a następnie wyczyść flagę w Status Register (TIM4->SR &=~TIM_IT_Update). Dopiero po tych czynnościach włącz timer - przerwanie powinno przyjść dopiero po odmierzonym czasie.

    Mikrokontrolery ARM   26 Sie 2012 18:36 Odpowiedzi: 2    Wyświetleń: 2985
  • [stm32][rs485] Brak transmisji

    Proponuje zapoznać się z dokumentacją ST jak poprawnie wykonać obsługę RS485 dla stm32 W proponowanym rozwiązaniu ST wykorzystuje flagę TC transmit complete. Czyli po prawidłowym wysłaniu bajtu wywoływane jest przerwanie, po ostatnim bajcie przełączasz RS485 w tryb odbioru, bez obliczania późnień itp. :D

    Mikrokontrolery ARM   31 Gru 2011 09:28 Odpowiedzi: 16    Wyświetleń: 7733
  • STM32 Nucleo L1 - Nie działa przerwanie zewnętrzne na pinie PC13

    Na pierwszy rzut oka w przerwaniu nie sprawdzasz flagi ani jej nie kasujesz... A także nie włączasz systemu NVIC i go nie konfigurujesz...

    Mikrokontrolery ARM   27 Lip 2014 23:09 Odpowiedzi: 8    Wyświetleń: 1779
  • STM32, USART - Odbiór i wysyłanie ramek na przerwaniach

    Witajcie, moją przygodę z STM32 zacząłem stosunkowo niedawno, praktycznie od samego początku staram się stworzyć "protokół" do bezawaryjnej komunikacji po USARcie, który wykorzystany będzie do transmisji danych z małego robota typu LineFollower. Nie mam większej wiedzy, ani doświadczenia z tej dziedziny. Stworzyłem trochę kodu na podstawie własnych...

    Mikrokontrolery ARM   01 Kwi 2013 15:58 Odpowiedzi: 12    Wyświetleń: 4374
  • [STM32] [STM32][F429xx] - Błąd powrotu z przerwania EXTI0 na STM32F429-Discovery

    W przerwaniu przydałoby się kasowanie flagi od przerwania (rejestr EXTI_PR)

    Mikrokontrolery ARM   19 Paź 2014 01:27 Odpowiedzi: 2    Wyświetleń: 933
  • [stm32] Jak skonfigurować STM32 do transmisji SPI z użyciem DMA?

    Witam ponownie, udało się uruchomić transmisję ale jedynie nadawanie. Z odbiorem jest problem. Oto mój kod: Inicjacja SPI: [syntax=c]void SPI_Conf(void) { SPI1->CR1=0; SPI1->CR1 |= (SPI_CR1_BR_1|SPI_CR1_BR_0|SPI_CR1_MSTR)... SPI1->CR2 |= SPI_CR2_SSOE; SPI1->CR2 |= (SPI_CR2_TXDMAEN|SPI_CR2_RXDMAEN); }[/syntax] Inicjacja DMA: [syntax=c]void DMA_Conf(void)...

    Mikrokontrolery ARM   18 Sty 2012 20:12 Odpowiedzi: 28    Wyświetleń: 6445
  • [STM32] Timer 4 - przerwanie nie wraca do main po konfiguracji NVIC

    W procedurze obsługi przerwania, na samym jej początku należy wyzerować bit UIF (Update interrupt flag) w rejestrze statusowym. TIM4->SR &= ~(TIM_SR_UIF); I powinno działać…

    Mikrokontrolery ARM   07 Paź 2010 18:33 Odpowiedzi: 1    Wyświetleń: 1794
  • [STM32] Brak komunikacji STM32F100RB z anemometrem ultradźwiękowym przez RS485

    Problem pojawia się na mikrokontrolerze STM32F100RB, aczkolwiek wydaje mi się, że nie ma on związku z samym mikrokontrolerem. Próbuje odczytywać dane z ultradźwiękowego anemometru, który jako jedyną magistralę cyfrową posiada RS485 (ma też wyjścia analogowe). Podłączam go do mojego sterownika przy pomocy takiego konwertera: . Jest on oparty na układzie...

    Mikrokontrolery   21 Gru 2014 18:27 Odpowiedzi: 2    Wyświetleń: 3039
  • STM32 - Jak ponownie uruchomić DMA w trybie NORMAL po przerwaniu?

    Może dostajesz jakieś inne przerwanie, i wtedy ten Twój IF nie wchodzi do środka i nie kasuje flagi (oraz nie miga LEDem). Kasowanie flag daj bezpośrednio bez żadnego IFa.

    Mikrokontrolery ARM   20 Lip 2014 12:40 Odpowiedzi: 17    Wyświetleń: 2016
  • [STM32][STM32F407] - [DMA][USART]złączenie dwóch kanałów USART, wysłanie trzecim

    Nie trzeba go przekonywać. Dla DMA jest wszystko jedno pod jakie adresy mają się zapisać dane. Ale nie jest mu wszystko jedno, w jakich okolicznościach ma to robić. W przypadku UART TX, DMA request jest generowany za kazdym razem, gdy flaga TXE==1 (jesli UART ma włączony DMA oczywiscie). Wtedy DMA transferuje wartość spod adresu podanego w CMAR do...

    Mikrokontrolery ARM   19 Cze 2013 20:58 Odpowiedzi: 4    Wyświetleń: 2499
  • STM32 F0 Discovery - Timer 1 nie włącza żarówki po odliczeniu czasu

    Witam, już dobrych kilka godzin zastanawiam się, dlaczego timer 1 nie działa tak jak chcę. A chcę, poprzez poniżej przedstawione funkcje włączać żarówkę po odliczeniu przez timer na czas też odliczany przez timer. Konfiguracja timera 1: void Tim1_config(void) { RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; TIM1->CR1 |= TIM_CR1_ARPE; TIM1->CR1...

    Mikrokontrolery ARM   23 Gru 2013 19:11 Odpowiedzi: 8    Wyświetleń: 3078
  • [STM32F0][C/C++] W jaki sposób sprawdzić zachowanie SPI overrun przy użyciu DMA?

    Piszę do swojego RTOSa driver dla SPI używający DMA. W rozważaniach ograniczmy się do STM32F0, ale ogólnie rozchodzi mi się o wszystkie układy STM32 które mają SPI wyposażone w FIFO _ORAZ_ DMA które FIFO nie ma (czyli najgorsza możliwa kombinacja). Generalnie wszystko jest w miarę proste i logiczne, ale zastanawiam się nad obsługą błędów, a konkretnie...

    Mikrokontrolery ARM   29 Gru 2018 18:21 Odpowiedzi: 50    Wyświetleń: 1800
  • [STM32F072][C] - wysyłka łańcucha UART - przerwanie nadawcze

    Proponuję Ci zerknąć na ten kod - https://github.com/DISTORTEC/distortos/b... - robi dokładnie to co chcesz osiągnąć i w dokładnie ten sam sposób. Tutaj kod przerwania - https://github.com/DISTORTEC/distortos/b...

    Mikrokontrolery ARM   19 Maj 2018 17:55 Odpowiedzi: 13    Wyświetleń: 666
  • [STM32][C]fatfs i najszybszy sposób zapisu danych modyfikowanych w przerwaniach

    Flagi zeruj bezpośrednio po sprintf - wtedy dane w zmiennych nie są już potrzebne i można je zmienić. Dłuższe czekanie może powodować, że w momencie przyjścia przerwania flagi są ciągle ustawione - i gubisz dane. Dość łatwo to wykryć programowo, więc możesz sprawdzić czy taka sytuacja ma miejsce.

    Mikrokontrolery   17 Mar 2012 18:22 Odpowiedzi: 12    Wyświetleń: 2287
  • STM32F103 - Zapis do FLASHa nie działa przy optymalizacji -Os. Co robić?

    Wcześniej użyłem volatile bo chciałem wymusić odczyt tych tablic za każdym razem z pamięci FLASH. A nie z jakiegoś rejestru gdzie wartość mogła by zostać zapamiętana. W tym celu, żeby po przeprogramowaniu pamięci, program na pewno operował na nowych wartościach. Ale mam rozumieć że w tym wypadku volatile nie pełni roli wymuszenia każdorazowego dostępu,...

    Mikrokontrolery ARM   11 Lip 2016 07:57 Odpowiedzi: 37    Wyświetleń: 2628
  • Nieoczekiwana zmiana rejestru CR1 od USART3 -komunikacja Master - Slave, stm32f1

    Zastanawiam się tylko po co sprawdzać to: [syntax=c]USART3 -> CR1 & USART_CR1_TCIE[/syntax] nie rozumiem powodu. Przecież to jest "This bit is set and cleared by software." Programista nie wie czy ustawił to przerwanie czy nie? Dodatkowo ten zapis: [syntax=c]if(( USART3 -> CR1 & USART_CR1_TCIE) && (USART3 -> SR & USART_SR_TC ))[/syntax] wygląda dość...

    Mikrokontrolery ARM   18 Mar 2019 12:39 Odpowiedzi: 24    Wyświetleń: 990
  • STM32L031 - RTC nie wybudza po wyłączeniu debugowania

    Ustawienie alarmów: HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN); if(MAX_SAFE_ALARM_TIME_SEC<sec... sec = MAX_SAFE_ALARM_TIME_SEC; if(MIN_SAFE_ALARM_TIME_SEC>sec... sec = MAX_SAFE_ALARM_TIME_SEC; /**Enable the Alarm A */ uint8_t overflowSec = 0; uint8_t overflowMin = 0; sAlarm.AlarmTime.Seconds = (sTime.Seconds...

    Mikrokontrolery ARM   28 Lut 2017 22:13 Odpowiedzi: 2    Wyświetleń: 999
  • STM32 F303VC6 - Konfiguracja przerwań TIM7 na rejestrach, problem z częstotliwością

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

    Mikrokontrolery   28 Lip 2015 21:58 Odpowiedzi: 4    Wyświetleń: 930
  • [STM32] - zwis przy próbie użycia przerwania (używam jednego stosu?)

    Prawidłowe kasowanie flagi w przerwaniu: TIM3->SR = ~TIM_SR_UIF; Prawidłowe używanie rejestrów BSRR: GPIOC->BSRR = GPIO_BSRR_BR13; Piszesz że "NVIC_EnableIRQ(TIM3_IRQn);" zawiesza układ. Używasz debuggera czy wnioskujesz to po tym, że nie zapala się żadna dioda? Jeśli używasz debuggera, to raczej powinieneś widzieć na czym dokładnie się zawiesza. Jeśli...

    Mikrokontrolery Początkujący   10 Maj 2019 08:53 Odpowiedzi: 20    Wyświetleń: 993
  • STM32 - Program na przerwaniach - ilość taktów zegara.

    wychodzi mi jakieś 8 8 cykli to zajmuje pierwsza linijka <; wejście do przerwania to następne kilkanaście + wyjście. Sugerujesz bitbanding dla kasowania flagi przerwania? No przecież właśnie o to chodzi - żebyś nie musiał odczytywać, modyfikować i zapisywać z powrotem. Czyli twiedzisz że 6*10kHz takich przerwań to dla tego procesora pikuś i nie...

    Mikrokontrolery ARM   25 Lip 2012 11:23 Odpowiedzi: 4    Wyświetleń: 2519
  • Przerwania timera STM32F407VGT6 nie działają bez debugowania w uVision 4

    sprawdź w dokumentacji czy aby po zresetowaniu flagi przerwania timera nie trzeba odczekać kilka instrukcji (2-3 NOP'y). Jeżeli tak jest, to w przeciwnym wypadku zaraz po wyjściu przerwanie otworzy się drugi raz i w tej sposób dioda mrugnie tak że tego nie zauważysz. Możesz to sprawdzić tak że diodę ustawisz na zapłoną (a nie stan przeciwny), to po...

    Mikrokontrolery Początkujący   23 Kwi 2012 06:44 Odpowiedzi: 7    Wyświetleń: 1487
  • [STM32 Cortex-M3] [STM32 Butterfly] Przerwanie nie działa po naciśnięciu przycisku - konfiguracja

    Witam, Jestem poczatkujacy jesli chodzi o programowanie pod architekture Cortex. Posiadam zestaw ewaluacyjny STM32 Butterfly. Probuje skonfigurowac przerwanie, aby wykonało się po naciśnięciu przycisku. Debugujac program widac, ze po nacisnieciu przycisku flagi sa ustawiane, ale funkcja obslugujaca przerwanie nie jest wywolywana. tak wyglada moj kod...

    Mikrokontrolery   11 Mar 2011 12:32 Odpowiedzi: 4    Wyświetleń: 3088
  • [stm32F1xx]Jak wywołać program bootloadera programowo

    1. Deinicjalizujesz RCC, PLL i pozostałe zegary 2. Resetujesz i wyłączasz Systick 3. Wyłączasz przerwania wcześniej zerując flagi 4. Ustawiasz wskaźnik stosu na początek pamięci bootloadera 4. Skaczesz do adresu pamięci bootloadera +4 Wszystko jest analogiczne do poniższego przykładu dla F4: https://stm32f4-discovery.net/2017/04/tu...

    Mikrokontrolery ARM   03 Lis 2017 02:33 Odpowiedzi: 13    Wyświetleń: 777
  • [stm32] freeRTOS zawiesza się w funkcji vListInsert - przyczyny?

    Witam, mam problem z zawieszaniem się freeRTOSa. Program grzęźnie w funkcji vListInsert void vTaskUSART3(void * pvParameters) { portCHAR i; vSemaphoreCreateBinary( xSemaphore_US3_O ); xSemaphoreTake( xSemaphore_US3_O, 0); xQueue3_TX = xQueueCreate( 32, sizeof( portCHAR ) );//32 xQueue3_RX = xQueueCreate(...

    Mikrokontrolery ARM   24 Mar 2013 20:53 Odpowiedzi: 33    Wyświetleń: 7296
  • [stm32][eclipse][gcc] - Konfiguracja i pobieranie danych z DCMI?

    Moim zdaniem konfiguracja DMA jest trochę niepełna, a ponadto brakuje obsługi przerwania od DMA. Przynajmniej w jednym miejscu wpisz jawnie wartość do rejestru sterującego (CR = ...). Na razie wszędzie masz |= lub &=. Zakładając, że pierwszy transfer poleci i przerzucisz 19200 słów, to później DMA się zatrzyma i nic więcej nie prześle. I jak to ma coś...

    Mikrokontrolery ARM   17 Lis 2014 23:24 Odpowiedzi: 24    Wyświetleń: 2826
  • Czy poprawnie obliczam offset bit-banding dla ARM? Adresacja rejestrów i bitów.

    Może wbiję kij w mrowisko: Po co właściwie Ci ten bitbanding? Wyjmę kij z mrowiska i odrzucę - świat nie składa się tylko z jednowątkowych programików, a w mikrokontrolerach zwykle trzeba zrobić więcej niż machanie GPIO i kasowanie flag przerwań.

    Mikrokontrolery ARM   15 Cze 2017 19:42 Odpowiedzi: 14    Wyświetleń: 1857
  • [STM32F030CCT6][C] DMA - przerwanie bieżącego transferu

    Profilaktycznie możesz spróbować procedury zatrzymywania DMA z układów STM32 mających bardziej rozbudowane DMA (np. F4). Sprowadza się ona do tego, że po wyzerowaniu EN musisz go w pętli odczytywać do momentu aż odczytasz tam faktycznie zero. Może coś pomoże, może nie. Zadbałbym też o czyszczenie wszystkich flag DMA przed uruchomieniem transferu (albo...

    Mikrokontrolery ARM   07 Sty 2019 05:06 Odpowiedzi: 2    Wyświetleń: 387
  • [stm32L031] Jak najmniejszy pobór prądu i zliczanie impulsów

    (lub ewentualnie zignorować, tracąc minimalnie dokładność) utrata dokładności jest i tak mniejsza niż w przypadku podanym prze mnie. Jeżeli występuje prawdopodobieństwo wystąpienia wielokrotnych przepełnień bez przerwań i licznika przepełnień się nie obejdzie. Zresztą użycie flagi ma (może nie w tym przypadku jak jest to robione raz na godzinę) dodatkowe...

    Mikrokontrolery ARM   15 Lut 2018 11:58 Odpowiedzi: 34    Wyświetleń: 2025
  • [STM32][HAL][UART]Ponownie uruchomienie odbioru danych w circular mode

    Czesc, mam taki problem, wydawalo sie na poczatku ze banalny. STM32L4, UART pracuje w trybie circular, przy starcie wywoluje HAL_UART_Receive_DMA(), wszystko ladnie dziala do momentu kiedy wystapi blad transmisji. Gdy wystapi blad to w standardowym handlerze zwiekszany jest licznik bledow i w innym watku porownywany jest stan licznika i ponownie wywoloywane...

    Mikrokontrolery ARM   17 Mar 2023 19:19 Odpowiedzi: 0    Wyświetleń: 348
  • [STM32] [C/Keil/STM32CubeIDE] F030 transmisja SPI z użyciem DMA

    Nie chcę inkrementacji. Wysyłam cały czas tą samą zmienną kilkukrotnie z jednej lokalizacji pamięci. W przerwaniu jest przeliczana na inną wartość w taki sposób: Ok. Niemniej jednak skopiowałem ten kod z #8 do CubeIDE 1.5.0, zrobiłem parę korekt pod moje PCB, dokonałem poprawnej implementacji flagi BUSY i wszytko działa jak powinno z inkrementacją...

    Mikrokontrolery ARM   22 Sty 2021 13:24 Odpowiedzi: 21    Wyświetleń: 1032
  • [stm32] - Przerwanie zewnętrzne na PE0 zamiast PA0, analiza kodu

    (at)atom1477 zmienilem na rowne czyli na PA0 i dziala, ale jak dobrze rozumiem EXTICR powoduje mi ze moge to przerwanie spowodowac z np PORTU B (pin 0), czyli jak wpisze 1 na zerowym bicie, czyli (1<<0) to będzie odpowiadalo PB0. No i wgrywam program i klikam PB0 to nic, a jak klikne PA0 to zmienia stan LED-a, czyli jakby ten rejestr EXTICR wwgl...

    Mikrokontrolery ARM   05 Sty 2015 17:47 Odpowiedzi: 22    Wyświetleń: 1662
  • [stm32][gcc] - DMA, jak zwiększyć bufor przesyłanych danych?

    Ja to sobie podzieliłem na równe wymierne części, to tylko taki przykład z tym 0xFFFF. Odbieraniem zajmuje się właśnie DCMI, po wywołaniu "DCMI->CR |= DCMI_CR_CAPTURE;" wszystkie dane po kolei są przejmowane na rejestr danych w DCMI. Bez wykasowania flagi CTCIF7 program zostaje na zawsze w przerwaniu. Jak u Ciebie wyzwalany jest odbiór danych ? DMA...

    Mikrokontrolery ARM   10 Sty 2017 00:06 Odpowiedzi: 14    Wyświetleń: 1953
  • STM32f103rb - Brak odpowiedzi na RX przy komunikacji Modbus RTU po RS232

    No tak: [syntax=c] /************************* * stm32 uart main.c *************************/ #include "stm32f10x.h" #include "stm32f10x_flash.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include "stdint.h" #include "misc.h" #define CLK_FREQ 36000000 /* User defined function prototypes */ void GPIOA_Init(void);...

    Mikrokontrolery ARM   20 Maj 2016 08:51 Odpowiedzi: 150    Wyświetleń: 7650
  • Tutorial PIC18F2550 + SDCC - Część 4 - Timery, przerwania

    https://obrazki.elektroda.pl/4950580000_... Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...

    Artykuły   02 Kwi 2020 00:20 Odpowiedzi: 0    Wyświetleń: 2400
  • [STM32F1] Koniec transmisji DMA przez USART SmartCard

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

    Mikrokontrolery ARM   03 Lip 2017 08:49 Odpowiedzi: 7    Wyświetleń: 1680
  • STM32F103 - Zakłócenia przy równoległej komunikacji USART1 i USART2

    Kod: [syntax=c] /************************* * stm32 uart main.c *************************/ #include "stm32f10x.h" #include "stm32f10x_flash.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include "stdint.h" #include "misc.h" #define CLK_FREQ 36000000 /* User defined function prototypes */ void GPIOA_Init(void);...

    Mikrokontrolery ARM   23 Wrz 2016 08:39 Odpowiedzi: 36    Wyświetleń: 3465
  • [STM32][FreeRTOS]Priorytety przerwań, Systick i przerwania od peryferiów

    Tak, Freddie Chopin ma rację, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIO... oraz configMAX_SYSCALL_INTERRUPT_PRIORITY powinny być spójne, ponieważ odnoszą się do tego samego lecz różnią się przesunięciem bitowym w celu stosowania tych flag w funkcjach bibliotecznych lub bezpośrednio w rejestrach.

    Mikrokontrolery ARM   20 Lip 2018 13:18 Odpowiedzi: 5    Wyświetleń: 1014
  • [Stm32f103][C] Błąd TEIFx przy nadawaniu UART z Timer3 i ADC via DMA

    1. Jaka jest różnica między tymi dwoma zapisami, czy dobrze to rozumiem? TIM3->SR &=~TIM_SR_UIF; (tu zerujemy?) Powinno być: TIM3->SR =~TIM_SR_UIF; (tu rozumiem,że zmienia stan na przeciwny?) efekt powinien być w tym wypadku ten sam. Różnica opisana jest w RM, w którym opisana jest sekwencja zerowania bitów rejstru SR timerów. Zapisanie zera kasuje...

    Mikrokontrolery ARM   29 Maj 2019 21:42 Odpowiedzi: 16    Wyświetleń: 606
  • [STM32] [STM32][C/GCC] Hard Fault przy obsłudze przerwań na przycisku WaveShare Port103Z

    Skoro hardfault występuje przy kompilacji z -O0 to znaczy że jednak występuje, a ty tylko znalazłeś obejście problemu. Flagi przerwan w EXTI trzeba gasić ręcznie. Jesli tego nie zrobisz, będziesz w stanie permanentnego przerwania...

    Mikrokontrolery ARM   11 Lut 2012 13:46 Odpowiedzi: 48    Wyświetleń: 6058
  • [STM32F3][C] - Przerwanie zewnętrzne, kilka zdarzeń od jednego przerwania

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

    Mikrokontrolery ARM   09 Lis 2013 10:08 Odpowiedzi: 7    Wyświetleń: 1740
  • STM32 - I2C na przerwaniach: czy trzeba kasować bit ADDR?

    Wejdzie i wyjdzie po prostu. Nie wiem jak jest w STM, ale w niektórych prockach magistrala się może zawiesić jeśli nie odczytasz jakichś flag, ale sam IRQ tak napisany nic zwyczajnie nie zrobi. I zawsze wejdzie do tej funkcji, na tym polega przerwanie, a skoro nic w niej nie ma - to też zawsze wyjdzie bo nie ma na czym się zawiesić.

    Mikrokontrolery ARM   22 Mar 2017 08:19 Odpowiedzi: 85    Wyświetleń: 5289
  • STM32F334 DISCO - włączenie przerwania generowanego przez timer

    Jak już się upierasz przy "flagach", to może konsekwentnie również je "kliruj" i "setuj". ;) Ja wolę ustawiać znaczniki niż "setować flagi". Flagi to się raczej wywiesza, zwłaszcza o tej porze roku. Jak działa SR timera w STM32 - to dokładnie wiadomo - "w0c". żadna filozofia tego nie zmieni, a operacja &= skutkuje błędami, jeśli oprogramowanie ma reagować...

    Mikrokontrolery ARM   11 Lis 2018 00:23 Odpowiedzi: 17    Wyświetleń: 693
  • [STM32][Eclipse] - Zapis pamięci I2C EEPROM 24...1024/1025/1026

    I2C jest rygorystyczne czasowo. Inne przerwania mogą powodować błędy. Zrobić I2C na przerwaniach o najwyższym priorytecie. Uchronić przed błędami powstałymi z HOR-PLUG. Np cykliczne pytanie i resetowanie I2C po konfiguracji sprawdzenie flag oraz stanu pinów.

    Mikrokontrolery ARM   24 Sty 2017 18:27 Odpowiedzi: 24    Wyświetleń: 4536
  • STM32 F100RB: HardFault po przerwaniu USART2, działa w debuggerze

    Temat można potraktować jako zamknięty. Problem polegał na tym, ze flagi od przerwania odbioru USART co prawda były kasowane automatycznie, ale zanim zostały skasowane przychodziło już nowe przerwanie... Dodatkowo CLK na USART2 był uruchamiany dwa razy i jak się okazało ma to duży wpływ na pracę tego ukłądu. Dlaczego? nie wiem ...

    Mikrokontrolery ARM   28 Lip 2012 16:44 Odpowiedzi: 4    Wyświetleń: 2915
  • [STM32] Jak zaimplementować delay_us i delay_ms na STM32 z taktowaniem 72 MHz?

    Raczej tak, wykorzystałem fragment programu, który jest sprawdzony. Użyłem Timera2 i zrobiłem dokładnie to samo co Ty czyli pętla while czekająca na wyzerowanie flagi. Nigdy program nie wyszedł z tej pętli chociaż program wchodził do przerwania bo sprawdzałem. Naprawdę nie umiem tego wyjaśnić.

    Mikrokontrolery ARM   08 Kwi 2010 08:27 Odpowiedzi: 13    Wyświetleń: 14789
  • [STM32][CortexM3] - Konfiguracja przetwornika z pojedynczym odczytem.

    Wg. mnie jeśli ustawiasz SWSTART to nie potrzebujesz tego EXTSEL, a tak na marginesie to EXTEN odpowiada za zbocza. A teraz wiem, nie masz ustawionej flagi EOCIE w CR1 i nie generuje ci przerwania. PS. Nie musisz włączać i wyłaczać ADC wystarczy że po konwersji skasujesz flagi STRS i EOC, i przed następną konwersją robisz SWSTART.

    Mikrokontrolery ARM   27 Lis 2012 07:44 Odpowiedzi: 8    Wyświetleń: 1665
  • STM32 - obsługa przerwań od UART podczas zapisu do pamięci flash mikrokontrolera

    Jeśli podczas zapisu do flash układ próbuje odczytać coś z flash, rdzeń zostanie zatrzymany do momentu zakończenia zapisu . Nie ma więc czegoś takiego, że zostanie zatrzymany (czy to przez następne instrukcje w funkcji dokonującej zapisu - np. sprawdzenie flagi czy zapis się już zakończył - czy przez przerwanie, czy przez cokolwiek innego), ale jak...

    Mikrokontrolery ARM   01 Gru 2017 20:41 Odpowiedzi: 19    Wyświetleń: 2130
  • Poszukiwana książka dla zaawansowanych o bibliotece HAL dla STM32 F4

    Na Elektrodzie było mnóstwo sporów w temacie używania bibliotek i rejestrów, więc nie chcę rozpętywać kolejnego. Moim zdaniem powód by używać HAL, to właśnie CubeMX - generator kodu, który pozwala w miarę szybko wystartować. Niestety, szybko się okazuje, że bez dokumentacji sprzętu nie można się obejść, bo trzeba zrozumieć budowę peryferiów, działanie...

    Mikrokontrolery ARM   26 Lip 2022 14:08 Odpowiedzi: 8    Wyświetleń: 1617
  • STM32 Discovery F3 - Zawieszanie się przy konfiguracji ADC, kalibracja nie działa

    Witam ponownie udało mi się uruchomić ADC błąd polegał na tym, że pomiaru dokonywałem w przerwaniu od Timera i za nim dochodziło do konfiguracji ADC wykonywane było to przerwanie, w którym miałem ustawianie bitu ADCstart, który nie pozwalał na późniejsze przejście kalibracji podczas konfiguracji ADC. Mam teraz inny problem otóż chciałbym dokonać pomiaru...

    Mikrokontrolery   29 Wrz 2015 15:51 Odpowiedzi: 7    Wyświetleń: 1278
  • Odczyt busy flag z wyświetlacza LCD HD44780 - program się wysypuje przy odczycie BF

    Jeśli chcesz uzyskać minimalny narzut czasu procesora na obsługę wyświetlacza - w ogóle nie czytaj znacznika BUSY, bo jego wyzerowanie nie oznacza gotowości. Obsługuj wyświetlacz w przerwaniu timera. Jakiś czas temu obsługa HD44780 na STM32 w przerwaniu timera była pokazana w EP. A pierwszy błąd w Twoim kodzie jest tu: LCD_EN_bb=0; LCD_EN_bb=1; - wymagany...

    Mikrokontrolery   12 Lut 2016 22:06 Odpowiedzi: 1    Wyświetleń: 804
  • Przetwornik ADC w połączeniu z USART na STM32F411RE

    Samo to nie jest może powodem błędu, który obserwujesz, Pewnie jest. Przerwanie -> skasowanie flagi -> prinf po uarcie W trakcie tego kolejne przerwanie -> skasowanie flagi -> prinf po uarcie ..... stos się przeełnia i sterta kończy (o ile ta implementacja go używa) natychmiast. i do tego dodatkowo - printf - nie reentrant Cała filozofia. Sory, jeżeli...

    Mikrokontrolery ARM   06 Mar 2018 21:43 Odpowiedzi: 14    Wyświetleń: 924
  • [stm32f1][C] - Can - brak przerwania, błąd transmisji - CRC

    To akurat przyszło mi do głowy, chodziło mi o dostęp przez tą funkcję nieszczęsną :) Jeszcze raz dzięki za zainteresowanie :) teraz wszystko śmiga :D Tak swoją drogą nie jest ustawiana flaga CAN_RxRdy w obsłudze przerwania odbioru. Dwubitowy rejestr CAN_RF0R_FMP0 ustawiany jest tylko na młodszym bicie, ale ten kod[syntax=cpp]while(CAN1->RF0R & CAN_RF0R_FMP0)...

    Mikrokontrolery ARM   03 Lut 2015 08:58 Odpowiedzi: 7    Wyświetleń: 1113
  • FreeRTOS demo na STM32L-Discovery

    Moglby kolega przedstawic przykladowe zalety stosowania systemu na mikromotrolerze? Co to praktycznie daje by zachecic niskopoziomowcow do stosowania takich rozwiazan. źle zadanie pytanie, niskopoziomowiec a zastosowanie RTOSa to lekko odmienne kwestie. Szkoda tylko ze ten przykład napisano w egzotycznym środowisku i nadal z SPLem. Czyszczenie flagi...

    DIY Poczekalnia   22 Lis 2015 21:14 Odpowiedzi: 7    Wyświetleń: 6675