Wiesz co ja dopiero zaczynam z programowaniem stm ale jedna sprawa rzuciła mnie się w oczy. twoja funkcja jest prawie funkcją z biblioteki której definicja i rozwinięcie znajduje się w pliku core_cm4.h [syntax=c] __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk)...
Ok. Niemniej jednak skopiowałem ten kod z #8 do CubeIDE 1.5.0, zrobiłem parę korekt pod moje PCB, dokonałem poprawnej implementacji flagi BUSY i wszytko działa jak powinno z inkrementacją jak i bez. Kod uruchamiałem na STM32F070F6P6 z szablonu generowanego w CubeMX i okrojonego z HALa - przerwania działają...
Twój artykuł o ARM toolchain czytałem. Chętnie bym nawet użył tego(zamiast ograniczonego truestudio), ale niestety OpenOCD nie obsługuje ST-Linka... Chyba że jest jakaś alternatywa dla tego rozwiązania? [EDIT] Utworzyłem projekt w Keilu, dodałem startup code, pustą funkcję SystemInit. Teraz wszystko...
Witam, Jestem niedoświadczonym użytkownikiem więc proszę o wyrozumiałość. Podobnie jak kolega chciałbym aby mój STM32 discovery Examples/GPIOToggle i chciałbym go tak zmodyfikować żeby zaczął rozmawiać po I2C, stworzyłem plik I2C.c oraz I2C.h. Dodam ze używam Keil'a Dostałem od kolegi przykładowy...
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...
Cześć, Korzystam z płytki STM32VLDiscovery (z programatorem ST-LINK), Keil uVision. Po raz kolejny wziąłem się za ARMy. I wszystko pięknie szło do czasu, aż zamarzyłem o fatfs. Bibliotekę dołączyłem, przepisałem kod tak, żeby nie korzystał z biblioteki stm32 standard peripherials. Uruchomiłem debugowanie...
Witam wiem ze temat wałkowany, czytając poprzednie posty jak zwykle mam mętlik. STM32F103ZET Używając: monitor reset halt (lub reset_halt ) load dla ram i flash program staje zawsze w startup.s: Reset_Handler: /* +-------------...
Witam, Jestem w trakcie tworzenia komunikacji pomiędzy uC a czujnikiem MMC2120. korzystam w tym z opisu zamieszczonego w dokumentacji, jednak mam problem z prawidłową implementacją tego algorytmu. proszę o wskazówki, co robię nie tak, co można zrobić lepiej, gdyż przyznam że nie jestem mocny w...
Dodano po 31 Kiedy debuguje program, krokowo, zaraz po a = 124; z linii b = log10(a); wskakuje do nieskończonej pętli - void HardFault_Handler(void). Tak jakby sam adres procedury wywoływał błąd sprzętowy.
Ponieważ ja zawsze byłem zbyt leniwy, by pisać tak dużo instrukcji, ile potrzebują wywołania bibliotek, a jednocześnie lubię używać mikrokontrolerów z małą pamięcią, popełniłem na STM32F0 (płytka DISCOVERY) takie coś do włączania i wyłączania diod guzikiem. Program jest mało ambitny, bo ma ledwie ze...
Może wypada zacząć od tego, co to jest CMSIS. W zależności od fantazji może to być albo tylko minimalna obsługa procesora, albo również biblioteka obsługi peryferiów. Ta minimalna obsługa procesora zawiera pliki nagłówkowe, definiujące wszystkie zasoby mikrokontrolera oraz pliki definiujące zasoby...
Wygenerowany jest bezpośrednio z CooCoxa Linkera tutaj nie ma chyba jest zaszyty w środowisku. Wersja CoIDE to: Version: 1.7.8 [syntax=c] /** ****************************************... * (at)file startup_coide.c * (at)author Coocox * (at)version...
Cześć, nadszedł czas zmierzyć się z linkerem i innymi cudami ;) Wybaczcie, jeśli będę pisał głupoty, dopiero próbuję to ogarnąć :D Czy możecie podpowiedzieć jak uwzględnić w Eclipse dwa warianty kompilacji i linkowania: 1. program w trybie DEBUG, który startuje klasycznie z 0x08000000 2. program...
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...
Chciałbym zrealizować komunikację pomiędzy aplikacją napisaną w C# a stm32 Discovery . Mam w aplikacji 4 przyciski . Każdy wysyła coś innego do stm32 . Oto kod z Coocoxa [syntax=cpp] #include <stdio.h> #include "stm32f4_discovery.h" #include "usbd_cdc_vcp.h" /* Private macro */ /*...
SystemInit jest w dołączonym do projektu pliku ...system...c, a to, co w niej jest, zależy od tego, ile miesięcy temu wyszedł pakiet do danej serii. Nowsze wersje SystemInit nie robią prawie nic, starsze dość sporo. Zawsze możesz zmienić nazwę oryginalnej prcedur i napisać własną SystemInit(); Obsługa...
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...
Witam, używam nakładki SW4STM32 na Eclipse pisząc wyłącznie na rejestrach na płytkę Nucleo STM32F411RE. Bazuję na poradniku: [url=][STM32][C] - Poradnik dla początkujących (bez bibliotek) Wszystko szło świetnie do czasu rozdziału o EXTI,a mianowicie kod działa, jednakże przerwanie się nie wykonuje....
Witam. Jestem początkujący w świecie st32 i na początek stworzyłem sobie projekt w którym mam tylko pliki : main.c , startup - który dołączył keil (usunięte 3 linie odpowiedzialne za automatyczne uruchomienie funkcji SystemInit), Oraz 3 pliki z CMSIS: stm32f10x_it.c , stm32f10x_it.h , system_stm32f10x.c...
Błąd poprawiony, wyrzuciłem z pliku startup_stm32f10x_cl.s linie IMPORT SystemInit LDR R0, =SystemInit BLX R0 Program się kompiluje, diodka ładnie miga. Pojawił się inny problem: podczas debugowania w zakładce peripherals ma tylko Core peripherals. Co zrobić,...
Reasumując: 1. Włączasz zasilanie = nie działa 2. Wykonujesz reset STM'a = działa ? Mógłbyś jeszcze "main'a" pokazać, albo najlepiej odchudź kod do obsługi tylko SPI i wrzuć cały projekt. dokładnie... Wydaje mi sie że SPI po uruchomieniu mikrokontrolera nic nie wysyła, dopiero po resecie....
W ogóle ciekawi mnie, po co chcesz znać ten układ aż tak dobrze ? Może kiedyś będę chciał zaprojektować jakiś swój układ więc warto wiedzieć dokładnie jak one działają ;) Trochę jak z religią uwierz, że Bóg jest i już - bo tak jest napisane i wszyscy to wiedzą. W kwestii "jednym poleceniem...
Pobawiłem się z tym trochę, niestety coś mi dalej nie wychodzi. W pliku stm32f10x.h przedefiniowałem częstotliwość HSE (domyślnie do Connectivity Line była 25000000, zmieniłem na 14745600). Zmieniło to tyle, że na terminalu wyskakiwały inne krzaczki, niż wcześniej. Pogrzebałem dalej. Częstotliwość mnożona...
OK błąd znaleziony,-d przy parametrach jest zbędne dla jasności: # C++ definitions CXX_DEFS = USE_STDPERIPH_DRIVER CXX_DEFS += HSE_VALUE=8000000 # C definitions C_DEFS = USE_STDPERIPH_DRIVER C_DEFS += HSE_VALUE=8000000 C_DEFS += SystemInit=low_level_init_1 Dziękuje bardzo za pomoc.
Może Wam ten nieszczęsny ukryty SystemInit() psuje krwi w domyślnym startupie jeśli używacie takich środowisk jak Atollic czy inne dziwne IDE :P
Witam, w końcu udało się , komputer widzi urządzenie jako HID, robiłem już pierwsze testy wysyłania i odbierania wiadomości i wszystko jest Ok, Stało się tak przez podmienienie startup oraz linkera. Trochę pochodziłem po necie w poszukiwaniu i znalazłem całkiem ciekawą stronę : Z jednego, z...
Niby można i tak, ale normalnie robi się to inaczej - programujesz SysTicka na jakąś ładną, okrągłą częstotliwość, np. 100 lub 1000 Hz, a w przerwaniu odliczasz programowo i co ileś przerwań coś robisz. Wrzucam Ci program na STM32F0, który miga dwiema diodami przy użyciu SysTick, co pół sekundy. [syntax=c] /* STM32F0DISCOV...
Witam Używam płytki STM32F4 Discovery. Muszę odczytać sporą ilość danych, więc UART wydaje się jedynym rozsądnym rozwiązaniem. Poniżej kod, którego używam (sugerowałem się kodami z różnych stron). [syntax=c]#include "stm32f4xx.h" #include "stm32f4_discovery.h" #include "misc.h" // I recommend...
Witam. biblioteka stm32F10x_stdPeriph_Driver zewnetrzny kwarc 25 Mhz SystemInit(); RCC_HSECon...
mrh Nawiązując do tematu. Mam problem z tym akcelerometrem. Raz zaskoczył i działał gdy odpaliłem projekt z lis302dl, ale niestety już nie działa. Po czasie ogarnąłem ze to lis3dsh. Chciałbym w końcu uruchomić ten sprzęt. Używam CooCox IDE #include <stm32f4xx.h> #include <stm32_ub_led.h> //#include...
Witam wszystkich. Od jakiegoś czasu ćwiczę STMy. Przyszedł czas na bootloader, ale stanąłem w zasadzie na początku drogi. Mój zestaw to: - ARM GCC (Linaro) w wersji 4.7 2012q4 - CooCox - STM32F4 Discovery - przykład AN3965 "STM32F40x/STM32F41x in-application programming using the USART" Po...
Dzięki m.ki . Zmieniłem w pliku core_cm3.c "=r" na "=&r" w funkcjach, które są na podane na stronie: W repozytorium zazwyczaj zaznaczam tylko "CMSIS BOOT" Marek_Skalski zmieniasz coś w tych plikach? Pewnie funkcję SystemInit ?
(at)BlueDraco:"Pudło. Przy uruchomieniu aplikacji z Flash, pamięć Flash jest mapowana na adres 0, a domyślnie VTOR zawiera 0 (a przynajmniej powinien)" Hmm, w takim razie to ja czegoś nie wiem. Owszem, może tuż po resecie tak jest, ale potem, nie wiem czy można to nazwać "w aplikacji" wykonuje się...
Próbuję już kilka dni uruchomić ten wspaniały system na stm32f4, korzystam ze środowiska CooCox. Tworzę nowy projekt dodaję z repozytorium potrzebne biblioteki i system FreeRtos. plik main.c wygląda tak: GCC HOME: C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2014q4\bin compile: ...
To po co w SystemInit() od ST jest możliwość zmiany SCB->VTOR? Funkcja ta jest odpalana w startupie. ¤tviews=819
Próbuję bawić się systemem FreeRTOS. Mam problem, gdy uruchomię tylko jedno zadanie led lub tx to wówczas one działają. Gdy próbuję uruchomić 2 zadania, nie działa nic. Próbowałem zmieniać rozmiar stosu, priorytety zadań i nic. [syntax=c]#include <stm32f4xx_usart.h> #include <misc.h> #include...
Spróbuj takiego kodu. Niestety nie sprawdzałem go bo nie mogę skompilować Twojego kodu. [syntax=c] #include "stm32f10x.h" #include "TouchPanel.h" #include "systick.h" #include "GLCD.h" #include "stdio.h" #define TP_INT_IN GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6) ... TPintInit(void) { GPIO_InitTypeDef...
1. Pokaż jak wygląda wywołanie openocd. Jak masz płytkę discovery to spróbuj po prostu z linii komend wywołać: [syntax=bash] openocd -f board/stm32f0discovery.cfg [/syntax] ... Prawdopodobnie rozbiegówka oraz SystemInit zajmują ten 1KB pamięci FLASH. Wywołaj polecenie: [syntax=bash] nm --size-sort...
Pobierz sobie STM32CUBEMx. Tam możesz sobie stworzyć szablon, wygeneruj projekt do SW4STM32 (znajdziesz w ustawieniach projektu). Pobierz System Workbench for STM32, zaimportuj projekt i wszystko będzie śmigało... Będziesz miał kod, który działa na najnowszych bibliotekach HAL, wszystko jasno i przejrzyście...
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...
Wydaje mi się że mnie plik wygląda okay [syntax=c] /** ****************************************... * (at)file startup_stm32f030xc.s * (at)author MCD Application Team * (at)version V2.3.0 * (at)date 27-May-2016 * (at)brief STM32F030xc/STM32F030xb...
Witam, Mam problem z komunikacją STM32 z komputerem. Moja płytka to STM32L-Discovery [url=]LINK Chciałem napisać sobie najprostszy program do komunikacji z komputerem. Jak na razie nic nie działa. Pisałem program z pomocą książki "Mikroprocesory STM32 w praktyce" Krzysztofa Paprockiego. Musiałem tam...
Bey startup to Ci raczej nic nie ruszy. Jeśli bardzo nie podoba Ci się SystemInit - zmień nazwę tej funkcji w stmxxx_systemxxx.c i napisz własną - może być pusta. Ostatnio w Keil/ST zmieniły się poglądy nt. SystemInit, co można poznać po tym, że nowe wersje pakietów Keil (które wyszły dla połowy serii...
Witam Hmm, walczę od jakiegoś czasu z uruchomieniem toolchaina Eclipse + CodeSourcery itd dla STM32 (dokładnie STM32F107VCT) i mam pewien problem. Przejrzałem kilka różnych projektów, w których podpatrywałem pliki skryptowe linkera (*.ld) jak i pliki makefile. Na razie kompiluje mi się gdy przykładowo...
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...
Potrzebuję wygenerować trzy sygnały do sterowania rejestrem: 1MHz, impulsy co 64. okres z 1MHz i podobnie 128. Mniej więcej wyglada to tak: __ __ __ __ __ __ __ __ __ | |__| |__| |__| |__| |__| |__| |__| |__| |__ 1MHz __ ...
Dzień dobry, Sprawa wygląda tak, że chciałem zrobić zadanie 8.4 z poradnika na temat stm32. Wymodziłem sobie takie coś: Open On-Chip Debugger 0.9.0-dev-00186-g30203b3 (2014-11-09-22:49) Licensed under GNU GPL v2 For bug reports, read Info : The selected transport took over low-level target...
Witam. Postanowiłem zgłębić tajniki mikrokontrolerów STM32. Wybór padł na procesor STM32F3 Discovery. Mam problem z poniższym kodem. Jest to przykład działania przetwornika ADC. Problem polega na tym, że nie wiem dlaczego to nie działa. Uruchamiam debugger, biorę krokową pracę, a program w zasadzie zatrzymuje...
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....
Witam, jestem początkującym w dziedzinie programowania STM32. Posiadam zestaw STM32 Discovery F407. Po dwóch dniach walki udało mi się skonfigurować Tim8 do pracy z enkoderem obrotowym. Jest to enkoder mechaniczny posiadający 32 pozycje na obrót. Oto mój kod: [syntax=c] void Encoderinit(void) { RCC_AHB1PeriphClockCmd(RCC_AHB1Perip...
Witam Dopiero zaczynam swoją przygodę z mikroprocesorami z rodziny ARM. Posiadam moduł prototypowy: STM32 LCD3.2" ARM Cortex, z procesorem: STM32F103VCT6 . Korzystam ze środowiska Kyle uVison4. Problem pojawił się przy próbie uruchomienia magistrali I2C. Obecnie mam 3 ATMEGI połączone ze sobą...
No mówiłem, że po kilku modyfikacjach, bo kompilator krzyczał, że niema paru rzeczy. ;) Co do problemu. Stos się raczej nie przepełnia. Podczas debugowania szczytowa wartość rejestru sp to 0x1fbc czyli jakieś 44 bajty. Sam program również odchudziłem do granic możliwości i zauważyłem pewną rzecz....
Witam, Na wstępie dodam, że bardzo długo walczę z konfiguracją projektu z stm32l w Eclipse. Udało mi się stworzyć projekt z automatycznie generowanym plikiem makefile (na podstawie ustawień C/C++ Build -> Settings ), ale były problemy z FreeRTOS, więc postanowiłem przerobić przykład Freddiego dla...
Witam, Mam problem z nawiązaniem komunikacji między dwoma zestawami STM32F103ZET6+nRF24L01. Bazowałem na informacjach z tej strony: "[url=]RF24Network". Ściągnąłem odpowiednie pliki z klasami RF24 i RF24Network, oraz klasą SPI(wykorzystywana przez poprzednie klasy), przerobiłem je pod STM32,...
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...
Witam. Zaczynam dopiero swoja przygodę z STM32. I na samym początku mam problem. Posiadam płytkę z stm32f429ZIT6U i chciał skonfigurować sobie RCC i GPIO, zgodnie z książką Galewskiego. Po przewertowaniu Internetu napisałem kod, który miałby konfigurować te dwie funkcje. W celu sprawdzenia chciałem...
Witam, Od pewnego czasu przestawiłem się z AVR na STM32, zbudowałem sobie proste ramię robota na 5 serv + sterownik Maestro od pololu, wszystko ładnie śmiga. Tydzień temu kupiłem sobie takie Gamepad: . Chciałem za pomocą tego pada sterować ramieniem. I już na 1 kroku się zupełnie pogubiłem. Otóż,...
Cześć, Projekt zaraz będę konfigurował od początku. Fakt, podałem za mało danych, wybaczcie, skrajna nerwica mnie na to wzięła. Od początku: Używam SW4STM32, ale chciałbym od tego odejść mocno, bo za dużo automatów i za mało szczegółów, może dlatego, że nie potrafię tego wszystkiego ogarnąć. Kompilatora...
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...