A to widziałeś? https://forbot.pl/blog/kurs-stm32l4-term... https://controllerstech.com/stm32-uart-7... https://deepbluembedded.com/stm32-1-wire...
Ja ostatnio rozwiązałem to tak do transmisji danych z 3 osiowego akcelerometru: [syntax=c] sprintf((char *)buforTx,"X%03iY%03iZ%03iE%1c%1c",Buffe... USART_ITConfig(USART1, USART_IT_TXE, ENABLE); //Przerwanie-transmisja [/syntax] Potem w programiku napisanym w C# wyłuskuję z ciągu interesujące mnie dane: http://www.youtube.com/watch?v=d-q6DuQH-...
Sprawdź czy jednak nie trzeba wysyła CR i LF. W dokumentacji jest taki przykład: “AT+SYNW=1234ABEF\r\n” Jak widać wysyłają zarówno CR i LF JarekC
Pytanie odnośnie otwartych środowisk do STM32 obsługujących ST-Link aktualne ;) http://stm32-discovery.nano-age.co.uk/op...
Na wypadek, gdybyś nie zauważył: przy takich deklaracjach i treści procedury konfiguracji DMA, jakie masz obecnie, do rejestru adresu pamięci DMA wpisujesz wartość bajtową odczytaną z pamięci ze zmiennej TxBuf, rozszerzoną zerami do 32 bitów, czyli wysyłasz przez UART zawartość tablicy wektorów wyjątków.
Może zbyt namieszałem. Zasadniczo chodzi po prostu o to jak stworzyć projekt w SW4STM, który nie zawierałby tych wszystkich śmieci z SPL i HAL i dało się pisać na rejestrach. Taki czysty podstawowy projekt pod rejestry z tylko niezbędnymi rzeczami jak w przypadku pisania na AVRy. Ja robię to tak: I. Potrzebne narzędzia: 1. System Workbench for STM32...
Czy Flash Loader Demonstrator obsługuje te układy? W dokumentacji tego nie widać. Ostatnia aktualizacja była 5 lat temu, kiedy jeszcze nie było G0, G4, L5. V2.8.0 - 01-September-2015 =============================== New Features ************ + Adding support of STM32L4x6xx devices + Adding support of STM32L0xx 192K of flash devices + Adding support of...
Resetuje komendą HAL_UART_Abort
(1 << 27) Tego nie będę rozszyfrowywał. I przy okazji nie mieszaj kodu HAL-a z rejestrami - w tch samych funkcjach - no chyba że dokładnie wiesz co te halowe robią na poziomie rejestrów (ja np poza kilkoma nie wiem i nie chce mi się grzebać) Procedurę masz opisaną w RM Reception using DMA DMA mode can be enabled for reception by setting the DMAR...
Zacznij od wyrzucenia modyfikacji priorytetów przerwań - zostaw wszystkie na tym samym domyślnym Zamiast NVIC_PriorityGroupConfig i NVIC_Init użyj NVIC_EnableIRQ() - usuniesz w ten sposób błędy i skrócisz kod. Ten warunek też jest podejrzany: USART_GetITStatus(USART_Datalink, USART_IT_TXE) == SET) Prościej i poprawnie jest napisać: if (USART2->ISR &...
Ten return w środku while(1) jest dosyć niezły... Dalej nawet nie patrzałem. Nie dziwne, że "Żadne rozwiązanie z innych tematów nie działa" jak się nie wie co się robi... 4\/3!!
Rozwiązałem swój błąd wprowadzając: chwila = 0; while(!(USART2->SR & 0x80) && (chwila <= 2500000)) chwila++; chwila = 0; Dziękuję za pomoc. Jednocześnie mam pytanie w jaki sposób w locie zmienić baud rate mojego usart'a ? Czyli ustawiam częstotliwość br przykładowo na 4800, komunikuję się na tej częstotliwości z innym up, i nagle zachciewa...
1. Change R1 Value to 0 Ohm 2. Add GND connection to C14 3. Change R9 value to 4,7k or 10k Anyway, what about the Rx and Tx connectors? U meant to add pinouts from my MCU on PA9/10 for Usart Rx and Tx? If so, is it enough to just lead them out? Yes. Add an additional connector (3 pin) for GND, RX and TX from these pins (PA9/PA10). What about the rest...
Kanal nadal nie ustawiony, zły kierunek transmisji.
Zacznij od opisania formatu danych. Po czym odbiorca ma poznać, że zakończono przesyłanie liczby? Tego ne napisałeś powyżej. Odbiór łatwo zrobisz w przerwaniu, pisząc obsługę przerwania w konwencji automatu. Najpierw poczytaj, co oznacza poprzednie zdanie. Potem możesz zacząć pisać automat. Potrzebne tylko dwa stany: - oczekiwanie na 'L' - skanowanie...
No to masz 4-bajtowy znacznik początku ramki, w dodatku niejednoznaczny, tylko po co? Przy automacie masz zmienną - stan automatu, którą elegancko robi się jaku enum, a dalej switch zapewniający obsługę kolejnego bajtu i przejścia pomiędzy stanami. Do obsługi tego początku, jaki masz, potrzebujesz czterech stanów automatu (piąty stan to odbiór danych)...
Witam Jak prawidłowo ustawić parametry USART w STM32F100 i STM32F103 dla transmisji: 8-bitów danych 1- bit parzystości EVEN 1-bit stopu Cały czas mam śmieci
Nie wiem jaki tam jest układ ale taki mam konwerter->http://allegro.pl/konwerter-p... A sterownik Profilic 3.3.2.105
Zdefiniuj "nie działa". Nic nie odbiera? Bo w sumie to nie powinien. Żeby odebrać coś za pomocą przerwania należy te przerwania włączyć [syntax=c] NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemp... = 0; NVIC_InitStructure.NVIC_IRQChannelSubPri... = 0; NVIC_InitStructure.NVIC_IRQChannelCmd...
Wyłącz przerwanie od TXE skoro nie chcesz wysyłać. 4\/3!!
Nie, no niewątpliwie masz rację, że jeśli chodzi o wydajność to szybciej jest bezpośrednio pisać po rejestrach ;) Tyle że tu chodzi zarówno o szybkość pojmowaną jako prędkość wykonywania kodu, jak i o prędkość pisania go - i tak musisz przeczytać manuala, a do tego jeszcze dokumentację biblioteki [; 4\/3!!
Czy kiedykolwiek zdarzyło Ci się użyć terminu UART tylko po to, by zostać poprawionym przez innego inżyniera, że nie jest to UART, ale USART? W pewnych przypadkach oba te terminy są zamienne, ale w wielu innych używanie ich wymiennie jest niepoprawne. Przyjrzyjmy się, czym dokładnie są USART i UART, a także jakie są pomiędzy nimi główne różnice. Większość...
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.
He, he, he... Patrz na to: while (1); Nic, co jest dalej, nie ma szans się wykonać, więc kompilator eliminuje zbędny kod. ...A ponadto masz błąd w inkrementacji wskaźnika. idx = (idx + 1) % BUFSIZE; - to najprostszy poprawny zapis tego, co masz zrobić, chociaż nie zawsze daje optymalny kod.
https://obrazki.elektroda.pl/3252078300_... Poniższy artykuł przedstawia – krok po kroku – wykonanie niewielkiego, kieszonkowego oscyloskopu cyfrowego. Nie jest on tak dobry jak zwykły warsztatowy oscyloskop, ale z drugiej strony można zabrać go niemalże wszędzie. Poza tym – nie wszystkie projekty DIY muszą mieć sens....
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);...
Witam, Próbowałem na podstawie książki "Mikokontrolery stm32 w praktyce" uruchomić na STM32F107 transmisję z wykorzystaniem USART-a. Połączyłem Rx i Tx ze sobą i próbuję wysyłać a następnie odczytywać wysłane dane. Poniżej jest mój kod: int main(void) { SetSysClockTo72(); EnablePerypherialClocks(); ConfigureNVIC();...
Rozwiązanie jest zupełnie gdzie indziej... Wystarczy sprawdzać bit TC, a nie TXE. Te (i inne) sekrety są w stosownym manualu. 4\/3!!
Witam! Próbuję zaprogramować mikrokontroler STM32F107, aby współpracował z siecią. Najpierw chciałbym skompilować kod z przykładowym projektem dostarczonym do STM32 jako EthernetDriver, czyli stm32_eth_lib. Przykład napisany jest z użyciem stosu TCP/IP uIP. Całość kompiluje się bez żadnych błędów (ew. warningi) z użyciem kompilatora CodeSourcery G++...
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".
Próbuje napisać coś w stylu klasy ale stanąłem w miejscu. Klasa ma obsługiwać usart. W pliku H zadeklarowałem strukturę która przechowuje m.in. wskaźniki na funkcje, a w konstruktorze do tych wskaźników przypisuje funkcje. Plik h // usart type powinien być różny w zależności od obiektu który wywołał funkcję! //while (!(module->usart_type->SR & USART_SR_TXE));...
Dziękuję za odpowiedzi. W moim wypadku chodzi o SPI / USART między STM32 i FPGA. Więc kłania się push-pull. Podejrzewam więc, że jeśli już zabezpieczać, to buforem. Czy to powszechna praktyka, czy jednak przesadzam i jestem wybitnym asekurantem? :D
Witam, mam taki problem, a mianowicie... Zrobiłem aplikację mobilną, która wysyła dane po UDP do ESP8266 Wi-Fi, a ten po USART do STM32, gdzie są zapisywane i obsługiwane. Czy jest sposób skonfigurowania ESP8266 (połączenie do sieci Wifi jak i połączenie z aplikacją po UDP) ? Dokładniej chodzi mi o to, gdy użytkownik dostanie całkiem nowe urządzenie...
Dzień dobry, To mój pierwszy post tutaj (jeśli jest w złej kategorii to proszę powiedzieć). Z góry mówię że w elektronice jestem BARDZO początkujący więc jeśli ktoś zdecyduję się odpowiedzieć to poproszę BARDZO prostymi słowami. Mam następujący problem. Mam zrealizować następujące zadanie -> za pomocą płytki STM32 NUCLEO-F401RE mam dokonać pomiaru temperatury...
To co wpisujesz do rejestru MOAR to jest "adres adresu" (wskaźnik na wskaźnik) a raczej nie o to Ci chodzi... Tym bardziej że w tym kontekście tab to zmienna lokalna, więc i tak nie zadziała jak trzeba. DMA1_Stream6->M0AR = (uint32_t)&tab; 4\/3!!
Mógłbyś troche jasniej bo dopiero się uczę stm32
Na 99% nie. Można kombinować z auto-reload i transmisją jednego bajtu, o ile uda się przekonać DMA, że docelowy UART jest pamięcią, a nie peryferialem i o ile będziesz miał pewność, że nigdy dane nie będą równocześnie nadchodziły w takim tempie, żeby zapchać nadajnik. Czyli: nawet gdyby się udało, to jest to rozwiązanie wysoce niepewne i zawodne. Co...
https://obrazki.elektroda.pl/2759406900_... 8-bitowe mikrokontrolery nadal można znaleźć w wielu projektach, ale dzięki nowemu, niedrogiemu 32-bitowemu z rdzeniem AMR Cortex-M0+ taktowanym 48 MHz — STM32C0 — firma STMicroelectronics dąży do wyparcia 8-bitowych jednostek. Co może się odbyć wskutek: „ograniczonego wpływu...
https://obrazki.elektroda.pl/3578004800_... „Blue Pill” to popularna płytka rozwojowa układem STM32. Jej popularność wynika z jej niskiego kosztu - zaczyna się od zaledwie 1,50 dolar - oraz z kompatybilności z Arduino IDE dzięki projektowi STM32duino. Powstało wiele ciekawych projektów, opierających się na tym module. Jednym...
komunikacja pomiędzy dwoma STM32 poprzez RS485
kardynalny błąd -> oczekiwanie na co, na TC==1 ? Oczekiwanie na cokolwiek w przerwaniu jest kardynalnym błędem. Przeciez w notce katalogowej zalecają poczekać po zakonczeniu transmisji na TC. Czy aby napewno piszą to w kontexcie przerwań, czy może poczekania przez wyłączeniem danego modułu peryferyjnego? Poza tym nie odpowiedziałeś na moje pytanie,...
Dopiero się uczę, ale tu tak piszą: https://stm32.eu/2017/11/28/3-stm32cube-... PS: Gdy w powyższy sposób obsługuję USART to jest OK, ale dla UART mam właśnie powyższy problem. Czy to może mieć wpływ?
1. Tak. 2. Nie bezpośrednio, można kombinować np. tak: struct S { typ costam; typ tab[1000][16]; };
Cześć, mam problem z funkcją sscanf(), stworzyłem kod, który przypisuje mi do tablicy konkretną linię $GPRMC i za pomocą funkcji sscanf() chciałbym wyciągnąć z tej tablicy konkretne zmienne odpowiadające za m.in. długość i szerokość geograficzną, jednak nic mi z niej nie może znaleźć w celu przypisania do zmiennych ( a tablica w debuggerze działa prawidłowo),...
hm im not shure. What abaut the configuration wizard with stm32_init.c - it doesnt work? Usart is working
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);...
Witam, muszę koniecznie połączyć stm32 z pic18f2480. Problem jest taki, że pic chodzi na 5V (nie można tego zmienić, gdyż jest on mózgiem interfejsu ELM327 v1.4 zasilanego 5V). Ponadto w interfejsie siedzi FTDI i może to jest problemem w komunikacji, jednakże, wolę spytać o opinie zanim coś odłączę. Znalazłem w necie fajny konwerter sygnału 5V na 3.3V...
Globalne definicje przekazuje się przez kompilator, odpowiednimi parametrami. Powiem Ci w sekrecie, że wszelkie poszukiwania błędów w kompilatorze, szczególnie z takimi trywialnymi sprawami, są z góry skazane na śmieszność, tak więc to czy brnąć dalej w zaparte to już Twoja decyzja. Co z tego, że ty sobie w main.c zdefiniujesz, skoro pliki od UARTu...
sprawdziłem w dokumentacji. FIFO ustawiane jest w trybie z DMA, którego nie używasz. Więc ten aspekt odpada. Dla uporządkowania tematu. PC-t wysyła do stm32f1.. ramkę z 8 bajtów z 1 bitem stopu bez parzystości. 8 bajtów wyjechało i masz je w buforze odbiorczym pc-ta jako echo. 1. czy arm widzi tylko wybrane bajty ? 2. czy arm widzi wszystko? 3. czy...
Witam, Mam mały problem z ustawieniem niestandardowej prędkości na STM32 powyżej 115200. Problem pojawia się zarówno przy użyciu funkcji niesocjalizującej jak i ręcznego skonfigurowania ( ręczne wyliczenie wartości dla rejestru BRR ). Nie ma problemu z różnymi transmisjami 9600, 28800 aż do 115200. Po tej wartości terminal milczy. Jedynie przy użyciu...
usart stm32 stm32 usart string stm32 usart ramka
uszkodzony rezystor monitor odmierzanie sekund spawanie zbiornika bębna pralki
liebherr moduł schemat czujnika wilgotności
Creative SBS A320 9-Pin Mini-DIN Pinout, Cable Repair, and Common Faults Fiat Punto - problem z trzecim światłem stopu