Ta linijka wygląda podejrzanie: ADC1 -> SQR3 |= ADC_SQR3_SQ1|ADC_SQR3_SQ1_2; //CHANEL 6 SELECT A ta jest błędna, ale "czasem zadziała" ;) ADC1->SR &=~ADC_SR_EOC; W kodzie powyżej nie ma włączenia timera, a niewłączony raczej nie wyzwoli ADC.
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".
Zgadza się - tak właśnie się to robi.
Pierwszy problem - to brak synchronizacji. Nadawane dane muszą mieć taką postać, żeby łatwo było zauważyć początek ich porcji. Może to być np. kod końca wiersza lub spacja pomiędzy liczbami. Użycie DMA do odbioru danych jest zdecydowanie złym pomysłem, przynajmniej dla początkujących. Dobrym pomysłem za to jest zrobienie wszystkiego w przerwaniu, pod...
No i tryb PA2 powinien być AF, a nie IN - to nie F1xx, w którym wejścia AF nie są konfigurowalne.
a masz przejściówkę na usb z usart. Jak tak to podłacz do uart1
Witam, HSE_VALUE=8000000 w moim projekcie, a zegar AIFO włączam tą linijką: RCC_APB2PeriphClockCmd(RCC_APB2Periph_US... RCC_APB2Periph_AFIO, ENABLE);
Witam, Mam problem a USARTem w STM32F103. Bardzo rzadko, ale zdarza się że gubi znaki. 1. Sprzęt: SIM900 <---UART4---> SRM32F103 <---USART2---> PC 2. Program: Inicjalizacja UART4: http://obrazki.elektroda.pl/6434457100_1... Opis: (1) - Zapisz każdy odebrany znak do bufora i wyślij do PC (2) - Jeśli trafisz na sekwencję http://obrazki.elektroda.pl/6596964500_1...
Robię pewien układ, w którym potrzebuję komunikować ze sobą 2 mikrokontrolery stm32f103 jedynie w jedną stroną po usarcie. Będzie wysyłanych kilka float'ów z maksymalną możliwą prędkością. Jak podejść do tego tematu, użyć do tego DMA, tak, żeby procek był jak najmniej obciążony ciągłym odbieraniem danych? Wysyłanie nie będzie problem, gorzej z odbieraniem,...
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
Projekt SPI + DMA + USART to przymus, ktory musze zrobic a nie darze go jakas wyjatkowa sympatia, wrecz przeciwnie. Chodzi o samo wysylanie danych na jednym mikrokontrolerze pomiedzy SPI1 (master) a SPI2 (slave), Dalej mocno niezrozumiałe - np kol (at)Freddie Chopin nie wie gdzie jest SPI2. Moźe być też tak Jeden kanał odbiera USART -> RAM używając...
Witam, niedawno pisałem o problemie pracy procka bez debugu dla USB. Teraz mam cos podobnego z kartą SD. Poprzednio problem minął samoistnie bez specjalnej próby rozwiązywania go. Teraz mam tak ze pod debugiem soft poprawnie inicjalizuje kartę SD natomiast bez debugu nie inicjalizuje karty SD. BEZ DEBUGU po komendzie GoToIdleState nie ma spodziewanej...
OK. Ja też jestem w pracy i nie zawsze mogę o tej porze coś robić. Ale dalej: Do testowego używania UARTA przyda się "podmienienie" standardowej obsługi funkcji printf na taką, która wysyła dane przez UARTA do naszej Windowsowej konsoli. Możesz to wpisac standardowo przed obsługą assert_failed() /** * (at)brief Retargets the C library printf function...
http://www.st.com/web/en/resource/techni... tabela 3. Wg. mnie jest tam napisane, że stm32f103 ma wgrany bootloader który używa tylko USART. Faktycznie można używać przejściówki, ale mi chodzi o programowanie prosto przez usb uc.
void USART2_IRQHandler(void) { while (!(USART2->SR & USART_S... ... To chyba oczywiste, czemu przestaje działać przerwanie od USART1 jak włączysz to od USART2.
Witam, Chcę wykorzystać w uK Uart4 do pracy w przerwaniu jednak wszystkie moje wysiłki jak na razie kończą się niepowodzeniem. Skonfigurowałem Uart4 do pracy z prędkością 9600/rx/tx włączyłem odpowiednio taktowanie i ustawiłem porty. Wysyłam znaki do uK i z uK wszystko idzie poprawnie dopóki nie ustawię przerwania UART4_IRQHandler. // włączenie portów...
Ja mam stm32f4discovery i obecnie przygotowanie do tego środowiska programistycznego to pikuś. Dobra współpraca z linux (przygotowanie środowiska programistycznego) dobrze działa debuger http://wikimarek.referata.com/wiki/Progr... Będę chciał zrobić na początek zegarek i jeszcze do końca nie wiem jak z możliwością wykorzystania portów...
Obsługę FatFs już mam. Tworzę pliki, zapisuje do nich itd. Strona na pewno będzie dynamiczna, ponieważ chcę tam miec przyciski, statusy wyjsc itp.
Dzięki za odpowiedzi! gaskoin wydaje mi się, że sprawdzanie bufora w przerwaniu po odebraniu znaku nie będzie zbyt optymalne bo komunikacja wygląda tak: Zapytanie: AT\r\n Odpowiedź: AT\r\n// Z włączonym echem OK\r\n Więc w trakcie odbierania znak \n pojawia się klika razy przez co będę blokował przerwanie podczas odbierania danych. Teoretycznie echo...
To że w drugiej linijce ma znaczenie: [syntax=c] USART2->CR1 = USART_CR1_TE;// uruchomienie Tx USART2->CR1 = USART_CR1_UE;// zerowanie rejestru i ustawienie tylko tego bitu [/syntax]
Pytanie odnoście udostępniania lokalizacji, jest możliwe aby owe zadania było udostępnianie na jakieś stornie internetowej? Po podłączeniu modułu Ethhernetowego jak najbardziej. Jeśli ma to być Arduino, to z procesorem co ma dużo ram (UNO odpada) i kilka Usart (tym bardziej UNO odpada). Wynika to z pamięciożernego Ethernetu i dwóch usart (GPS, GSM)....
Masz Cube - tam możesz sobie na "nóżkach" poeksperymentować. A tak przy okazji - czy Ty całą wiedzę bierzesz z forów? - ja odpaliłem cuba - i PB11 znalazłem od razu - możesz tez alternatywnie na PC10 i 11 http://obrazki.elektroda.pl/8276771600_1... albo wszystkie 3 http://obrazki.elektroda.pl/9192410300_1...
No to szukaj błędu w ustawieniach zegara - skąd bierzesz przebieg wejściowy, częstotliwość (sprawdź czy dobrze ustawiona w module startowym), wywołanie SystemCoreClockUpdate itp... Prosty test: zaprogramuj timer i procedurę przerwania od niego an miganie diodą z częstotliwością 1Hz i zmierz sekundnikiem czas np. 60 mignięć.
Witam, walczę z UART i natrafiłem na przeszkodę w postaci odbioru danych (wysyłanie działa). Analizując mój kod przynajmniej teoretycznie powinien działać, ale w praktyce tego nie widać, więc proszę o zdjęcie mi klapek z oczu i wytknięcia błędów. Zamieszczam kod, który ma za zadanie sterowanie diodą w zależności od odebranego rozkazu. Konfiguracja UART...
Cześć, Nie dawno zacząłem przygodę z STM32. I mam duży problem nad którym siedzę już parę dni. Chciałem stworzyć prostą komunikację z komputerem gdzie przez terminal odpowiednimi komendami będzie można gasić i zapalać diody i w drugą stronę przesyłać które diody są zapalone. nie wiem gdzie jest tu błąd więc Ustawienie GIPO void GPIO_Conf(void) { GPIO_InitTypeDef...
Ale niby w tym co wyslales - projekt z cubeMX jest 1200 prędkość i konfiguracja w zasadzie taka sama.... ? Dodano po 56 Na stm32f103 dziala predkosc 1200 - testowalem.
Hej, rzeczywiście coś się ruszyło. Udało mi się podłączyć przez openocd przy przytrzymanym przycisku reset. Kiedy go puszczam połączenie się przerywa. Sprawdzałem tez i przy przyciśniętym guziku nie udaje mi się wgrać flasha przez eclipse. Ten sam jtag działa bez problemu i z tą samą konfiguracją z STM32F103. Bootloader przez usart nie działa, a usb...
Tak dokładnie to powinno być: if (USART1->ISR & USART_ISR_TC) GPIOA->BRR = 1u << DE_BIT; Coś mi dzisiaj klawiatura nie służy.
Mam ta samą płytkę. Może pobaw się tak jak ja: wysył przez DMA, odbiór w przerwaniu oto co starczy: [syntax=c]void SYSTEM_DMAConfig() { DMA_InitTypeDef DMA_InitStructure; DMA_DeInit(DMA1_Channel4); DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)(&USART1->DR); DMA_InitStructure.DMA_MemoryBaseAddr = (u32)SYSTEM_USART1BufferTx; DMA_InitStructure.DMA_DIR...
Chciałbym zralizować transmisje RS485 na stm32f103rb, gdyż mam pod ręką konwerter usb-rs485 oraz max3485. Moja ramka składa się z 8 bajtów.Jeśli chodzi o odbieranie to do mojego bufora dane wpadają poprawne czyli prawdopodobnie wszystkie ustawienia fizyczne mam poprawne. Niestety po kilku wysłaniach danych z PC z rzędu do arm pojawia się przekłamanie...
Ja rozumiem ze mozna szarpać się z darmowymi toolchainami, ale zeby z keilem?... Postawienie darmowego toolchaina trwa minute :)
Przerwanie bym raczej właczył przed odpaleniem DMA. Odbiór przez DMA to raczej tylko w przypadku kiedy masz zawsze tę samą ilość danych. nie wiem jak w Twoim przypadku bo nic o tej "ramce" nie piszesz. Rozmiem że ma dokładnie 30 bajtów. Jezeli ma więcej lub mniej o choćby jeden bajt to Twój algorytm nie zadziała. - jezeli mniej np o 5 bajtów to odbierze...
Witam. Aktualnie walczę z kompilatorem GCC non-eabi. Chcę utwożyć projekt w C++ używając własnego skryptu linkera, jednak po długiej walce nie mam już pomysłu na rozwiązanie. W jaki sposób skonfigurować kompilator, linkera oraz skrypt linkera tak abym mógł własne tablice zdefiniowane w plikach .cpp wstawić w wybrane prze zemnie miejsce w pamięci? Wersja:...
Po co masz przewanie od odbioru USART i DMA za jednym zamachem? Masz mieć włączone przerwanie od DMA a nie od USART-a. Włącz przerwanie od DMA - ty tego nie robisz. Całkowity kisz misz - nie te przerwania co trzeba. Nie ma prawa działać.
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...
Tak jak Ci rasz poradził, użyj tylko warstwy drugiej i gotowe. Hardkodujesz maki źródła i celu w ramce ustawiasz EtherType na jakiś nie używany (lub co tam sobie wymyślisz), liczysz CRC (nie pamiętam czy enc28j60 sam tego nie liczy) i puszczasz w świat. Potem jak już dojdziesz do wniosku, że nie ma sensu wynajdywanie koła od nowa użyj jakiegoś gotowego...
Ach no racja, co ja też piszę. Bo mam taką płytkę, która również ma stm32f103c8, ale znowu nie ma wyprowadzonego resetu i szukam jakiegoś sposobu, żeby ją wygodnie flashować. Oczywiście swd nie jest wyprowadzony również, zostaje jeszcze usart, chociaż najbardziej wygodny byłbym ten mass storage. A zamiast reset np. stan wysoki lub niski, na którymś...
Posiadam 2 układy: - hy-smart stm32 na STM32F103 - urządzenie na attiny2313 oba udało mi się ładnie dotychczas ogarnąć, oba pracują poprawnie, jednak pozostaje ostatni krok - połączyć je. Jako, że hy-smart oraz attiny mają uart to na ten protokół padł wybór. Niestety mimo wielu podejść nie udało mi się wysłać poprawnie pakietu. Gdzie robię błąd? Tak...
RM0008, strona 205, table 65 RM0008, strona 206, table 66 Sygnał REQ każdego kanału pochodzi z bramki OR, do której wchodzą tylko niektóre sygnały REQ urządzeń. Z tego względu każdy kanał ma ściśle określone przeznaczenie do czego może zostać użyty.
Pewnie (podobnie jak i ja) z kodu napisanego "własnoręcznie" [; 4\/3!!
Witam. Napisałem program w CooCox, który wyświetla napis w terminalu, chcę, żeby po wciśnięciu przycisku napis się nie wyświetlał, a gdy się puści przycisk napis znów był wyświetlany. Mam taki kod napisany. [syntax=c] void send_char(char c) { while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); USART_SendData(USART2, c); } void send_string(const...
Witam, Próbuje uruchomić komunikacje uart w przerwaniu, no i oczywiście mam problem z tym, że nie działa :o Wygląda na to, że przerwanie wogóle nie jest wołane. Czy ktoś z szanownych forumowiczów mógłby zerknąc w kod i podzielić się informacją dlaczego ten program nie ma szansy działać? USART_SendData(USART1, 'X') do main'a działa ok. Jak również użycie...
Zestaw startowy dla procesora STM32F103 Witam serdecznie od niedawna stałem się posiadaczem tego zestawu startowego – układ ok ale dokumentacja dołączona na DVD już nie dlatego chciałbym zgromadzić wszystkie niezbędne informacje do uruchomienia w jednym wątku. Większość (jak nie wszystkie) readme dodane na DVD są chyba po kantońsku lub mandaryńsku…...
Witam, Wykonałem sobie płykę pod STM32F103CBT6 i próbuję się z nim połączyć w jakiś sposób. Próbowałem JTAG'iem - nie widzi procesora. Próbuje RS'em - również się nie może połączyć. BOOT1 mam ustawione 0, BOOT0 - 1 . Jak zrozumiałem z PDF'a aby uaktywnić bootloader należy oprócz takiego ustawienia PINów BOOT, po włączeniu zasilania podać na NRST stan...
I kolejna sprawa o której już wspominałem to taka, że nie chce w projekcie mieć tysięcy plików, które nie będą mi do niczego potrzebne i których przybywałoby przy każdej aktualizacji distortosa. Warto tutaj dodać, że od dłuższego czasu całość jest zrobiona tak, że używając np. STM32F4 możesz po prostu wywalić wszystkie foldery innych rodzin mikrokontrolerów....
Hej, Od kilku dni borykam się z dziwnym problemem. Napisałem sobie obsługę UART4 na mikrokontrolerze STM32F103RET6. Wycinek z kodu: https://obrazki.elektroda.pl/7181097200_... Napisałem sobie aplikację w C# (VS Community 2017) do odbioru ramek: (wycinek) https://obrazki.elektroda.pl/4415666900_... dostaję tylko jedną...
No nie do końca, bo potrzebujesz np. jeden usart ale masz 3 do wyboru, z którego każdy może blokować pliny dla innych peryferiów i być zremapowany jeszcze na inne piny. Czyli teoretycznie dla jednego peryferia masz 9 możliwości.... Zastanawiam się po prostu czy jest jakaś metoda radzenia sobie z tym, przy dużych układach... Pozdrawiam krzysiek
Witam. Szkole się w programowaniu zacnych STM32 i od razu na poczatku mam problem z funkcja printf(); Po wywołaniu tej funkcji procesor się zawiesza. Mam zrobiony proste nadawanie i odbieranie danych przez UART. Używam Keila MDK ARM V5 biblioteki HAL wygenerowane w STM32CUBEMX. Korzystam z płytki Kamami Zl27ARM. Na razie chcę uzyskać następujące efekty:...
Temat stary, ale problem mam podobny. Ustawiając USART w tryb synchroniczny brak wyjścia sygnału zegarowego. Chwilę później.... No udało mi się znaleźć przyczynę. Problem stanowi inna funkcja alternatywna przypisana do tego pinu. Po przemapowaniu wyjść jednego z peryferiów CK USARTU jest obecne.
Witam!!! Już próbowałem zwiększyć rozmiary na 2048 (trochę po małpiemu). Program cały działa w przerwaniach, od systicka, timerów, usart. Najpierw nie pomogło, ale po zrobieniu clean projektu i nowej kompilacji program ruszył. Z grubsza, bo przy następnym poziome przerwań się wykrzaczył. Jeszcze zwiększyć? I który-main czy process?
Witam. Mam problem z filtrem adresu w CANie. Używam tej samej biblioteki co Yaerius . Płytka STM32F103 ma odbierać wiadomości. I odbiera, jak podam w filtrze jakiś adres. Drugą taką samą płytkę używam do nadawania wiadomości powiedzmy z adresami 33, 34 i 35 (płytka moja więc mogę zaprogramować dowolnie). Docelowo ta pierwsza płytka ma służyć jako analizator...
Witam, mam dziwny problem z komunikacją I2C. Przed stworzeniem tematu przetestowałem przykłady użycia I2C udostępnione przez ST (komunikację I2C1 z I2C2 itp.) i wszystko było ok, niestety pod drobnych zmianach i podłączeniu RTC DS1307, uC nie może się z nim skomunikować. Nie wiem w czym jest problem, a siedzę już nad tym ze 2 dni, więc prosiłbym żeby...
a ustawiłeś tak mało istotną rzecz jak baudrate ? AFIO niepotrzebne, chyba, że gdzieś indziej używasz. Spróbuj tak: #define USART2_TX_PIN 2 #define USART2_RX_PIN 3 #define FREQUENCY jakitamsobiemaszzegar #define BAUD jakitamchceszsobiemiec RCC->APB2ENR = RCC_APB2ENR_IOPAEN; RCC->APB1ENR = RCC_APB1ENR_USART2EN; GPIOA->CRL = (4 << (USART2_RX_PIN*4))...
[syntax=c]void HAL_UART_RxCpltCallback(UART_HandleTypeD... *huart) { if(huart->Instance==USART1) { //... operacje na danych odebranych przez UART1 } elseif(huart->Instance==USART2) { //... operacje na danych odebranych przez UART2 } elseif(huart->Instance==USART3) { //... operacje na danych odebranych przez UART3 } else { //WTF? } }[/syntax]
Dobra, znalazłem co było nie tak - błąd przy wykonaniu PCB, w jednym miejscu było dosłownie niezauważalne połączenie między sygnałem SWCLK a GND :) po poprawieniu tego błędu działa już jak trzeba... że też wcześniej nie sprawdziłem stanów na pinach złącza... Akcja zakończona happy endem, dziękuję za chęć pomocy ;)
A próbowałeś np. ten sam typ procesora tylko, że inny podłączyć? Miałem kiedyś inny problem na STM32F103VET6, używałem jednego pwm'a oraz usarta. Program wgrany do jednego procka pwm działa nie chodzi usart, program wgrany do następnego wszystko ok i działa jak należy. Żadnych zmian w kodzie, a sama errata nie wiedziała nic na ten temat. Może to po...
Zrobiłem pewnego rodzaju prędkościomierz analagowy na zestawie HY-MINI. Dołączony wyświetlacz 240x320, obsługiwany jest za pomocą FSMC i biblioteki GLCD. Napiałem pewnego rodzaju, ponieważ prędkość podawana jest z komputera poprzez port szeregowy. Tło wskaźnika skonwertowałem z pliku .bmp do .c i załączyłem do projektu. Układ działa, ale jego działanie...
Chyba tak jest, tutaj plik startup_stm32f10x_md.c [syntax=c]/** ****************************************... * (at)file startup_stm32f10x_md.c * (at)author Coocox * (at)version V1.0 * (at)date 12/23/2009 * (at)brief STM32F10x Medium Density Devices Startup code. * This module performs: * - Set the initial SP * - Set...
Cześć Mam problem z Kodem w stm32F103, chodzi dokładnie o znak końca wiersza, prowadzący zajęcia dał na funkcję która działa podobno na linuxie natomiast na windowsie już niekoniecznie. Poniżej przedstawię fragment kodu w którym jest problem: [syntax=c]volatile char rxBuf[32]; uint8_t rxBufPointer; volatile uint8_t rxDataRead; void USART1_IRQHandler(void)...
Mam takę niepewność: Wiem, że podczas samego zapisu program przestaje być obsługiwany. Co by się stało gdyby w funkcji obsługującej zapis do flash pojawiło się przerwanie np. od Systicka, USARTu, itp ?
Sprawdziłem wartość rejestru. Po odebraniu bezpośrednio ładuję na USART, efekt - wartość rejestru się nie zmienia. To duża podpowiedź, bo błąd tkwi w SPI albo w rygorach czasu. Dodano po 1 Tak, tak, wiem. SysClock jest ustawiony na 8Mhz. PLL = 24MHz. Dodano po 1 UWAGA! UWAGA! Problem rozwiązany. Okazało się, że zakupiony MPX6675 ze sklepu bot****.com...
Mam problem z STM32F103VET6. TIM2_CH3 jest używany jako wyzwalanie ADC. Problem w tym, ze sygnał ten jest na wyjściu PA2 (USART2_TX), mogę go tez mapować na PB10 (USART3_TX), ale oba piny juz sa używane jako GPIO_Mode_AF_PP. I teraz pytanie: czy mogę jakoś ustawić, aby TIM2_CH2 dalej wyzwalał ADC, ale nie wpływał na piny? [syntax=c] TIM_OCStructInit(&TIM_OCInitStructure);....
Może konflikt pinów z LCD i SPI. Musisz pokombinować. Zresztą, zrób sobie pusty projekt dodaj fatfs i ten plik, napisz obsługę SPI i powinno działać. A i uzupełnij sobie funkcje int _write(); np. tak żeby korzystała z USART, będzie ci działać printf();.
zujnik jest podłączony bez rezystorów wzmacniających, ponieważ odczytałem ze schematu, że nie są potrzebne(próbowałem także z rezystorami 4k7). Przy sprawdzeniu bufora z danymi w programie Stm Studio, nic się nie zmienia a flaga busy jest ustawiona jedynie przy odłączeniu kabla SDA od czujnika. Proszę o pomoc w znalezieniu przyczyny braku odczytu i...
Witam serdecznie Kolegów! Aktualnie jestem w trakcie pisania gry typu labirynt z kulką na procesor ARM STM32F103VCT6. Wszystko mam pięknie i ładnie obsłużone (symulacja odbić od powierzchni płaskich, detekcja kontaktu z otworami) no ale zostało jeszcze najważniejsze - symulacja odbić kulki od kantów prostokąta. I tu niestety zaczynają się schody. Z...
Witam, mam problem z programowaniem przez SWD. Procek nie chce się odezwać w STLink Utility. Próbowałem już wszystkiego. Jakimś cudem wpadłem na to że po podłączeniu BOOT0 do 3,3V i zresetowaniu procka odzywa się normalnie i daje się programować. Na płytce BOOT0 i BOOT1 są podłączone do masy przez rezystory 10k. W STLink Utility zrobiłem kasowanie proca...
Tak na temat chciałem jeszcze dodać: Mógłby ktoś pomóc i powiedzieć jaki jest potrzebny do niej programator (oczywiście cena ważna...)? A może da się po kablu USB? Z góry dzięki za pomoc! Jeśli chodzi o F103 to mają one wgrany fabrycznie bootloader po USART, więc do zaprogramowania wystarczą dwa kable. Co do USB, to niestety, ale inne bootloadery mają...
Witam, Mam pytanie do znawców środowiska ECLIPSE. Czy jest możliwość aby podczas debugowania mieć podgląd rejestrów peryferiów (np. USART) w innej formie niż wartość HEX? Dokładniej mam na myśli rozpisanie każdego z bitów i interpretację go na poziomie pełnionej funkcji, coś na kształt tego co można spotkać w środowisku Keil. Z góry dziękuję za pomoc....
Skoro tak to rezystory wyrzuciłem. BOOT0 i BOOT1 są na masie. Oto fragment kodu rozruchowego: void RCC_Configuration() { ErrorStatus HSEStartUpStatus; RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS) { FLASH_PrefetchBufferCmd(FLASH_Prefet...
Cześć, piszę z kolejną rozterką. Z góry mówię że wykorzystuję CMSIS'a Chcę zobić częściowy remap TIM1, ale wiąże się to z przepisaniem 8 pinów na PA i PB. Problem w tym że chciałbym wykorzystać równocześnie USART1(PA9 i PA10) i ADC12 (PA6). Zanim zabiorę się za kodzenie, chciałem spytać czy mogę zrobić częściowy remap i wykorzystać tylko TIM1_CH1N i...
Witam, Zrobiłem urządzenie w którym dwa procesory stm32f103 komunikują się między sobą poprzez USART na zasadzie Master - Slave. Urządzenie sobie pracuje poprawnie i po pewnym czasie (losowo raz po czasie np 1min, drugi raz po np 10min) w procesorze master zmieniają się stany bitów PEIE i RXNIE w rejestrze CR1 od USART3, więc wysyła on zapytania, slave...
Korzystam z przejściówki USART ->USB na FT232, podobno do 3MB/s. Docelowo chcę to zrobić na STM32F103, najwyżej zjadę z częstotliwości próbkowania do 4 kHz . Jak nie da rady to spróbuje wykorzystać interfejs USB w STMie, chociaż jeszcze tego nie robiłem. Zrobiłem teraz to samo co poprzednio ale tak aby transmisja się powtarzała, ustawiam zgodnie...
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...
Mam wspaniałe dzieła stm32f103 1-ware slave na takich delay //:::::::... // Прогрk...
Niestety nie mogę wykorzystać wbudowanego bootloadera ponieważ CAN USART USB są już zajęte. Jeśli chodzi o problem związany ze skryptami linkera to wgrywałem soft do procesora w opcji (kompiluj + programuj) co nie uwzględniało zmian w skryptach!!! Po przebudowaniu całego projektu skrypty wprowadzały zmiany w alokacji sekcji.
Ta funkcja powinna wyglądać tak: [syntax=c]u8 usart_read_byte () { while(!(USART1->SR & USART_SR_RXNE)); return USART1->DR; }[/syntax] Widisz drobną różnicę ? Jak bit jest nieustawiony to czeka, w Twoim przypadku jest tak, że jak nie ma nic do odebrania to zwraca losową wartość jaka aktualnie będzie na stosie. Kod w mainie zamiast tak: [syntax=c]if...
Witam, Od 2 tygodni mam moduł STM32-Mini z STM32F103VC. Próbuje uruchomić wewnętrzny termometr i przesłać temperaturę przez USART do komputera. USART działa bez problemu i odczytuję wartości w Terminalu. Jeśli chodzi o termometr to nie działa i nie wiem dlaczego. Według Reference Manual (RM0008) procedura jest taka: 1. Select the ADCx_IN16 input channel....
Jeżeli nic wcześniej nie podłączałeś do tego wyprowadzenia, to sprawdź czy układ/pin reaguje na ręczną zmianę stanu w rejestrze ODR. Przy okazji możesz sprawdzić stan pozostałych bitów odpowiedzialnych za konfigurację. Możesz wstawić zrzut ekranu. Ale jeżeli wszystko jest ok w rejestrach, a pin się nie odzywa, to jest trwale niezdolny do posługi i pożytku...
Makra takie: /* Flash Control Register bits */ #define CR_PG_Set ((uint32_t)0x00000001) #define CR_PG_Reset ((uint32_t)0x00001FFE) #define CR_PER_Set ((uint32_t)0x00000002) #define CR_PER_Reset ((uint32_t)0x00001FFD) #define CR_MER_Set ((uint32_t)0x00000004) #define CR_MER_Reset ((uint32_t)0x00001FFB) #define CR_OPTPG_Set ((uint32_t)0x00000010) #define...
Witam, Po uruchomieniu trzech interfejsów RS232 w STM32f103rb przyszedł czas na RS232 w STM32f407 i odrazu problem. Zrobiłem konfigurację USARTA i wysyłam w pętli znak 'a' a otrzymuję jakieś E z indeksem dolnym 1. Konfiguracja : [syntax=c] void init_USART1(){ /* This is a concept that has to do with the libraries provided by ST * to make development...
Rzeczywiście teraz dopiero do mnie dotarło jak funkcjonuje mbed. W przeglądarce generuje mi plik .bin który np. za pomocą ST-Link Utility mogę wgrać. Pozytywnie zaskakuje mnogość bibliotek, jednak tak jak wcześniej napisałeś mogą wymagać drobnej edycji. Zainspirowany podanymi wyżej sugestiami, problem z Uartem rozwiązałem tak, że dane wychodzące przekazuje...
GPIOA->BSRR |= GPIO_BSRR_BS5; To nie źródło problemu ale tak się tego rejestru nie używa. To jest write only rejestr czyli tylko samo przypisanie Zgadza się, dzięki :) Co do głównego problemu, punkt 1. Użyj debugera okazał się bardzo pomocny :) Założyłem, że skopałem coś w Makefile (np. brakuje jakiejś flagi) i podczas debugowania nic ciekawego...
Czujnik jest w porządku ponieważ próbowałem go uruchomić wcześniej na innym kodzie zawierającym delay'e i wszystko działało. Schemat to standardowe podłączenie pinów UART do linii danych i podciagnięcie tego do linni zasilania na płytce stykowej. UART skonfigurowany w trybie half duplex. [syntax=c] void SendBit(uint16_t bit) { if (bit==0) { while(!(USART1->SR...
Nawet STM32F100 ma DAC i USART też. RM natomiast znacznie chudszy od 446. Jest na przykład na STM32L100CDISCOVERY.
Czy ja dobrze czytam, że w przerwaniu od timera robisz set/reset pinów i to Twój PWM? Nie, to jest lewitacja elektromagnetyczna i odwracam w ten sposób polaryzację cewki, kiedy PID wyliczy ujemną wartość (lewitujący obiekt przekroczy setpoint). Dodano po 6 Wrzucam jeszcze całego main'a. [syntax=c] /* USER CODE BEGIN Header */ /** ****************************************...
Witaj Żeby nie było, że się czepiam to w konfiguracji USARTA masz wpisane USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); Najlepsza droga do sprawdzenia, czy to działa to eksperyment :) Wpisałem Twój programik do STM32F103. Nie skorzystałem z przerwań, bo do eksperymentu to niepotrzebne. Miałem zwykłą pętlę while (1), a sprawdzanie USARTA do wysłania...
Witam. Jako że uIP mnie troszkę drażni, chcę się przesiąść na lwIP. Czy ktoś uruchomił to na takim zestawieniu? STM32F103 enc28j60 LWIP Pozdrawiam
Oto cała funkcja [syntax=c]void sendString(int len,unsigned char* Data) { while(len--) { while(! (USART3->SR & USART_SR_TC) ); TickCnt = 1; // musi byc opoznienie dla modulu BM78 while (TickCnt); USART3->DR= *Data++; } }[/syntax] Wydawało mi sięże powodem mogło być RCC proca lub z jakiegoś powodu wadliwa konfiguracja USART. Zdebugowałem to zapisując...
Witam, Kiedyś wykorzystywałem w swoim projekcie układ FT245 do komunikacji z PC po USB. Układem sterował atmega poniżej przykładowy kod odczytu i wysłania 1 bajtu: unsigned char read_USB_byte(void){ unsigned char byte=0; DDRC = 0x00; //portc - jako wejscie do{ if (RxF==0) //kiedy RxF#=0 nowy znak do odczytu { RD_LO; //strob...
Ten program wprowadza mojego STM w tryb uśpienia, ale go nie wybudza, macie jakieś pomysły jak to rozwiązać żeby się wybudzał? Wewnątrz while jest kod wykonawczy zadanej funkcji, w tym momencie działa to tak, że po podłączeniu zasilania wykonuje się ten program, po wypełnieniu licznika przechodzi w tryb sleep i już z niego się nie wybudza. Dodam, że...
Witam Zastanawiam się jak można oszacować wydajność systemu DMA. Chcę użyć trzech kanałów DMA a nie chce mi się kontrolować i prawidłowo reagować gdy transmisja DMA się nie wykona. Chcę: - odbierać dane przez USART 20 bajtów co 20 [ms] (ramka z wykrywacza) - wysyłać dane przez SPI 2*504 bajtów co 50 [ms] (obsługa dwu wyświetlaczy z nokii 3310) - generować...
Mój Arduino nano ma procesor Atmega328P i zawsze taki miał jak kupowałem, słyszałem ze Arduino mini może mieć Atmega168 ale ja jak kupiłem Arduino mini to też miał Atmega328P , teraz program bryka i wyglada ze się dogadał z moim Arduino,jak zmontuję całość i skalibruję to umieszczę na forum. Jeden z pierwszych linków z Google https://pl.aliexpress.com/item/Pro-Mini-...
Dzień dobry, Napisałem sobie program (korzystam z: STM32CubeMX oraz Atolli TrueStudio, mam BluePill STM32F103C8, port szeregowy podłączony za pomocą UART2 oraz konwertera FT232RL (ustawionego na 3,3V - bo w dokumentacji wyczytałem że te wejścia nie tolerują 5V) do portu USB, gdzie łączę się za pomocą BrayTerminal). Na BluePill mam wbudowaną jedną diodę,...
Witam, mam problem z uruchomieniem uarta. Napisałem kod, w którym z komputera wysyłam znak ASCI a zadaniem uC jest mi go zwrócić, Jak widać na zamieszczonym zrzucie uC odsyła dziwne dane. Nie wiem co może być tego powodem. Próbowałem w kilku terminalach, wszędzie ten sam efekt. Z góry dzięki za wszelkie podpowiedzi. [syntax=c]#include <gpio2.h>...
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...
Witam, cały dzień męczę się z obsługą przerwania od odbioru danych w STM32103RB. Korzystam z biblioteki HAL. Po całym dniu dalej nie wiem jak to ma wyglądać, dostępne example robione są w STM32CubeMX, a ja z tego nie korzystam. W dokumentacji chyba nie potrafię się poruszać bo nie wyiskałem z niej co po kolei trzeba wywoływać aby obsłużyć to przerwanie....
No wiec tak, te dwie rzeczy są takie same w obu twoich przykładach i ich nie zmieniałem: __main_stack_size = 0; __process_stack_size = 1024; Przedstawiam poniżej to co teraz mam w moim projekcie: STM32F103RC_rom.ld [syntax=c]/*****************************... * author: Freddie Chopin, http://www.freddiechopin.info/...
Muszę dopiąć się do czujników ciśnienia, pracujących na magistrali RS-485 w trybie Modbus. Parametry transmisji BaudRate 9600, DataBits 8, Parity None, StopBits 2. Napisałem taką funkcję inicjalizacji portu USART2 i nie wiem czy jest wszystko co potrzeba. Dla TX ustawiłem port jako Alternate_Function_PP_10MHz, dla RX jako Input_Floating. Czy tak powinno...
Sprawdzałem na HyperTerminal i Terminal v1.9b. Wszystkie parametry są dobrze ustawione. Ciekawostką jest to, hyperTerminal nic nie odbiera jak używam DMA. Natomiast jak wysyłam znaki np tak [syntax=c] void USART2_Send(uint8_t data) { while (!(USART2->SR & USART_SR_TC)); USART2->DR = (data & 0xFF); USART2->SR &= ~USART_SR_TC; } [/syntax] to jakieś krzaki...
Witam, Mam problem - mam za zadanie zrobić coś w stylu skanera 3D na STM32. Na razie nie mogę opanować samej obsługi kamery w konfiguracji STM32F103VE+ wyśw. SSD1963 7" (zestaw EB-STM32_08_LCD7) i kamera OV7725 . Do zestawu dostałem przykładowe projekty w keilu. Bazując na projekcie do sprawdzania kamery z wyświetlaczem 4.3' wkleiłem działające biblioteki...
stm32f103 usart stm32f103 breakpoint stm32f103 usart1
behringer kolumna naprawa volvo silnika ustawienia karty bezprzewodowej
snaige termostat siemens sr64e002
Doc Green ESA 5000: Brak reakcji na manetkę gazu po wymianie baterii Błąd 0x0000000A w Windows XP: Instalacja i deinstalacja