stm32 flaga przerwania

Znaleziono około 251 wyników dla: stm32 flaga przerwania
  • [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][C] - Flagi przerwań kanałów CC włączają się przy Update Event

    choć myślałem, że kiedy nie ruszam niczego co ma związek z CC to on nie porównuje.. To źle myślisz. Włączenie CC to tak naprawdę włączenie tego co dalej. Czyli sterowania kierunkiem liczenia reakcje wyjścia OC itp itd. Porównanie działa nawet gdy CC jest wyłączone.

    Mikrokontrolery ARM   23 Gru 2016 17:31 Odpowiedzi: 30    Wyświetleń: 1557
  • REKLAMA
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [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] 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 - 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
  • [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
  • [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
  • REKLAMA
  • 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ń: 1695
  • [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
  • [STM32F030CCT6] RTC Wakeup Interrupt - brak reakcji na przerwanie

    No właśnie. Czy w ogóle coś takiego istnieje? Teoretycznie wg reference manual jak najbardziej. Można ustawić zezwolenie na przerwanie (RTC_CR_WUTIE) i skasować flagę (RTC_ISR_WUTWF). Przerwanie teoretycznie powinno być podpięte pod "RTC_IRQn", ale de facto nie jest realizowane. Można za pomocą tego zdarzenia wybudzić procesor, ale nigdy nie udało mi...

    Mikrokontrolery ARM   20 Kwi 2018 22:39 Odpowiedzi: 3    Wyświetleń: 1017
  • 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
  • REKLAMA
  • STM32F0Discovery - Jak rozwiązać konflikt przerwań TIM2 i TIM3?

    Zrobiłem kiedyś program pracujący na 8 timerach na przerwaniach, praktycznie cały program w przerwaniach generowanych przez timery nawet do 50kHz. Na szczęście kody w przerwaniach nie były długie (dekrementacja zmiennej x, sprawdzanie czy ==0 i jeżeli tak, ustawianie odpowiedniego bitu w zmiennej y) i procesor się wyrabiał. Ale na początku były problemy...

    Mikrokontrolery ARM   31 Paź 2013 10:15 Odpowiedzi: 91    Wyświetleń: 7734
  • [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
  • [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
  • 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
  • [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
  • 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
  • [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 - dziwne zachowanie obsługi przerwania od timera

    Podejrzewam że dlatego ze pierwszy raz kiedy biblioteka HAL wywołuję UG dla przeładowania rejestru prescallera, a drugi raz kiedy timer doliczy do odpowiedniej wartości. Ale pisze to nie patrząc na HAL-a. Tak ze po prostu przed właczeniem przerwania wyczyść flagę.

    Mikrokontrolery ARM   22 Kwi 2017 20:43 Odpowiedzi: 2    Wyświetleń: 963
  • [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ń: 3039
  • [stm32][DMA] - transer completed, a fizyczne zakończenie tranmisji

    A nie ma od tej flagi jakiegoś przerwania ?

    Mikrokontrolery ARM   23 Cze 2012 19:32 Odpowiedzi: 13    Wyświetleń: 2205
  • [STM32F103] Implementacja transmisji przez UART w przerwaniach

    Witam, Pracuje nad kodem programu do komunikacji przez UART (mikrokontroler <-> komputer) i zastanawiam się nad sposobem implementacji w przerwaniach. Na razie zrobiłem to w taki sposób: - Nadawanie danych wykonuje w taki sposób, że w programie głównym zmieniam w wskaźniku adres początku tablicy którą aktualnie przesyłam przez UART, w przerwaniu...

    Mikrokontrolery ARM   06 Lip 2018 13:06 Odpowiedzi: 3    Wyświetleń: 714
  • Jak napisać kod GPIO dla STM32 bez użycia bibliotek?

    Nie do końca kumam problem - jeśli chodzi Ci o to, że flaga jest jedna, to w czym problem żeby czyścić ją po zrobieniu iluś-tam zadań dopiero? Jeśli zaś o to, że gdy umieścisz wszystko w przerwaniu to wtedy niewiele tam zmieścisz (jedno zadanie) to już jest kwestia architektury programu. Generalnie trzeba tu pogodzić sprzeczności - przerwania powinny...

    Mikrokontrolery ARM   07 Lip 2012 20:42 Odpowiedzi: 188    Wyświetleń: 18582
  • [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
  • [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
  • STM32F334 DISCO - włączenie przerwania generowanego przez timer

    Jak już się upierasz przy "flagach", flagi używa się w języku informatycznym od lat - np flagi procesora. Pola znacznikowe przynajmniej mi się bardziej kojarzy ze znacznikami w Adzie albo Pascalu.

    Mikrokontrolery ARM   11 Lis 2018 00:23 Odpowiedzi: 17    Wyświetleń: 693
  • [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][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 - 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] 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 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
  • STM32f103rb - Brak odpowiedzi na RX przy komunikacji Modbus RTU po RS232

    Nie, nie możesz (przynajmniej nie powinieneś). Nie blokuj przerwania od odbioru w ten sposób. Użyj flagi i wykonaj ten kod w mainie. Pokaż inicjalizację USART2. Zrobiłem z flaga i wysyłanie w mainie. W ten sposób że w przerwnaiu odbioru od usart2 ustawiam: flagaS=1; Natomiast w mainie: if(flagaS==1) { //test usart2 flagaS=0; send_frame_USART2(); }...

    Mikrokontrolery ARM   20 Maj 2016 08:51 Odpowiedzi: 150    Wyświetleń: 7650
  • [STM32F103RB][C/Keil] DMA - przerwanie po zakończeniu transferu

    W sumie to mam pytanie czy dobrze rozumiem jak to ma działać. Tak skonfigurowany DMA wykonuje transfer raz, w momencie ustawienia bitu ENABLE. Kod z moimi komentarzami (wypisane z DSa). [syntax=c] void DMA_Conf(void) { RCC->AHBENR = RCC_AHBENR_DMA1EN; /* Procedura konfiguracji kanałów DMA 1. Ustawić adres rejestru peryferiów w rejestrze DMA_CPARx Dane...

    Mikrokontrolery ARM   01 Lut 2012 15:00 Odpowiedzi: 4    Wyświetleń: 1679
  • 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
  • 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
  • [STM32F4][C] - Obsługa Timera Encoder Mode za pomocą DMA

    Czy proponujesz zatem taki zapis: ... Jeśli w tym rejestrze wcześniej jest coś co chcesz zachować to może zostać, ja proponuje użyć operacji przypisania "=" zamiast sumy bitowej "|=" - używając sumy zakładasz że wcześniej jest tam "znana wartość", co niekoniecznie jest prawdą i czasem można się nieźle przejechać na takim założeniu... Widocznie przekroczenie...

    Mikrokontrolery ARM   22 Mar 2013 22:15 Odpowiedzi: 8    Wyświetleń: 4584
  • 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] 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
  • [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][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
  • [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
  • Stm32F7 i NRF24L01: wolniejsze nadawanie z przerwaniami niż w polling

    Witam, chciał bym prosić o rade szanownych kolegów mianowicie nie mogę uruchomić nadawania modułem nrf24l01 z pełną szybkością z użyciem przerwań od pinu "IRQ" już wyjaśniam, w trybie polingu nadawanie pakietu 32 Bajtów trwa 156us i wszystko ładnie śmiga odbieranie udało mi się uruchomić z wykorzystaniem przerwań oraz DMA, lecz gdy próbuje wysyłać za...

    Mikrokontrolery ARM   03 Lip 2018 17:48 Odpowiedzi: 9    Wyświetleń: 771
  • 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 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
  • [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
  • [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
  • STM32F051 - ADC wyzwalany przez TIM1 co 1s, problem z ciągłą konwersją

    oczywiście wspomogło, ta biblioteka jest małokorzystna (albo raczej korzystający z niej :D) a jeszcze pytanko małe , ustawiam sobie tą flagę: volatile bool flag_ADC ; w przerwaniu od ADC, i później w pętli głównej coś takiego: [syntax=cpp] if (flag_ADC == 1) {//GPIOC->ODR ^= GPIO_Pin_9; // ADC1ConvertedValue = ADC1->DR; sprintf(buf, "wart ADC: %u",...

    Mikrokontrolery ARM   03 Gru 2012 03:00 Odpowiedzi: 6    Wyświetleń: 2028
  • STM32 F4 (Nucleo F446RE) DMA UART RX - konfiguracja

    Na pewno dobrze skonfigurowałem UARTy, dane odbieram Tak więc jest to kwestia DMA. Piotrus_999 czy masz na myśli flagę przerwania w DMA?

    Mikrokontrolery ARM   17 Lut 2017 16:14 Odpowiedzi: 14    Wyświetleń: 2100
  • [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] [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
  • 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 - 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 - 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
  • STM32F407 - Jak uzyskać dokładny czas z timera przy ustawieniach zegarów?

    Witam, Mam problem z uzyskaniem dokładnego czasu z timera. To mój kod: [syntax=c] #include "stm32f407xx.h" int main(void){ // flash //FLASH -> ACR |= FLASH_ACR_DCRST | FLASH_ACR_ICRST; FLASH -> ACR = FLASH_ACR_DCEN | FLASH_ACR_ICEN | FLASH_ACR_PRFTEN | FLASH_ACR_LATENCY_5WS; //while((FLASH -> ACR & FLASH_ACR_LATENCY) != FLASH_ACR_LATENCY_5WS);...

    Mikrokontrolery ARM   06 Maj 2018 10:11 Odpowiedzi: 5    Wyświetleń: 681
  • STM32F100RB (Discovery) - Zmienna modyfikowana w przerwaniu nie zapmiętuje wart.

    Natomiast, co trochę zbija mnie z tropu, po wyjściu z przerwania flaga ta jest z powrotem zresetowana, tj. poza przerwaniem zmienna ponownie ma wartość 0. Jaka może być tego przyczyna? Po wyjściu z przerwania EXTI zapewne od razu wykonywane jest przerwanie od timera (on w końcu cały czas chodzi w tle), w którym czyścisz tą flagę. Przerwania mogą być...

    Mikrokontrolery ARM   28 Paź 2013 11:25 Odpowiedzi: 11    Wyświetleń: 1860
  • STM32F429 - DCMI i DMA: Synchronizacja z przerwaniami od końca/początku ramki

    Oczywiście to od DCMI ma wyższy priorytet niż to od DMA. Próbowałem też na równoważnych ale nic to nie zmienia. Najbardziej dziwi mnie fakt że występują przerwania mimo wcześniejszego kasowania flag. Tak jakby DMA działało mimo że już żadne żądania transferu się nie pojawiają (DCMI podczas trwania impulsu synchronizacji nie powinno niczego wysyłać)....

    Mikrokontrolery ARM   06 Lut 2016 16:31 Odpowiedzi: 15    Wyświetleń: 1659
  • 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
  • STM32F3 Discovery - Timer 3 PWM blokuje pętlę główną, jak to naprawić?

    [syntax=c]//============================... // TIM3 Interrupt Handler //======================================... void TIM3_IRQHandler(void){ if(TIM3->SR & TIM_SR_UIF) // if UIF flag is set { TIM3->SR &= ~TIM_SR_UIF; // clear UIF flag } }[/syntax] AND zbyteczny az prosi...

    Mikrokontrolery ARM   26 Gru 2013 23:17 Odpowiedzi: 8    Wyświetleń: 1722
  • [STM32F439] Dziwne podwójne przerwanie TXE przy nadawaniu SPI w trybie MASTER

    Mozę powtórzę, bo nie lubię patrzyć jak ktoś traci czas - wszystkie porady sugerujące że problemem jest 8-/16-/32-bitowy dostęp do rejestru DR lub jakieś nieistniejące w tym układzie FIFO są po prostu błędne. Jeśli bez optymalizacji ruszyło, to powód jest dokładnie taki jak w słynnym przypadku timerów - to co kasuje flagę (zapis do DR) jest zbyt blisko...

    Mikrokontrolery ARM   05 Paź 2017 11:06 Odpowiedzi: 21    Wyświetleń: 843
  • [STM32] USART4 przerwanie nie działa po zapisie hexa, działa w debugowaniu

    Trochę pogrzebałem i znalazłem przyczynę. Kluczowa była flaga IDLE okazało się że po resecie UART nie jest w stanie IDLE nawet jak nic nie szło i wtedy trochę pogrzebałem i odkryłem że mam błąd. Problem polegał na tym że robiłem OR-a żeby skonfigurować port w odpowiedni tryb a zapomniałem że rejestr GPIOx-CRx nie ma 0 po resecie tylko 0x44444444 ale...

    Mikrokontrolery ARM   18 Paź 2010 21:01 Odpowiedzi: 7    Wyświetleń: 3195
  • [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] - send_cmd() zwraca 0xFF przy inicjalizacji karty SD, co robić?

    Wyglądałoby to tak, że potrzeba trochę czasu, od ustawienia flagi RXNE do przepisania bajtu z rejestru szeregowego do DR. Jak od razu czytasz, to dane są błędne (poprzedni bajt?). Ale czy tak jest w istocie , to nie dam głowy - ja akurat zrobiłem obsługę SPI na przerwaniach i tam nie musiałem sprawdzać tych flag. W sumie to byłoby bez sensu, bo po co...

    Mikrokontrolery ARM   06 Lut 2013 16:25 Odpowiedzi: 48    Wyświetleń: 7770
  • [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ń: 1110
  • Czy RTOS jest konieczny w falowniku z STM32F4 do sterowania silnikiem?

    Jeśli chodzi o zasoby to STM32F4 ma raczej wystarczające (196kB RAMu i 1MB Flashu). Czy w RTOSach są takie przerwania, które mógłby realizować jakieś zadanie praktycznie bezzwłocznie? Ja wolałbym uniknąć używania RTOSa i zostać przy flagach oraz przerwaniach, ale chciałbym się też dowiedzieć jak się powinno podejść do tego problemu by rozwiązać go profesjonalnie.

    Mikrokontrolery   05 Kwi 2012 10:02 Odpowiedzi: 13    Wyświetleń: 2638
  • stm32f302, UART - flaga USART_IT_TXE nie ustawia się po konfiguracji

    Wyłączenie przerwania przed załadowaniem ostatniej danej gwarantuje, że niezależnie od okoliczności nie nastąpi zgłoszenie przerwania TXE. Jeżeli najpierw załadujesz, a potem wyłączysz, to po załadowaniu wskutek działania FIFO lub z powodu innego przerwania nadajnik może zgłosić przerwanie TXE przed jego wyłączeniem i wtedy jeszcze raz wejdziesz w obsługę...

    Mikrokontrolery   01 Paź 2015 15:49 Odpowiedzi: 8    Wyświetleń: 891
  • [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
  • STM32F103rb - Brak odpowiedzi urządzenia na transmisję szeregową UART

    Witam, Mam urządzenie z którym chciałbym się skomunikować. Za pomocą Realterm wysyłam do urządzenia 3 znaki: /#1 i urządzenie odpowiada całą paczką danych. Przepięcie linii USB/RS232TTL do mikrokontrolera sprawiła mi jak zwykle kłopot. A mianowicie wysyłam do urządzenia te 3 znaki z STM32 natomiast urządzenie nie odpowiada.... Może mi ktoś powie jak...

    Mikrokontrolery Początkujący   15 Wrz 2016 09:41 Odpowiedzi: 4    Wyświetleń: 1146
  • STM32F4Discovery - STM32F4 + darmowe IDE = zaraz mnie trafi !

    Samo się zapamiętuje - przerwanie zgłoszone jest "zgłoszone" dopóki go nie obsłużysz (albo ręcznie nie "skasujesz"), wcale nie musi być wciąż "fizycznie" w jakimś stanie. Ok, jakas flaga sie pojawia, ale jesli obsluguje takie z wyzszym priorytetem, to nizsze czeka. To nizsze niech bedzie czujnikiem zalania. Wody przybywa, czujnik ciagle to sygnalizuje,...

    Mikrokontrolery ARM   30 Lip 2014 12:08 Odpowiedzi: 111    Wyświetleń: 15012
  • [STM32] USART - Czy RTS/CTS umożliwia sprzętowe sterowanie RS485?

    Po 5 latach chyba kolega sobie poradził:) Temat do zamknięcia. PS.Do sterowania nadajnikiem MAX3485 w STM32 kluczem jest poszukanie w RMie informacji o fladze TC a następnie programowe sterowanie odpowiedniego GPIO w przerwaniu od UARTu.

    Mikrokontrolery ARM   13 Maj 2014 20:59 Odpowiedzi: 3    Wyświetleń: 6888
  • [stm32] jak się kasuje bit przerwania w TIM4->SR?

    Pomóżcie, bo nie mogę doczytać, jak się kasuje flagę przerwania od output compare match w ISR? (...) W dokumentacji stm32 zapomnieli napisać czy 0 czy 1 Npalisali :) kasuje się na pewno poprzez zapisanie bitu zerem. Przy opisie rejestru masz zawsze odpowiedni "komentarz" przy każdym bicie. W tym przypadku rc_w0. read/clear (rc_w0) Software can read...

    Mikrokontrolery ARM   06 Paź 2010 07:50 Odpowiedzi: 3    Wyświetleń: 1799
  • 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
  • [STM32F1][c/asm] - ilość cykli zegara miedzy dwoma kolejnymi instrukcjami ldr

    Witam. Dla ćwiczebności napisałem sobie funkcję zwracającą ilość cykli zegara w celu pomiaru długości wykonywania funkcji itp. Aby to osiągnąć odczytuję "PENDSTSET" oraz stan licznika SysTick. Jednak pomiędzy tymi dwoma odczytami upływa trochę czasu i wartość licznika jestem w stanie skorygować znając czas jaki upłynął miedzy tymi dwoma instrukcjami...

    Mikrokontrolery ARM   02 Lis 2018 14:41 Odpowiedzi: 7    Wyświetleń: 795
  • STM32F103 i MCP3202 - Problemy z komunikacją SPI, konfiguracja i kod

    Witam, Mam STM32F103 i MCP3202. Próbuje nawiązać komunikacje bezskutecznie. Kofiguracja: [syntax=c]volatile char SPI_InUse=0; volatile char Nof_Bytes_To_TxRx=0; volatile char RxBuf[2]; volatile char TxBuf[2]; volatile char TxIdx=0; volatile char RxIdx=0; int main(void) { Clock_init() ; GPIO_init(); NVIC_init(); SPI_init(); SysTick_init(); while(1){}...

    Mikrokontrolery Początkujący   24 Cze 2015 09:56 Odpowiedzi: 2    Wyświetleń: 882
  • 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
  • [STM32F1] Koniec transmisji DMA przez USART SmartCard

    Temat był już poruszany ale zmuszony jestem go odświeżyć ze względu na USART w trybie SmartCard. Kod inicjalizacji DMA Celem jest wysłanie 5 bajtów i złapanie w przerwaniu USART Transfer Complete momentu wysłania ostatniego piątego bajtu - już po wysłaniu go z wewnętrznego Shift Reg Uzyskuję to: http://obrazki.elektroda.pl/3790337700_1...

    Mikrokontrolery ARM   03 Lip 2017 08:49 Odpowiedzi: 7    Wyświetleń: 1680
  • [STM32l][FreeRTOS] - problem z obsługą przerwania

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

    Mikrokontrolery ARM   15 Kwi 2013 17:44 Odpowiedzi: 8    Wyświetleń: 2328
  • [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][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
  • STM32 - I2C na przerwaniach: czy trzeba kasować bit ADDR?

    Problem jest taki, że natychmiast po tym jak z tego przerwania wyjdzie, to wejdzie do niego ponownie, po czym oczywiście znów wyjdzie, jednak zaraz po tym kolejny raz do niego wejdzie, a następnie oczywiście... Problem taki nie dotyczy tylko kilku przerwań, które nie mają przyporządkowanych żadnych flag które się kasuje albo wprost, albo jakąś sekwencją operacji...

    Mikrokontrolery ARM   22 Mar 2017 08:19 Odpowiedzi: 85    Wyświetleń: 5289
  • [STM32F1][C] - Lista jedokierunkowa - wyciek pamięci

    Wydaje mi się, że zwykła kolejka FIFO spełni swoje zadanie. Kiedyś napisałem coś takiego: fqueue.h [syntax=c] #include <stdint.h> #include <stdbool.h> /**(at)briefWykonuje inkrementacje modulo. * (at)param__val liczba do inkrementacji * (at)param__mod modulo inkrementacji*/ #define INCREMENT_CYCLIC(__val, __mod)do { \ __val =(__val) <...

    Mikrokontrolery ARM   01 Lip 2014 12:02 Odpowiedzi: 30    Wyświetleń: 3336
  • [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 - Jak zablokować przerwania i zapewnić atomowość operacji?

    Albo napisać to to tak, żeby w przerwaniu ustawiać tylko flagę "nowe dane do wpisu pod", przychodzące w przerwaniu dane buforować a update robić w pętli głównej...

    Mikrokontrolery ARM   19 Mar 2014 18:02 Odpowiedzi: 6    Wyświetleń: 1053
  • [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
  • 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][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
  • [STM32F3][GCC] Brak linkowania funkcji obsługi przerwań

    Portuję system Contiki na STM32F303 i natknąłem się na problem z brakiem linkowania handlerów przerwań. Ponieważ interesuje mnie obsługa modułu radiowego SPIRIT1, portowanie sprowadziło się do skopiowania katalogu platform/stm32nucleo-spirit1 oraz katalogu cpu/arm/stm32l152 do platform/stm32elnix oraz cpu/arm/stm32f303 i zmodyfikowania znajdującego...

    Mikrokontrolery ARM   12 Kwi 2017 15:58 Odpowiedzi: 9    Wyświetleń: 1152
  • 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
  • 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
  • STM32F0 przesyłanie bajtów przez USART, drgania styków zawieszają procesor.

    Poprawiłem formatowanie kodu. Dodano po 1 Niby jaki odstęp pomiędzy bajtami ma dawać taka pętla? Potrzebujesz odstępu czasowego - użyj przerwania timera. Odstęp czasowy narazie realizuję blokującym whilem, później być może przerobię to na przerwania timera. Przed wysyłką 8 bajtów z prędkością 115200 wysyłam jeden bajt z prędkością 9600 Zrobiłem trochę...

    Mikrokontrolery ARM   04 Mar 2019 22:51 Odpowiedzi: 5    Wyświetleń: 564
  • 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
  • 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
  • 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
  • [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
  • STM32F051 - Próbkowanie dźwięku i odtwarzanie przez DAC

    Witam, przepraszam że nie odpisywałem ,ale musiałem zająć się chwilowo innym projektem. Ale wracając już do tego. Otóz właśnie nie do końca , trochu kolega źle zrozumiał mój poprzedni post ale to tylko dla tego że moja zdolność wypowiedzi w języku polskim jest tragiczna. Otóż już postaram się wytłumaczyć o co mi chodziło. Jeśli robię coś takiego( czyli...

    Mikrokontrolery ARM   13 Gru 2012 12:15 Odpowiedzi: 9    Wyświetleń: 3276
  • [STM32F107VC] - FreeRTOS i przerwania zewnętrzne - zawiesza się

    No właśnie o priorytetach wiem, 15 top najniższy dlatego wszystkie przerwania mają Dodano po 2 Niestety zwiększenie do 4kB stosów (Stack Configuration i Heap Configuration) w niczym nie pomogło, program wchodzi do przerwania i zawiesza się przy sprawdzaniu flagi. Jak nie sprawdzam flagi to wszystko działa. Wychodzi na to, że musiałbym na te 4 klawisze...

    Mikrokontrolery ARM   06 Maj 2013 21:29 Odpowiedzi: 7    Wyświetleń: 1824
  • STM32F100RB - Jak aktywować przerwania RXNE dla USART1?

    Ok, dzięki. Chodziło mi o to, czy bit USART_SR_RXNE jest flagą przerwania, czy też jest gdzieś inna flaga dla przerwania. Bit ten jest opisany jako "Read data register not empty" i nie miałem pewności czy nie ma jeszcze innej, osobnej flagi specjalnie dla przerwania. Ale wynika z tego że nie. Czyli w przerwaniu wystarczy odczytać rejestr DR.

    Mikrokontrolery ARM   02 Wrz 2013 16:49 Odpowiedzi: 10    Wyświetleń: 1482
  • [stm32][C++/Keil] Zmiana częstotliwości przebiegów generowanych przez TIM1

    Dane nadaję w postaci paczki, kod ASCII litery P, potem 3 bajty prędkości, po czym bajt z kodem litery K. W programie testowałem również czy nadając daną wartość odczytuję ją poprawnie, dla każdego bajtu tak było. Wydaje mi się, że to nie tu tkwi problem, jednak mimo to załączam kod obsługi przerwania od UART1: [syntax=cpp] void USART1_IRQHandler(void)...

    Mikrokontrolery ARM   26 Paź 2011 22:09 Odpowiedzi: 7    Wyświetleń: 3537
  • [STM32F2] Dlaczego kasowanie flagi przerwania wpływa na GPIO?

    Nie zauważyłem żadnych istotnych różnic w konfiguracji Twojego timera. Jak widzę, kasowanie flag też masz na końcu procedury obsługi. Właśnie przetestowałem u mnie:[syntax=c]TIM2->SR &= ~TIM_SR_UIF; // kasuj flagę przerwania while (TIM2->SR & TIM_SR_UIF);[/syntax]że kasowanie flagi na końcu procedury, a po nim jeszcze sprawdzenie, czy flaga się skasowała...

    Mikrokontrolery ARM   13 Lis 2011 22:43 Odpowiedzi: 7    Wyświetleń: 2437
  • STM32F4: Podwójne przerwania AWD przy optymalizacji -Os, dlaczego?

    Dziękuję za szybką odpowiedź :). Czyli Freddie Chopin napisał że się mylę a to dokładnie tyle samo znaczą te linie w przypadku dokładnie tego procka na który ja piszę. Przez to że nie dałem mu do tego powodu rozumiem, że nie powinien zgłaszać przerwania ponieważ zmieżone wartości napięć nigdy nie przekroczyły ustawionych wartości progowych na 5 V i...

    Mikrokontrolery ARM   02 Kwi 2013 15:49 Odpowiedzi: 41    Wyświetleń: 5361
  • [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