Tutaj udokumentuję moją podróż z tanią płytką deweloperską / hobbystyczną STM32F103C8T6 "blue pill" zakupioną w Ali Express. Pomimo układu scalonego oznaczonego jako "STM32F103C8T6", wewnętrzna pamięć flash wydaje się mieć 128k zamiast 64k, co czyni go bardziej podobnym do STM32F103CBT6. Wydaje się, że nie jest to nieoczekiwane w przypadku podróbek/klonów...
Niestety nie pomogło Teraz proc wyłącza się po 40 s Myślę , że jest jakaś niezgodność CB32 z STM32
Uruchomiłem poniższy kod na CubeIDE na płytce z mikrokontrolerem F407VET i przerwanie od DMA ładnie tu działa. Z F030 muszę niestety jeszcze powalczyć. Zauważyłem, że jak nie dodałem warunku while((SPI1->SR & SPI_SR_BSY) == 0) obraz był przekoszony, czyli były błędy w transmisji. https://obrazki.elektroda.pl/1742074200_...
Skąd wziąłeś pomysł na wstawki z FLASH->ACR? Czytam RM0401 Jest dedykowany do tego rozdział: 3.4.1 Relation between CPU clock frequency and Flash memory read time Latency zależy od częstotliwości taktowania oraz napięcia zasilania, tak w skrócie. Co do ustawień zegara dla STM32 to warto zapamiętać sobie schemat działania, który wynika bezpośrednio...
Witam problem jest następujący, inicjalizacja SPI przechodzi (wydaje mi się że poprawnie). Niżej podam wartości rejestrów SPI3. Problem polega na tym że nie mogę nic wpisać do DR w interfejsie SPI, nie mam jeszcze nic podpiętego do SPI ale mam zamiar przetestować całość na modułach MMcc1100 i płytce ewaluacyjnej z STM32 na pokładzie (stm32-p107 z OLIMEXu)....
Dzięki freedi miałeś racje. Patrzyłem na kolejność przerwań w tabeli f0 ale nie na adresy. Aby zapełnić luki i poprzesuwać adresy dodałem brakujące reserved handler Dodano po 11 Teraz tylko muszę rozwiązać skąd mi przerwań multum nadchodzi i w nierównych odstępach od timera. Bo pwm wyprowadzone jest na jedną diodę a przerwanie zmienia stan innej diody....
Kod: [syntax=c]/** ****************************************... * (at)file system_stm32f0xx.c * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 23-March-2012 * (at)brief CMSIS Cortex-M0 Device Peripheral Access Layer System Source File. * This file contains the system clock configuration for STM32F0xx...
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. Dopiero zaczynam przygodę z STM, więc proszę o wyrozumiałość. Używam linuxa ubuntu 18.04. Zainstalowałem System Workbench i ustawiłem reguły dotyczące programatora ST-Link/V2 oraz wykonałem update firmware. Programator znajduje się na płytce "STM32 NUCLEO-F446RE". Po utworzeniu przykładowego projektu dla tej płytki jestem w stanie wgrać wsad...
W main.c czarów nie ma , bo stworzyłem nowy projekt golasa na potrzebę uproszczenia szukania problemu. Nie jestem programistą ani elektronikiem ,a do sprawy podchodzę hobbistycznie jako początkujący. Korzystam z System Workbenach for stm32 + Stm32CubeMX z bibliotekami HAL. Cube szykuje wszystko po czym ja tylko dodaję funkcję HAL_SYSTICK_Callback. plik...
Witam, Niedawno przesiadłem się na programowanie STM32, z arduino, i już na samym początku spotkałem problemy. Aby nie było niedociągnięć że robię coś źle, opisze wszystko jak mam ustawione. Posiadam moduł STM32F103C8T6 ARM STM32 Cortex-M3 oraz programator ST-LINK STLINK V2. Piny podłączone następująco: ST-Link - Moduł 3.3V - 3V3 SWCLK - SWCLK GND -...
Witam! Chciałem sobie zrobić prosty Counter zliczający ilość wciśnięć przycisku podpiętego do wejścia PA0. Skorzystałem z przykładu który zamieszczam poniżej. Niestety mój prosty Counter nie zlicza naciśnięć i zmienna cnt cały czas wynosi 0. Mam takie podejrzenie że przycisk nie jest programowo połączony z TIM2 tzn w funkcja TIM_TIxExternalClockConfig(TIM2,...
Witam, muszę zaimplementować dekoder protokołu RC-5 z pilotów na podczerwień. Zamiast pisać wszystko od początku, postanowiłem skorzystać z gotowego kodu przeznaczonego dla jednej z płytek ewaluacyjnych STM'a - oto paczka z kodem biblioteki i przykładowym projektem http://www.st.com/internet/com/SOFTWARE_...
Według noty powinno być 0x04 dla HSI, dla HSE jest 0x08. Ja używam HSI, tj. 16MHz. Kod: /** * (at)brief Returns the clock source used as system clock. * (at)param None * (at)retval The clock source used as system clock. The returned value can be one * of the following values: * - 0x00: MSI used as system clock * ...
Jakaś różnica musi być skoro na oryginale działa a na tym nie. Gruntownie rok temu na nim działałem i wszystko grało wiec pewnie coś z wgrywanym programem ale skoro daje sie programować na oryginalnym STlinku to nie będę sobie robić problemów z tym chińskim. Pod spodem podaje kod wygenerowany przez Stm32CubeIde z dopisanymi 4 liniami moimi czy miganie...
Możesz podać jakiś przykład tego układu 4021? Wszystkie jest opisane w linkach krok po kroku. Z Arduino (CHIP ATmega32u4) Leonardo/Micro Pro za pomocą 5 kabli (GND -masa, Vcc +5V, Clock, CloCK, Q8-dataPIN, P/SC )podłączasz do układu 4021 (rejestr przesuwny). W taki sposób oszczędzasz wolne piny na Arduino(ATmedze). Mozesz do jednego układu 4021 podłączać...
Witajcie, siedzę i szukam błędu w bibliotekach do obsługi NRF24L01. Skopiowałem je z biblioteki, którą wykorzystuje w ATmega8. Działa nawet dobrze tam, niestety na STM32F0DISCOVERY już nie chce. Będę bardzo wdzięczny za pomoc. To najpierw kody, które wyrażają więcej niż tysiąc słów ;) : main.c http://obrazki.elektroda.pl/4732813300_1...
Mam mikrokontroler stm32f103rb. Chciałbym wystawić stan wysoki na pin PA10. Oto kod: [syntax=cpp] #include "stm32f10x_conf.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" #include "misc.h" GPIO_InitTypeDef GPIO_InitStruct;//inicjalizacja void clock_init(void) ; int main(void) { clock_init()...
Witam, pytanie dotyczy systemowego timera oraz procesora STM32F107VCT6. Zewnetrznie mam podpiety kwarc 25MHz ale rozumiem jezeli nic wstepnie nie konfiguruje / nie uzywam pll bedzie on dzialal z wewn taktowaniem 8mhz prawda ? jezeli timer jest 24 bitowy czyli liczy od 16777215 do 0. przy ustawieniu przerwania co 16777215 tykniecia zegara bede mial przerwanie...
Embedded boot loader The embedded boot loader is located in the System memory, programmed by ST during production. It is used to reprogram the Flash memory with one of the available serial interfaces: ● In low-, medium- and high-density devices the bootoader is activated through the USART1 interface. ● In XL-density devices the boot loader...
Wyłączyłem optymalizacje. Wprowadziłem zmiany w startup. http://obrazki.elektroda.pl/7964964200_1... Main wygląda tak: [syntax=c]int main(int argc, char* argv[]) { // At this stage the system clock should have already been configured // at high speed. int x=0; x+=10; // Infinite loop while (1) { ++x;// Add your code here. } }[/syntax]...
Witam niedawno rozpocząłem przygodę z STM32. Korzystam z zestawu uruchomieniowego olimexp103 w którym zamontowany jest przycisk normalnie otwarty podpisany "wake up". Chciałbym go użyć do moich prostych programików, jest to możliwe czy jest on przeznaczony do innych celów? Jeżeli jest możliwe użycie go do prostych programów to poniżej opisuję mój problem,...
Podaj zawartości jeszcze rejestrów od zegara itp, to tajemnica 72MHz się wyjaśni :) Oto kod inicjalizacji SPI1 void spi_init (void) { SPI_InitTypeDef SPI_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; /* Configure SPI1 pins: SCK, MISO and MOSI ---------------------------------*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_7;...
Problem nadal występuje. W wersji 5.0.1 Cube jako nakładka do Eclipse (Neon.3 release 4.6.3) nie można już edytować pola LSE (nie dziwne, bo nie ma po co - mikrokontrolery akceptują tylko klasyczne kwarce zegarkowe 32768 Hz). Jednakże problem dzielenia wartości w polu LSE przy każdym wejściu w Clock Configuration nadal występuje. Po zmianie wartości...
Witam wszystkich serdecznie! Potrzebuję pomocy z pewnym zadaniem z systemów wbudowanych, 4 rok studiów. Programuję w języku C środowisku CooCox CoIDE procesor STM32F103ZET6 użyty w module HY-RedBull_V3 posiadający 3,5-calowy ekran dotykowy TFT LCD HY35A (kontroler LCD SSD1963, kontroler ekranu dotykowego ADS7843 lub XPT2046), który ma wykonać poniższe...
A to masz już w dokumentacji samego uC The RCC feeds the external clock of the Cortex System Timer (SysTick) with the AHB clock (HCLK) divided by 8 . The SysTick can work either with this clock or with the Cortex clock (HCLK), configurable in the SysTick control and status register. Z dokumentacji ARM: CLKSOURCE Indicates the clock source: 0 = external...
Witam. Próbuje uruchomić I2C, ale bezskutecznie. Cube mi generuje taki oto kod: https://obrazki.elektroda.pl/3821249100_... Na D15 jest SCL z I2C1 jednakże po podłączeniu oscyloskopu nie ma sygnału zegarowego. Podciągam ten pin do VCC przez rezystor 4k7 lecz sygnału nie ma dalej. Zastanawiam się czy to może Cube nie wygenerował linijki...
Niestety nie pomogło EDIT: Spróbowałem wygenerować za pomocą STM32CubeMX i napisać w HAL'u kod który by wysyłał cyklicznie dowolną ramkę CAN. Oto mój kod napisany w AC6 System Workbench: http://obrazki.elektroda.pl/9453638400_1... Przy okazji: 1. Jak wgrać program przez JTAG'a w AC6? 2. Da się dodać bibliotekę HAL do COIDE CooCox'a?...
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, modyfikuję bibliotekę pod klawiaturę matrycową 4x4. W funkcji "Keypad4x4_ChangeColomn" dla określonego warunku należy zmieniać ustawienia pinów z PushPull na Oped Drain. Wszystko funkcjonuje dobrze : dla pierwszego warunku "if(colNum_0_to_3==0)" bity w rejestrze zostają ustawione poprawnie, jednak dla kolejnych warunków pozostają one bez zmian,...
To sprawdź jak to jest w tym układzie, wprowadzę odpowiednie zmiany do mojego RTOSa jeśli faktycznie by się nie dało ustawić tego "reference clock". Wygląda na to, że w tym temacie wśród producentów uC opartych na Cortex-M panuje dowolność. Źródło: TEXAS INSTRUMENTS Stellaris LM4F120H5QR Microcontroller DATA SHEET Clock Source (CLK_SRC) Value Description...
dzięki za podpowiedź choć akurat dla STM32F107 jest to troszkę bardziej pogmatwane, konfiguracja z uwzględnieniem magistrali dla I2S wyszła tak, ale pytanie czy tak jest na prawdę pozostaje otwarte.... [syntax=c][/syntax]void RCC_traktowanie(void) { //reset ustawien do wartoci domylnych RCC_DeInit(); /*właczanie rezonatora zewnetrznego*/ RCC_HSEConfig(RCC_HSE_ON);...
Witam, Na początku chciałem zaznaczyć ze jestem początkujący jeśli chodzi o procesory typu ARM, a tym bardziej o obsługę FreeRTOS. Mam problem z obsługą magistrali CAN pod tym system. Wykorzystuje biblioteki pobrane ze strony www.freertos.org . Niby wszystko ładnie się kompiluje ale na magistrali nic się nie pojawia . Odpaliłem proste zadania typu miganie...
Szanowni Forumowicze, Mam problem z Virtual Port COM. Używam procesora STM32F103VBT6. Na nim chcę zrobić taki sterownik uniwersalny kilka wejść wyjść oraz USB do wysyłania komend i odczytu stanu wejść i wyjść. Chcę zrobić to tak że np mam wyjście powiedzmy PA0 i jest tam podłączona dioda i po wysłaniu komendy "LEDON" włączy się. Niestety mając do dyspozycji...
C-SKY Flash Programmer jest oprogramowaniem dostarczanym do pobrania przez XuanTie na stronie https://www.xrvm.cn/community/download?i... https://obrazki.elektroda.pl/1504579400_... Narzędzie to współpracuje z programatorami CK-Link do odczytu i zapisu w pamięci flash procesorów C-Sky z rdzeniem RISC. Procesory...
Dzień dobry, Dopiero zaczynam swoją przygodę z uC, mniej więcej ogarniam język C i stanęło przede mną zadanie napisania kodu sterownika do diod WS2812B. Wiem, że na temat tych diod było już sporo wątków na forum, więc będę się streszczał. Sercem sterownika ma być docelowo mikrokontroler z serii STM32F0 lub STM32F4, w zależności od tego jak dużo będę...
Cześć, Platforma: STM32F769I-DISCO, środowisko: System Workbench for STM32 Wydawało mi się, że poprawnie skonfigurowałem FreeRTOS, ale ten znowu mnie zaskoczył :) Jak tworzę wątki przed vTaskScheduler(), to wszystko działa super, ale jak próbuję stworzyć wątek po uruchomieniu planisty, to wątki nie uruchamiają się. Może czegoś nie rozumiem, ale wydaje...
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, Mam procesor STM32f030RCT6 (256kB flash, 32 kB ramu). Program napisany z wykorzystaniem wygenerowanego kodu w CUBE MX w środowisku AC6 . Zrobiłem już 5 płytek i co ciekawe na dwóch program działa bez problemu , a na trzech pozostałych już nie . Podglądając w trybie Debug widzę coś takiego jak zatrzymam wystartowany program: https://obrazki.elektroda.pl/5695132000_...
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...
Pracuje obecnie na tym nowym discovery z F7 na pokladzie, chociaz rejestry z tego co widze ma te same co F4. Przyszla pora na uruchomienie RTC za pomoca wbudowanego tam kwarcu 32.768 khz i zupelnie nawet nie moge go wlaczyc. Moglby ktos zerknac co robie nie tak? HSE i glowne PLL dzialaja dobrze [syntax=c] void RCC_Init() { RCC->CR = RCC->CR = RCC_CR_HSITRIM...
Witajcie ponownie :) Wybaczcie, że dopiero teraz odpisuję. Ogólnie "odpaliłem" wreszcie te emulację EEPROMa w FLASH. Działa, ale mam jedno pytanie, wirtualny adres zmiennych, czy muszę jakoś uważać na to co tam wpiszę? Chodzi mi o tę linijkę kodu: [syntax=c]uint16_t VirtAddVarTab[NB_OF_VAR] = {0x5555, 0x6666, 0x7777};[/syntax] To pytanie dedykuję głównie...
Nie wiem czy to co napiszę coś pomoże Koledze, ale mam pewne przemyślenia. Podobny problem też na początku swojej drogi miałem, tzn. problemy przy programowaniu klonem ST-Link do płytki z STM32F103C8T . Objaw polegał na tym, że musiałem ustawiać w STlink Utility opcję Connect Under Reset i co gorsza w odpowiednim momencie musiałem nacisnąć przycisk...
Witam, Do obsługi wyświetlacza LCD chce użyć peryferia FSMC - SRAM (ten sam problem z NOR również). Niestety ale częstotliwość generowanych sygnałów jest dość niska. Czy mógłby ktoś spojrzeć na moją inicjalizacje FSMC, być może coś pominąłem i dlatego to tak powoli działa. U mnie czas pomiędzy kolejnymi impulsami na pinie NWE to 1.76us. Niewiele szybciej...
Witam Robię prototyp płytki pod STM32L151 i zatrzymalem się przy zewnetrznym kwarcu. Nie mialem go zamiaru użyć, ale jak wyczytałem w "STM32™ microcontroller system memory boot mode" AN2606 str 39 "The external clock is mandatory only for the DFU bootloader and must be in the following range..." , wynika że jak chcę użyć DFU bootloader to muszę...
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ę,...
Ja trochę z inna sprawą. Co myślicie o Clock configuration tool for STM32F40x/41x microcontrollers ? Plik w Excelu generuje plik źródłowy, oraz jest już dostępny plik nagłówkowy. Funkcja SystemInit zostaje wywołana w startupie. Co prawda ja używam Keila ale to chyba nie zależy od kompilatora/IDE a od startupu. Dzięki za odpowiedzi z opinią.
Piszę w System Workbench for STM32 . Faktycznie w pliku system_stm32f10x.c usunięcie ciała funkcji SystemInit pomogło. Musze zainteresować się kolegi startupem. Oto jej ciało: [syntax=c] /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ /* Set HSION bit */ RCC->CR |= (uint32_t)0x00000001; /* Reset SW,SWS, HPRE, PPRE1,...
Jeżeli uruchomiłeś "system ochrony" zegara "głównego" (Clock security system (CSS)) i zegar główny zatrzyma się (np. dotkniesz palcami wyprowadzeń kwarcu) to system wywoła NMI, w którym to możesz zadecydować czy próbować przełączyć się z powrotem na zegar główny (np. kwarc) czy też zgłosić błąd (oczywiście bez zatrzymana procesora bo w ciągu kilku us...
Dzień dobry, Mam problem z dogadaniem się z ADIS16201. https://www.analog.com/media/en/technica... Zacznę od tego, że korzystam z płytki : https://www.analog.com/en/design-center/... Wyjścia podłączyłem w sposób następujący: ADIS1620...
Timer2 może być maksymalnie taktowany 36 W Reference manual- jest napisane: "TIM2,3,4,5,6,7 if(APB1 prescaler = 1 ) x1 else x2" W konfiguracji rcc mam: [syntax=c]//ustawienie PLLMUL - x6.5, PLLSRC- wejscie z PREDIV1 , APB1- HCLK/2 RCC ->CFGR |= (RCC_CFGR_PLLMULL_0 | RCC_CFGR_PLLMULL_2 | RCC_CFGR_PLLMULL_3 | RCC_CFGR_PLLSRC | RCC_CFGR_PPRE1_2 );[/syntax]...
[syntax=c] /** ****************************************... * (at)file system_stm32f10x.c * (at)author MCD Application Team * (at)version V3.5.0 * (at)date 08-April-2011 * (at)brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. */ //... /*!< Uncomment the line corresponding to the desired System...
Witam serdecznie. Zacząłem się bawić PWM w smt32f4 w trybie DMA. Korzystałem z tego kursu tutaj: https://forbot.pl/blog/kurs-stm32-f4-8-z... Generalnie wszyto działa, ale jak chciałem sobie zmienić kierunek DMA (czyli nie zpamieci do peryferiów), ale na odwrót - z peryferiów do pamieci to w zmiennej duty mam cały czas...
Wywal z pliku oocdlink linijkę "jtag_khz 5" Bardzo ciekawa jest ta linia: Info : clock speed 500 kHz, a ciekawa jest o tyle, że w plikach konfiguracyjnych jest najpierw 5, a potem 1000, więc skąd nagle wzięło się 500? Czy Twój JTAG ma dwie linie resetu (TRST i SRST)? Bo tak jest skonfigurowane stm32 - "reset_config trst_and_srst" - a jeśli masz inaczej,...
Czyli z taktowaniem mam problem. Próbuję zrobić tak jak tutaj http://stm32f4-discovery.com/2014/04/lib... U mnie jest: Core Clock = ((HSE_VALUE / PLL_M) * PLL_N) / PLL_P Niestety po takiej konfiguracji STM wariuje, nawet USART wysyła śmiecie. Jak prawidłowo skonfigurować...
witam ponownie, po dłuższym czasie walczenia z uruchomieniem mikrofonu i odtworzeniem nagranego dźwięku niestety nie udało mi się osiągnąć zamierzonego celu. Po poszukiwaniach w internecie znalazłem pomoc na forum ST pewnego użytkownika jednak również po jego instrukcjach występuje kilka błędów. Instrukacja zgodnie z którą próbowałem uruchomić mikrofon...
Masz nagłówek "stm32f10x.h" to z niego korzystaj. A nie stawiasz wszędzie (1 << X). Na poniższym przykładzie widać co chce zrobić... nawet nie potrzeba komentarzy, kto już jest obeznany trochę z STM32. [syntax=c]inline void RCC_conf(void){ FLASH->ACR |= FLASH_ACR_LATENCY_0; //set FLASH latency[2:0]=001, one state wait state, if 24MHz < SYSCLK...
Witam wszystkich, ostatnio zacząłem się bawić uC STM32. Jest to moje pierwsze starcie z ARM-ami. Aktualnie próbuje uruchomić wyświetlacz TFT 4,3 cala, dokładnie jest to model firmy Ampire: AM-480272H3TMQW-TW7H. Wyświetlacz steruję za pomocą uC STM32F107VC. Wyświetlacz ma rozdzielczość 480x272 piksele z interfejsem równoległym 80 z szyną 16 bitów ustawioną...
(at)ElektrodaBot Dzień dobry, zmagam się z nietypowym problemem. Zepsuł mi się ostatnio moduł I2S2 MOD podłączony do stm32f407, który zawierał zarówno ADC jak i DAC działający po I2S. Kupiłem coś tańszego - jako ADC PCM1808, oraz jako DAC PCM5102. Wcześniej działałem na full-duplexie, teraz jestem zmuszony działać na half-duplexie. Napisałem prosty...
Witam Rozpoczynam zabawe z STM32 i napotkalem problem. Chodzi o uruchomienie USART2 i wyslanie znaku na terminal do PC. Rx i Tx mam podpiete do portu A PA2->Tx i PA3->Rx. Siedze z dokumentacja procesora ale jakos nie moge znalesc bledu w swoim kodzie. Moze co podpowiecie. Kompilator AtolicTruestudio Petla główna: [syntax=c] int main(void) { int...
Oczywiscie tak. Dodam ze uzywam programu System Workbench [syntax=c] /** ****************************************... * (at)file startup_stm32.s dedicated to STM32F103C8Tx device * (at)author Ac6 * (at)version V1.0.0 * (at)date 2018-04-06 ****************************************...
Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....
Dzięki. Nie udało mi się ustawić tego RCC tak abym dobrze to rozumiał i osiągnął zamierzony efekt. Próbowałem tak (dawałem też w komentarz niektóre linie): [syntax=c][/syntax] #include "stm32f10x.h" #include "ggpio.h" volatile int a=0; main(void) { RCC->CR |= RCC_CR_HSEON; while(!(RCC->CR & RCC_CR_HSERDY)); RCC->CFGR |= RCC_CFGR_SWS_1 ;// 10: PLL used...
Witam, Bawię się STM32 już od jakiegoś czasu ale właściwie nigdy nie potrzebowałem jakiś super prędkości. Teraz chciałem napisać prostą funkcję do sterowania WS2812b i natknąłem się na dziwny, moim zdaniem, problem. Pomimo, że Timery działają szybko to zwykłe przełączanie pinu (funkcja HAL_GPIO_WritePin) działa niemiłosiernie długo. Najprostszy program:...
Poruszony do głębi ostatnimi tematami na forum napisałem drugi (i ostatni mikroporadnik) Druga część mikroporadnika. Co zrobić jak nie mam debuggera? Najlepiej sobie kupić - można kupić taki z Chin (nie polecam albo za trochę więcej pieniędzy Jlink Edu - i to polecam jak ktoś zamierza na poważnie rozwijać to hobby. BluePill można łatwo przekształcić...
Wygeneruj sobie projekt w cube i podejrzyj. Jest to najszybsze i najprostsze. Dodano po 11 [syntax=c]void HAL_UART_MspInit(UART_HandleTypeDef* huart) { GPIO_InitTypeDef GPIO_InitStruct; if(huart->Instance==USART1) { /* USER CODE BEGIN USART1_MspInit 0 */ /* USER CODE END USART1_MspInit 0 */ /* Peripheral clock enable */ __USART1_CLK_ENABLE(); /**USART1...
Krótkie pytanie czy ten kod powinien zapalać diodę LED podłączoną do pinu PB1? [syntax=c_loadrunner] #include "stm32f10x.h" void Clk_Init (void) { // 1. Clocking the controller from internal HSI RC (8 MHz) RCC_HSICmd(ENABLE); // wait until the HSI is ready while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET); RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI); //...
Witam, potrzebuje pomocy z uruchomieniem st-link'a w System workbench for STM32. Po instalacji jakiś czas działał, nagle po 2-3 dniach przestał. Oprogramowanie najnowsze - Chiński ST-LINK, Windows 10. Wywala mi następujące błędy: Unplugged target or STLink already in use or STLink USB driver not installed Open On-Chip Debugger 0.10.0-dev-00010-g96aab7b...
Witam Staram się podłączyć wyświetlacz oled Waveshare 0.96 cala (A) na sterowniku SSD1306 do mikrokontrolera STM32F401RE. Wyświetlacz posiada 8 wyprowadzeń i może komunikować się zarówno poprzez i2c jak i spi. Chcę połączyć się z nim poprzez i2c i móc wyświetlać na nim tekst czy też figury. Mój kod wygląda aktualnie tak: /* Includes ----------------------------------------...
Witam, Próbuje uruchomić obsługę karty SD pod STM32f103ZET6. Wykorzystuje do tego bibliotekę, używaną wcześniej pod STM32f407. Zmodyfikowałem tylko inicjalizacje SPI i dorzuciłem testową funkcję zapisu do karty. Mimo to karta nie chce ruszyć. Przy próbie otwarcia jakiegokolwiek pliku dostaje: FR_NOT_READY. Próbowałem już na dwóch kartach SD, formatowałem...
Witam, Po paru dniach ślęczenia udało mi się - tak myślę :) , skonfigurować rcc na 72MHz. : void rcc_init(void) //RCC init włączający procesor na 72MHz { RCC->CR|=0x1; //wlacz HSI wewnętrzny oscylator, włączany jako pierwszy po zasilaniu. while(!(RCC->CR&0x2)); //poczekaj na HSI sprawdza czy HSI się włączyło RCC->CFGR|=(0xF<<18);...
Keil startując CPU odpala funkcję SystemInit() która to jest zdefiniowana w pliku system_stm32f4xx.c . Plik ten możesz napisać sobie sam, lub możesz skorzystać z gotowca. Gotowce masz w przykładach od STM lub możesz wygenerować go za pomocą Excela jak wspominał kolega imarszi . Tutaj masz opis jak się tym narzędziem poslugiwać i skąd je wziąć : Clock...
Tak. W zasadzie włączam taktowanie wszystkich portów zaraz po funkcji "SystemInit()". Dodano po 13 Próbowałem też na przykładzie z "hy mini". Zmieniłem tylko pin adresowy(RS), chip select na NE4 no i dorzuciłem obsługę DEMUX'a. I dalej nic. Załączam kod z tego przykładu: main: [syntax=c]void MUXInit(); //void TestChipSelect(); int main(void) { SystemInit();...
Gdzie ustawiasz TIM_Clock_Division_CKD? Powinno być na TIM_CKD_DIV1 (0) - to są bity CKD w TIM1->CR1. Być może tutaj masz ustawione dzielenie przez dwa. Co do ustawień częstotliwości taktowania procesora to czy masz możliwość to jakoś sprawdzić? Żeby mieć pewność, że ustawiłeś 24 MHz albo coś innego? Z tego co widzę to na elektrodzie jest to mało spotykane,...
Kod do obsługi warstwy fizycznej: http://obrazki.elektroda.pl/4533176200_1...
korzystam z wewnętrznego generatora. PLL na 72Mhz, zegar dla APB2 ustawiony maksymalnie. GPIO jako push/pull/50Mhz. Sprawdzane na oscyloskopie cyfrowym. Obciążenie na wyjściu pinu, w sumie nie ma to znaczenia, ale jeżeli ma, to jest nieobciążony. void RCC_Configuration(void) { /* RCC system reset(for debug purpose) */ RCC_DeInit();...
Witam. Posiadam moduł z mikrokontrolerem STM32F207ZGT6, problem w tym że GPIO działa za wolno, mam napisany prosty program do testów który zmienia stan pinu 0 portu C. podłączyłem się oscyloskopem i sygnał na tym wyjściu ma około 2,308Mhz. To chyba zdecydowanie za wolno jak na ten mikrokontroler. Częstotliwość ta jest taka sama, niezależnie od tego...
Przestawiłem ową interesującą mnie linijkę z (1ul << 2) na: [syntax=c] static __INLINE uint32_t SysTick_Config(uint32_t ticks) { if (ticks > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible */ SysTick->LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1; /* set reload register */ NVIC_SetPriority (SysTick_IRQn, (1<<__NVIC_PRIO_BITS)...
Witam, mam problem z prawidłowym skonfigurowaniem wszystkich zegarów w moim procesorze. Zacząłem od bibliotek ST, jednak później po przeczytaniu wielu tematów na tym forum zabrałem się za dokumentacje i poustawiałem wszystkie bity tak jak trzeba.. i problem jest dalej ten sam. otóż najlepiej wytłumaczy to ten rysunek: http://obrazki.elektroda.pl/1942215800_1...
bo różnica jest oczywista i wystarczy sie zastanowić co te funkcje przynajmniej powinny robić. 1 konfiguruje cały układ zegarowy 2 wyłącznie startuje PLL Ja może rozwinę, choć przyczyną problemu jest wg mnie nie przeczytanie dokumentacji... Funkcja pll_start() z moich przykładów uruchamia PLL i konfiguruje niektóre rzeczy które do tego celu MUSZĄ być...
Faktycznie, rozwiązanie kwestii działania SPI było dosyć proste i po sprawdzeniu - SPI działa. Odczytuję zapisany wcześniej rejestr poprawnie. Teraz mam inny problem. Poniżej zamieszczam program z pliku main.c, w którym są dodane miejsca wysyłania kolejnych numerów przez UART i program zatrzymuje mi się po wysłaniu numeru 88. Nic więcej się nie dzieje,...
Witam, Próbuję napisać wgrać pierwszy program na STM zgodnie z poradnikiem z forbot.pl na System Workbench for STM32. Kompilacja programu z pustą pętlą przebiega pomyślnie, następnie w Run Configurations tworzę nową konfigurację debug. Gdy odpalam Run w konsoli otrzymuję następujący komunikat: Open On-Chip Debugger 0.9.0-dev-00415-g2d4ae3f-dirty (2015-06-12-17:54)...
Witam, troszkę odgrzewany kotlet, ale mam identyczny zestaw jak Ty, uruchamiam go pod FreeRTOS'em, ale niestety bez efektu, system operacyjny działa dobrze, robiłem na nim różne inne rzeczy, jako przykład zastosowałem jeden z biblioteki FreeRTOS -> CORTEX_STM32F107_GCC_Rowley z katalogu FreeRTOS DEMO, jest on napisany pod płytkę STM3210C z ST, kod...
Witam, Od razu przyznam ze jeśli chodzi o STM32 to jestem początkująca, także proszę o wyrozumiałość. Mój procesor to STM32F100RB – który mam na płytce ewaluacyjnej STM32-Discovery. main.c /* Includes ----------------------------------------... #include "stm32f10x_i2c.h" #include "stm32F10x.h" #include...
Super, jakoś udało mi się Eclipsa uruchomić fakt że w innej wersji Version: Mars Release (4.5.0) ale bez problemu spiąłem to. Przerzuciłem kod i co się okazało. Ruszył. Ale do szczęścia trochę brakuje, okazuje się, że nie rozpoznaje USB. Tzn ten sam dokładnie kod śmiga na Keilu, a na eclipse już nie. definicje: DEBUG USE_FULL_ASSERT TRACE OS_USE_TRACE_SEMIHOSTING_DEBUG...
[syntax=c]/** ****************************************... * File Name : main.c * Date : 29/04/2014 14:07:00 * Description : Main program body ****************************************... * * COPYRIGHT(c) 2014 STMicroelectronics * * Redistribution and use in source and binary forms,...
Witam, Zaprojektowałem płytkę PCB z procesorem STM32F405RGT6, w fazie projektowej postanowiłem, że do wgrania programu na procesor użyję bootloadera. Po zlutowaniu podłączyłem procesor pod komputer, uruchomiłem program "Flash Loader Demonstrator", wgrałem mu następujący program: #include <stm32f4xx_gpio.h> #include <stm32f4xx_rcc.h> GPIO_InitTypeDef...
Witam, Mam problem z uruchomieniem SPI na STM32F103RCT6. SPI ma sterować głośnością DACa i będzie jedynie wysyłał informacje, dlatego chciałbym go uruchomić w trybie Transmit Only Master . Pin MISO wykorzystuję jako GPIO. Próbuję na razie na pustym projekcie - pomimo, że funkcja HAL_SPI_Transmit zwraca HAL_OK na pinach SCK i MOSI nie generuje się żaden...
Witam, Zacząłem niedawno zabawę z STM32 i mam problem z przerwaniami oraz timerami. Chciałem uruchomić przerwanie zewnętrzne, a dalej przerwanie od timera co np 1sek. Jednak nie działa ani jedno ani drugie, czy ktoś mógłby nakierować mnie na dobrą drogę i powiedzieć co robię źle? Przeglądałem przykładowe aplikacje jednak dalej nie potrafię tego uruchomić....
Caution: Upon power reset or wakeup from shutdown mode, the NRST pin is configured as Reset input/output and driven low by the system until it is reconfigured to the expected mode when the option bytes are loaded, in the fourth clock cycle after the end of trstempo. To nie bug, to feature. ;)
Witam, piszę program pod STM32L151 na własnej płytce sprawa wygląda dość dziwnie bo podczas debugowania program działa normalnie tj zapala diody itp. Natomiast gdy odłączam programator (ST-linka) i podłączam zasilacz, cały układ nie daje oznaków życia. Zastanawiam się czy to może być np wina ustawień zegara systemowego, procesor podłączony jest pod...
Witam , Wracam do tematu . Zegar skończony i przetestowany . Podziękowania dla autora za pomoc . Kilka krótkich filmów z pracy zegara wykonane telefonem . https://filmy.elektroda.pl/11_1551555088... https://filmy.elektroda.pl/90_1551555174... https://filmy.elektroda.pl/15_1551555225... https://filmy.elektroda.pl/89_1551555287... Jedna z dwóch gier...
A bawił się ktoś z Was tymi gotowcami od ST? Nie mogę tego uruchomić za bardzo. Na jednym małym projekcie działa ale jak chcę to dorzucić do FreeRTOS to już nie bardzo. Mam Taki kod: static void prvSetupHardware(void) { /* Start with the clocks in their expected state. */ RCC_DeInit(); /* Flash 0 wait state */ //FLASH_SetLatency(FLASH_Latency_2...
Chciałbym wywołać przerwanie po naciśnięciu przycisku.Przycisk mam na porcie PA9, po naciśnięciu chciałbym zapalić diode na porcie pa10 niestety nie działa mi, co robie nie tak? [syntax=cpp] #include "stm32f10x_conf.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" #include "misc.h" #include...
Chcę w jakiś sposób okiełznąć USART, na razie bez DMA. Korzystam z gotowego przykładu, jednak pustki w terminalu. Fizycznie : GND przejściówki USB RS232 podłączony z GND disco, RX, TX kros. stm32f10x_usart.c [syntax=c] #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include <stdio.h>...
Sam main.c raczej nic nie da ale proszę. /** ****************************************... * File Name : main.c * Description : Main program body ****************************************... * This notice applies to any and all portions of this file * that are not between comment...
Cześć Od razu nadmienię, że jestem w tym początkujący. Posiadam mikrokontroler STM32F100C4T6B oraz moduł GY-50 L3G4200D. Próbuję nawiązać połączenie za pomocą interfejsu I2C i wyświetlić informację na komputerze kominukując się po UART, który na pewno działa. Jeżeli chodzi o połączenie to jestem na 99% pewny, że jest dobrze. Korzystam z programu STM32CubeMX...
- nie zapoznał się ze schematem elektrycznym, I tutaj trafiłeś w sedno Zerknąłem jeszcze raz na schemat: https://obrazki.elektroda.pl/7360522100_... i zauważyłem zworkę SB50 która idzie do MCO, ale na schemacie nie widać gdzie idzie, więc zmierzyłem miernikiem i okazało się, że idzie do kwarcu Usunąłem ją i teraz wszystko działa :-)...
Mam taką konfigurację (też w Keilu): static void RCC_Configuration(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ /* Enable HSE */ RCC->CR |= ((uint32_t)RCC_CR_HSEON)... /* Wait till HSE is ready and if Time out is reached exit */ do...
Naprawdę proponuje na początek coś bardziej przyjaznego początkującym (bo po pytaniach sądząc do nich się zaliczasz). Oczywiście zaraz grko stwierdzi że dla początkujących nie ma nic lepszego niż pisanie makefile-ów i skryptów linkera "z palca", ale jednak lepiej mieć przyjemność z programowania, niż nieprzyjemność z konfigurowania czegoś czego się...
stm32 clock clock stm32 system clock
ekspres delonghi alarmy pendrive zniknął denon rezystor
Jak zmienić język na polski w pralce Ariston RDPD 107617 J? BMW E46 - Zbyt duże ciśnienie w układzie chłodzenia przy włączonym ogrzewaniu