gdzie znajdę plik który ma zdefiniowane adresy rejestrów, przerwań itp. Masz w środowisku: stm32f10x.h ale miało problem zrozumieć zapis: GPIOA->CLR ^= 1<<MODE2 Ja także mam problem :) W pliku stm32f10x.h masz definicje: Próbowałem Atollic TrueSTUDIO wybrałem sobie Embedded C Project naładował mi tyle syfu, że kompilacja trwała dość długo,...
Hej, Chcę zacząć programować mikrokontrolery STM32 na rejestrach. Mam płytkę Nucleo-f103 i usiłuję uruchomić jakieś środowisko programistyczne. Na początku skupiłem się na Eclipse system workbench for stm32. Niestety ciągle mi coś nie wychodzi. Nie mogę wgrać do płytki żadnego programu. Może źle zacząłem szukać środowiska. Są stare poradniki i możliwe,...
Malina zero bez wifi kosztuje 26zł na botlandzie A więc po co wcześniej przedstawiałeś te "wypasione" wersje z wifi/ethernet/bt? W czym jest lepsza Rasp Zero od Arduino z punktu widzenia laika? Poza tym nikt nie karze korzystać z pulpitu. Aplikacje można pisać własne. Sterowniki też. Pisanie aplikacji na gołe CPU przez kogoś kto zaczyna? Słaby pomysł....
Temat rozwiązany. Problemem było to, że były zworki w Nucleo i programowałem Nucleo a nie docelowy STM32.
Teraz moje pytania którą bibliotekę lepiej poznawać czy może one są praktycznie takie same? "Biblioteki" te lekko się od siebie różnią, ale obydwie są równie beznadziejne (; Czy na armach mogę sobie programować tak jak na avr?tzn dodam sobie jakiś plik nagłówkowy jak to tam było avr/ io.h z definicjami rejestrów wejść/wyjść i mogę operować bezpośrednio...
Chcesz mieć kłopoty i długi kod, wydaje Ci się, że można programować mikrokontroler nic o nim nie wiedząc, a program, który piszesz, ma tylko błyskać diodą - używaj bibliotek. Chcesz, żeby działało i chcesz wiedzieć, jak działa - pisz kod działający na rejestrach. Oczywiście bez przesady. Pewnie nie ma sensu pisać własnego stosu USB czy TCP/IP, ale...
Poradnik dla początkujących, ale jedyne czego w nim brakuje to opisu jak z konfigurować środowisko do pisania na rejestrach. W sumie to masz już środowisko i tak naprawdę nic nie musisz konfigurować aby programować używając rejestrów. W CubeIDE masz przynajmniej pewność, że wszystkie pliki CMSIS są aktualne. Jak zrobić projekt bez HAL: 1. Wygenetuj...
Chciałbym też pobawić się obsługą kart mmc, do których z powyższych programów łatwiej zdobyć w internecie odpowiednie biblioteki i je dołączać? (Nauczyłem się programować przy użyciu rejestrów i niechętnie widziałbym SPLe)
Zastanawiam się tylko po co sprawdzać to: [syntax=c]USART3 -> CR1 & USART_CR1_TCIE[/syntax] nie rozumiem powodu. Przecież to jest "This bit is set and cleared by software." Programista nie wie czy ustawił to przerwanie czy nie? Dodatkowo ten zapis: [syntax=c]if(( USART3 -> CR1 & USART_CR1_TCIE) && (USART3 -> SR & USART_SR_TC ))[/syntax] wygląda dość...
Dzieki Panowie, udało mi sie uzyskać zamierzony efekt kierując sie zaleceniami kolegi Sareph , dobrze wiedzieć jak sie ustawia poszczególne bity rejestrów, jednak mam pytanko: https://obrazki.elektroda.pl/4282252600_... właśnie zrobiłem to w taki sposób jak powyżej, bo nie wiem jak ustawić bit25 jeżeli pod nazwą SWJ_CFG Piotrus_999...
Cube tworzy projekt z bibliotekami HAL. Ja chciałbym użyć SPL ponieważ mam książki o stm32 wykorzystujące właśnie SPL. Na początek z stm32 chciałbym wspomagać się książką, może później spróbuję programować bezpośrednio na rejestrach....
Może wbiję kij w mrowisko: Po co właściwie Ci ten bitbanding? Programuję Cortexy na codzień i nie zauważam praktycznej potrzeby użycia BB. Nie to, żeby w ogóle jej nie było, ale jest ona tak marginalna, że nie opłaca się w to bawić. Tam, gdzie są potrzebne operacje bitowe, są one zaimplementowane w sprzęcie lepiej i bez potrzeby użycia BB i szybciej...
No i masz dla przykładu stronę 714, gdzie masz mapę wszystkich rejestrów. Tak praktycznie każdy bit odpowiada za sterowanie peryferium, jest dość skomplikowane urządzenie, ale pozwala na wiele. Myślę, że przyda się Tobie taki poradnik: https://forbot.pl/blog/stm32-praktyce-1-...
Cześć wszystkim. Poradnik choć napisany w wielu miejscach nietechnicznym językiem, jednak wart uwagi. Autor zawarł w nim sporo ciekawych informacji na temat programowania STM32. Ogólnie w sprzedaży ubogo w literaturę o stm32, jest w zasadzie pozycja oparta o przestarzałe standard peripheral library, a zagłębiających się programowanie "po rejestrach"...
Niby nie, a mamy szybszą drogę upewnienia się, że wszystko jest jak być powinno z tym zegarem? Niczego i tak nie możesz być pewny - przecież ta funkcja nie wylicza ani nie mierzy częstotliwości, tylko zapisuje do zmiennej to co wynika z definicji wygenerowanych w jakimś tam pliku przez CubeMX. Które mogą być błędne, w efekcie zmienna będzie miała wartość...
(at)PDT - no a nie prościej, zamiast dorabiać SPL/HAL, przerobić projekt na "SPL/HAL free"? Żeby napisać własne odpowiedniki i tak będziesz musiał przebrnąć przez dokumentację mikrokontrolera i programowanie "na rejestrach" - to czemu nie użyć tego od razu w projekcie?
Wszystko zależy od tego czy zaczynasz programować procesory i się uczysz czy tylko zaczynasz ARM'ami jako nową grupą urządzeń cyfrowych. Bootloader nadaje się w 2 przypadkach : przy kopiach gotowego softu (np. jak trzeba zrobić upgrade "wyjazdowy"), i przy pisaniu oprogramowanie z dużą wiedzą inżynierską (jeżeli nie potrzebujesz oglądać rejestrów, robić...
No to w takim razie polecam STM32L1XX reference manual http://www.st.com/content/ccc/resource/t... Tam sobie wszystko znajdziesz, rejestr po rejestrze... Bez bibliotek :D Życzę miłej lektury :)
Pobierznie sprawdziłem współpracę JLinka + Keil z tym zestawem poprzez SWD. Oto moje obserwacje: - Większą funkcjonalność widać już od samej konfiguracji (ustawianie prędkości działania, trace event'y, periodic trace itd). - Opcja "Download Code" działa prawidłowo (we wbudowanym ST-Linku nie działała wcale i jedynym sposobem było przejście do sesji...
Witam ponownie Napisałem program na nowo i - z wykorzystaniem Twoich funkcji - wszystko działa prawidłowo (prawie wszystko - gdy odczytuje dane z jednego rejestru, np. położenie X, to wszystko jest OK, ale gdy odczytuje dane o położeniu X, Y, Z to dane te są "wymieszane" - ale to nie jest wielki problem). Chciałbym jeszcze móc wysyłać dane do rejestru...
Zapewne w tym co wkleił simw wyżej jest jakaś drobna literówka czy coś takiego. No w tym wypadu nie ma literówek, przykład na bieżąco kompilowałem, wgrywałem do uK. Raczej to kwestia wersji CMSIS z Cube. Ok, dzięki za odpowiedź. Proszę jeszcze o wyjaśnienie kwestii litery 'U' przy przesunięciu bitowym: Te wartości to to kopiuj-wklej z nagłówków CMSIS,...
(at)Karaczan - to nie kwestia tworzenia średnio optymalnego kodu - bierzesz mbed, spl, hal do ARM i głupie miganie diodą jest w stanie zeżreć 1k RAM i FLASH ;) A jedziesz bezpośrednio na dokładnie tych i tylko tych rejestrach peryferiów, których w projekcie używasz i masz 10x mniej kodu. To kwestia inicjalizacji/konfiguracji wielu rzeczy, które Arduino...
Cześć :) W związku z tym, że w miejscu w którym pracuję istnieje potrzeba programowania pamięci SPI których wsad jest taki sam, stwierdziłem że zbuduję urządzenie, które będzie kopiowało zawartość jednej kości do drugiej. Niby nic, ale z czasem chciałbym zająć się zawodowo projektowaniem oraz programowaniem mikrokontrolerów, więc jako pierwszy projekt...
Witam. Na temat programowania STM32 prawie nie ma literatury. Te książki które są na rynku są mało wartościowe. Dlaczego nikt nie przetłumaczy RM0008 Reference manual? To byłoby idealne. Na temat AVR jest kilka pozycji z dokładnym opisem procesora rejestry itd. Na STM32 nie. Autorzy skupiają się tylko na bibliotece do STM i programowaniu w C.
BlueDraco, dziękuję za pokazanie sposobu obsługi nadchodzących danych. Mam trochę inny mimo że w HALu ;) Obecnie zaczynam naukę programowania STMów i dokończę już całkiem rozbudowany program napisany w HALu. Potem zapewne przejdę do nauki programowania przez rejestry :) Ale dlaczego w kodzie HALa zrobił się problem z ponowną inicjacją przerwania?
Aha, więc jednak to GPIO_Remap_SWJ_Disable... Zaraz sprawdzę czy działa. Dodano po 31 Niestety po tym zabiegu JTAG nie działa, i trzeba programować przez RSa. Trochę to dziwne bo faktycznie po resecie powinien być włączony. Wygląda to tak jakby najpierw były włączane peryferia wg aktualnego programu, a dopiero potem możliwość programowania. Bo rejestry...
AVE... Problem z STM32 i ogólnie z układami mającymi więcej niż 8 bitów jest taki, iż są one sporo trudniejsze w użyciu, niż ośmiobitowce. Tyle że ośmiobitowe BasicStamp i Arduino uczyniły programowanie mikrokontrolerów jeszcze prostszym. Tak prostym, że nie potrzeba ani noty katalogowej układu, ani wiedzy o bitach konfiguracyjnych, przerwaniach, czy...
Witam wszystkich Jestem w trakcie realizacji projektu STM32 F4 + kamera MT9D111, który zakłada odczyt ramki z kamery i zapis na kartę SD. Rejestry kamery programuje się poprzez interfejs I2C. Chciałbym sprawdzić czy mam dobrze ustawioną tą komunikację i w związku z tym mam pytanie czy bez DCMI oraz DMA da się ustawić rejestry kamery tylko podłączając...
To jest stary cod z Atmegi której funkcjonalności nie nie rozbuduje bo nie pozwala na to PCB. Po drugie przy większym obciążeniu obliczeniami pomiarów prądów i napiec stabilność odczytów pozostawia trochę do życzenia. Soory ja potrzebuje sterownik a nie kurs migania diodą. !(at) lat to sporo więc wiedza już wyparowała i się zdezaktualizowała. Dlaczego...
Problem stanowi mikrokontroler STM32F051C8 który po wgraniu kilkadziesiąt razy programu zaczął się samoistnie resetować co 400ms. Pin reset nie był podciągnięty pod 3.3V, ale po podłączeniu pull-upa nic to nie zmieniło. Dało się go programować za pomocą ST-Link Utility (connect under reset). Pin BOOT0 podciągnięty pod masę, za pomocą zworki, którą można...
Głownie na bibliotekach HAL, bo to jest najłatwiejsze do przyswojenia dla początkujących. Ale rozpoczął cykl kursów na rejestrach w formie webinarów na yt. W ofercie są kursy języka C, STM32 i RTOS. Jeśli chodzi o mirka, to dawno temu zaczynałem od bluebooka, książka fajna ale nie zachęciłem się wtedy do AVR, trochę ciężko było z kontaktem na forum,...
Zazwyczaj najwygodniej uczyć się języka C na desktopie, czyli swoim PC-cie. Programując STM32 lub AVR-ki używa się języka w ten sam sposób, ale zwykle nie mamy dostępu do pewnych bibliotek standardowych, które na desktopie są od razu, bo komputer ma monitor, klawiaturę, dysk twardy itp.. W mikrokontrolerach tego nie mamy, więc użycie printf(), getch()...
Ja potwierdzam opinię, że dobrze zacząć od czegoś prostrzego jak AVR, na studiach, gdzie przez 2 lata programowaliśmy tylko obiektowo praktycznie nagle przyszedł przedmiot Embedded Systems na... ARM9, programowanie po rejestrach. Wykładowca zdający się nienawidzić studentów i ten przedmiot stał się piekłem dla większości, fart, że znałem właśnie AVR...
Witam Mam pytanie wydrukowałem sobie cały poradnik kolegi z forum chodzi o wiadomy kurs bez bibliotek. Mam pytanie odnośnie IDE, używam tego [url=http://forbot.pl/blog/artykuly/prog... Czy sposób zakładania projektu będzie odbiegać od tego, jeżeli nie piszę przy użyciu bibliotek tylko...
http://obrazki.elektroda.pl/9377221800_1... W dziale mikrokontrolery ARM znajdziecie bezpłatny (do osobistego użytku edukacyjnego) poradnik STM32 przygotowany przez szczywronek . Materiał dostępny jest w temacie: techekspert: Do kogo kierowany jest poradnik, jakie podstawy powinien mieć opanowane czytelnik? Czy znajomość określonej...
jaki sprzęt oraz język programowania jest najbardziej przyszłościowy? Krótka odpowiedź: żaden. Po prostu rynek się zmienia baaardzo dynamicznie. To nie są lata 80-90 gdzie 8051 i długo, długo nic. Teraz na topie wydają się STM32*(czyli ARM), z chińskich to masz ESP32, 82*, zaczyna być coraz więcej kości z RISC-V. Języki programowania to wiadomo 1....
Witam, mam ogromną prośbę. Prześledziłem dużo tematów ale nigdzie nie znalazłem odp na moje pytania. A mianowicie w starterkicie STM32L-Discovery próbuję uruchomić SPI2. Nidzie nie mogę znaleźć dokładnej instrukcji jak uruchomić funkcje alternatywne dla tego SPI i jak to wszystko potem skonfigurować. Chciałbym odbierać dane z akceleromeru Boscha BMA180...
Witam, początkowo zacząłem programować mikrokontroler stm32f103RBT6 wykorzystując bibliotekę standardową, ale zachęcony przeczytanymi postami na elektrodzie zacząłem programowanie wykorzystując tylko definicje rejestrów zawarte w pliku stm32fx.h. Chciałem włączyć jakiekolwiek przerwania (np. od timera 4) niestety wogóle nie wiem jak do tego się zabrać....
Użycie operacji logicznych na BSRR jest błędem, i to podwójnie. Nie ma to nic wspólnego z "ostrożnością". Oczywiście nie ma to nic wspólnego z ostrożnością, ale jak dopiero zaczynałem programować i kilka razy nadpisałem sobie ważne rejestry, to wszędzie wstawiałem "|=". Zadziałało i przynajmniej się nauczyłem :> W sensie logicznym błąd, ale czy w sensie...
Witam dziękuję za odpowiedź. A więc tak po następnym uruchomieniu code blocksa już pamiętał ustawienia, więc nie wiem czym mogło być to spowodowane. (między czasie mógł być restart więc może to pomogło) Co do Ustawienia kompilatora i flag to kolega wcześniej miał rację nie mam ustawionych ani flag ani linkiera. Chcę programować procesor STM32F767ZI...
Ponieważ nie zdradziłeś tajemnicy jakiegoż to STMa używasz to poniższa funkcja może być błedna (np L4 programuje się podwójne słowa a można też programować sekwencje 32 podwójnych słów za jednym zamachem). Czasami RM sugeruje odczytanie zapisanie słowa a czasami tylko sprawdzanie EOP. Zakładam że już właczyłeś w rejestrach programowanie i wykasowałeś...
Ale wciąż czekam na opinie! kogoś kto zrobil coś duzego na tych bibliotekach! Ale co według Ciebie znaczy "duże"? Ja robiłem może nie coś ogromnego w sensie objętości we Flashu, ale ze skomplikowanymi zależnościami czasowymi na STM32F103VD/VE. Używałem przerwań i robiłem rekonfigurację różnych bloków układu w tych przerwaniach. I to działało z użyciem...
Nie chodzi o to, że nie działają. Są bez sensu pod tym względem, że nie trzymają się kupy z opisem rdzenia. A czytając manual, wystarczy, że się przeczyta odpowiedni podrozdział w functional description i poustawia rejestry tam jak jest to napisane. Czasem układy są tak proste, że się przechodzi od razu do register description. Poza tym, są bardzo zasobożerne....
Witam, od paru dni ogarniam nową dla mnie architekturę ARM na bazie STM32103C8T6. Bawię się aktualnie licznikami, udało mi się jakoś skonfigurować pwm, ale mały problem pojawia się przy próbie skonfigurowania timera w tryb odpowiadający CTC z AVRek. Chodzi o zerowanie licznika po zrównaniu (Compare) tak, żebym mógł sterować częstotliwością. Ale coś...
STM32 to Very Low Cost Platform więc i wymagać za dużo nie można. Natepny cytat miesiąca. Zrozumcie - bez rozumienia jak to działa nie da się programować uC. Żadne magiczne "wyklikiwacze" w tym nie pomogą. Szanowny forumowy kolego. Naprawdę szanuję Twoje umiejętności i wiedzę, cieszę się, że dla Ciebie to wszystko to jest "pestka". Dla mnie to wszystko...
Wadzą w redukcji powierzchni płytki, a w niczym nie pomagają. Dlaczego mam na płytce umieścić tylko dwa zbędne elementy? Może powinienem dać ich ze 20? Zauważ, że w tym fragmencie manuala jest mowa o przycisku RESET - to uzasadnia użycie kondensatora. Jakoś jednak na wklejonym przez Ciebie firmowym obrazku ST nie widać rezystora, który tak rekomendujesz....
Witam, Do Eclipse (kepler) chce spiąć sobie wszystko co potrzebne aby programować stm32. Uruchomiłem już kompilator (bleeding-edge-toolchain od Freddie Chopin), podpiąłem OpenOCD ale utknąłem na debugerze. Podczas próby połączenia się nim z OpenOCD zwraca: Bogus trace status reply from target: qTStatus Bogus trace status reply from target: qTStatus...
Wiec kupiłem ksiązki i zacząłem się uczyć ale na bibliotekach SPL. Nie sądzę aby ktokolwiek Cię do tego namawiał na tym forum. Sam zabrnąłeś w ślepą uliczkę. Do tego niczego się nie uczysz - bo nie poznajesz procesotów, tylko jakieś biblioteki. Co z tego że wywołasz magiczną funkcję "HAL_ADC_Start_DMA" ale stawiam dukaty przeciw kamyczkom, że to DMA...
Nie wiem, dlaczego działa w Keil - na moje oko nie ma prawa. Wyłączasz SPI w czasie trwania transmisji ostatniej ramki. Zaprogramuj drugi kanał DMA na odbiór do stałej lokalizacji w pamięci i obsługuj przerwanie od tego kanału, a nie od nadawania. Czy możesz jaśniej wytłumaczyć?jestem że tak powiem amatorem programowania. W momencie mam ustawiony kanał...
BlueDraco, przejście na programowanie za pomocą rejestrów dawno mnie pociągało, ale w zasadzie trzeba by było zaczynać naukę od zera (szczególnie dla każdego nowego procesora). Czy gdyby dalej pisać w HAL, ale ważniejsze czasowo fragmenty tylko na rejestrach, to szybkość ich byłaby porównywalna? Czy jednak pozostałe fragmenty kodu w HAL akurat niezwiązane...
Żeby było wydajniej to powinieneś w ogóle wywalić ten shit (tą bibliotekę). A co do zmiany wypełniania to najwydajniej operować na samym rejestrze TIM3_CCR1. Nie używam tej biblioteki ale zaglądałem do jej źródeł i nie przypominam sobie aby była jakaś "funkcja" do zmiany tylko jednego rejestru, zatem i tak musisz operować bezpośrednio na tym rejestrze....
Tak jak pisałem, chciałem programować bez kupna zbędnych płytek startowych, jedynie procesor, samemu sobie zaprojektować układ z rzeczami które mam na stanie i zacząć się bawić. Ja zaczynałem tak: [url=http://www.elektroda.pl/rtvforum/vi... - Cortex-M3. JTAG, na sam start nie jest głupim pomysłem, a nawet...
Witam wszystkich, Przez pewien okres czasu zdarzyło mi się programować przy dużym wsparciu bibliotek ST. Jak jednak powszechnie wiadomo, korzystanie z owego rozwiązania nie jest optymalnym podejściem. Postanowiłem zatem przejść do operacji na rejestrach mikrokontrolera. GPIO, Timery, DMA - wszystko poszło w miarę gładko, zdziwiłem się dopiero przy ADC....
Tablicami NVIC się nie przejmuj. Korzystaj z funkcji dostarczonych przez CMSIS, w tym przypadku nie warto stosować rejestrów wprost. Konfiguracja Timera OK, choć kolejność nie należy do poprawnych. Przyjrzyj się jeszcze rejestrowi EGR. Przerwanie? Brak kasowania flagi skutkuje ciągłym jego wywoływaniem. Flagę kasuje się na początku przerwania. I taka...
Mnie tym razem forma i treści od Kolegi Piotra nie satysfakcjonuje - szczególnie w kontekście innych wpisów na elektrodzie. Nie mogę zrozumieć czemu ta prezentacja miałaby służyć. Brakuje ewidentnie konkretnych walorów edukacyjnych, na pewno dla takiego amatora jak ja, być może jest to dobra inspiracja zaawansowanych użytkowników, ale szczerze wątpię....
Operowanie na rejestrach to dla mnie na razie czarna magia, co oczywiście nie oznacza, że nie wejdę w to za jakiś czas. Wejdę na pewno, ale zaczynając od prostszych rzeczy typu ATmegi, zaś obecnie rzeźbię cośtam z STM32 i wolę korzystać z biblioteki, którą w miarę rozumiem i która nie wymaga wchodzenia do nieskopoziomowej zabawy. Pozdrawiam, AF To...
I dobrze mówisz: Sprawa wygląda inaczej, bo podstawą jest tutaj JTAG i z tej racji przeraża to czasem miłośników AVRa. To właśnie jest to czego najbardziej się do tej pory obawiałem. Powiem szczerze: byłem święcie przekonany, że dla każdego producenta ARM będę musiał posiadać osobny programator. Polałeś miód na moje uszy. :) Jeżeli rzeczywiście jest...
PS. Jak załadować program za pomocą BootLoadera po RS232? Szukam i szukam w necie i nie widzę. Dokładnie to chodzi mi o to jakim programem. Program nazywa się Flash Magic http://www.flashmagictool.com/ Jak by jakiś pin był podłączony do GND a ja na nim bym wymuszał stan niski (a raczej próbował wymusić) i procesor by się palił to bym zrozumiał. Akurat...
Akurat C testuje na STM32 :) Napisałem funkcję do czytywania z czujnika który wystawia w swoim rejestrze int16_t, ale u mnie pobierana jest w postaci 2 bajtów uint8_t. Chcę ją przesłać do PC i wyświetlić jako int16_t.
Pamiętaj że każdy procek będzie miał inaczej zrealizowane przerwania, cortex-m zrzuca do rejestry automagicznie, cortex-A wymaga już zrobienia tego ręcznie. C51 nie znam, ale możliwe że tam tez przerwanie mogło być szybkie bez zrzucania rejestrów na stos. Tylko kilka rejestrów jest odkładanych na stos automatycznie; reszta - jeśli jest to konieczne...
Witam, programuję od 2 miesięcy mikrokontrolery STM32. Środowisko jakiego używam do tego to CubeMX do generowania konfiguracji oraz System Workbench for stm32 (eclipse z nakładką). Co ważne używam tego na Windowsie (a nie ma linuksie). Tydzień temu odinstalowałem eclipse i zainstalowałem ponownie (czemu, nie powiem :), zrobiłem to) i od tego momentu...
(at)chudybyk znam tą dokumentację, ale ciężko się przez to przekopać. Chodzi mi raczej o źródło, które pomoże samemu od podstaw pisać programy podobne do tych generowanych przez CubeMX, ale jednak piszesz je sam, dzięki czemu wyciągasz z tego jakąś wiedzę. Przede wszystkim - wiesz co się dzieje w tym kodzie, w przeciwieństwie do kodu generowanego przez...
W tym kawałku kodu możesz odczytywać bezpośrednio wartość LED2_bb - też się da. Ja wiem, że się da odczytać z rejestrów wyjściowych. Po prostu na szybko wcześniej coś napisałem nie myśląc i potem tego nie zmieniałem. Znam te tematy z atmeg. Na początku nie wiedziałem jak to jest z armami. Jeśli chodzi Ci o konfigurację typu kierunek Chodzi mi o konfiguracje...
Moc obliczeniowa nadal bardzo mała, a przy falownikach, sterowaniu silników czy SMPS jest bardzo potrzebna. Ja od siebie dodam, że spotkałem sterowniki falowników w ciut nowocześniejszych trolejbusach (na silnikach asynchronicznych) działające w oparciu o klona C251. Czyli też nie jakiś demon prędkości (ale za to 16bit native) Jeśli nie bawimy się...
I tak i tak musisz uczyć się procesora, więc po jaka cholerę uczyć się jeszcze biblioteki i w dodatku wpajać sobie chory styl programowania. Ogólna konfiguracje przeprowadzasz raz więc można odrobinę więcej czasu poświęcić na zapoznanie się z rejestrami a przy okazji lepiej poznać peryferium. Dalej w programie zmieniasz tylko pojedyncze bity lub rejestry....
Ja tam się domyślam dlaczego nie możesz zmienić większości rejestrów - wystarczy przeczytać w manualu rozdział o rejestrach RCC i zastanowić się po co są. Domyślam się też dlaczego bez JTAGa Twój program nie działa - wystarczy przeczytać w manualu CrossWorksa o programowaniu mikrokontrolera. Zresztą akurat ta sprawa jest tutaj poruszana regularnie,...
mam płytkę stm32f0discovery ale czy jest ona dobra na start z stmami Dobra jak i inne, tym bardziej jeśli zaczynasz od prostych rzeczy typu miganie LED, port szeregowy itp. . Doświadczenie z jednej rodziny przydaje się w drugiej. A już szczególnie jeśli się używa bibliotek (SPL czy HAL). Ale w zasadzie sedno problemu tkwi w materiałach do nauki. Jeśli...
To prawda, że są bardziej skomplikowane. Krążą legendy o niesamowitej prostocie i łatwości programowania np. STM32. Tak twierdzą osoby zachwycone łatwością wyklikania konfiguracji w CubeIDE i piszące swój kod tylko w wyznaczonych miejscach... Dopóki wszystko działa to jest "proste". Ale poznanie mikrokontrolera i swobodne korzystanie z peryferiów to...
a nie "aby się dobrze pisało kod maszynowy" **) (mój faworyt , choć z przeszłości, Z80). MC68k ma najprzyjemniejszy Assembler. Minęło mnie programowanie w/w, ale pasjami o nim czytałem. Nie będę się kłócić :) Przez mgłę pamięci wydaje mi się taki "środkowy" w sensie symetrii/asymetrii rejestrów
Po przejrzeniu ostatnich postów z problemami na STM32, to można dojść do wniosku, że programowanie na tej platformie to chyba jakaś forma kary dla programisty ;) Jest kilka fajnych bibliotek w C++ dla STM32, które tak bardzo ułatwiłyby życie Wam wszystkim :) Oczywiście nie chodzi mi o Arduino HAL. Arduino to platforma, Raspberry Pi to platforma, stm32f334...
oczywiście bezpłatne spełniające te wymogi by było idealnie Jeśli darmowy to osobiście proponuję System Workbench for STM. Nieokrojone, klasyczne (GCC+Eclipse) zoptymalizowane na STM środowisko. I do tego koniecznie CubeMX. Nie tylko jako ewentualny generator szkieletów aplikacji ale i cenne źródło wiedzy o peryferiach STM jak i przykładów programów....
Witam Mam problem z zaprogramowaniem uC STM32F103RBT6. Układ wcześniej bez problemu chodził i się programował. Problem pojawił się gdy zmieniłem wartość rejestru FLASH->ACR z 2 na 0. Od tej pory H-JTAG widzi procka ale nie mogę wgrać flasha :( Otrzymuje taki komunikat: http://obrazki.elektroda.net/81_12461006... Czy można coś z tym zrobić ?
A to jest jakiś obowiązek wyboru biblioteki? Ja tam zawsze byłem zbyt leniwy na pisanie dziesiątków długaśnych podstawień w celu zaprogramowania trzech rejestrów peryferiala. Np. do zaprogramowania UARTa bez bibliotek wystarczą trzy linijki kodu. Jeśli chodzi o środowiska, to temat jest tu wałkowany co 2 tygodnie. Atollic potrafi sam wygenerować projekt,...
Ok, ale nadal nie rozumiem - Co z tego że że odpowiedni SFR zapiszę np. w trakcie programowania, jak przecież żaden rejestr nie utrzymuje wartości bez zasilania - po wyłączeniu napięcia zasilania wszystkie rejestry tracą swoje wartości. Wytłumacz jaśniej, bo zupełnie nie wiem jak to ma działać. Czy to jest jakiś rejestr w pamięci flash? Ustawiany jest...
Masz zapewne rację, ja sam nie wiem co jest potrzebne co nie. Zaciekawiło mnie to, po prostu. Wiesz gdzie nie czytasz to każdy jako kursy opisuje, sposób samego programowania jakiegoś danego uC, ale jeszcze nie spotkałem czegoś co uczy samej techniki. Jak podchodzi się do nowego uC, jak korzystać z dokumentacji, co nam jest potrzebne, a przede wszystkim...
EP z grudnia 2016, a może 2015. Najprościej sterować przez SPI, ale musi ono działać na ok. 2.5 MHz (na L0 działa na 2.13 MHz, idealnie byłoby 2.4 MHz). Problemem w STM32 jest to, że podzielnik SPI musi być potęgą dwójki, więc wymagany zegar procesora to np. 20, 40, 80, 160 MHz. W takim przypadku każdy bit WS2812 koduje się na trzech bitach wysyłanych...
Już poprawiłem, czytam na temat tego co napisał BlueDraco Dodano po 47 BlueDraco wertuje dokumentację AN2606 ale z tego co widzę to Boot mode to własnie bootloader o który mi chodzi, więc jeśli go wyłączę to stracę możliwość aktualizacji software. Ogólnie jeśli dobrze rozumiem, to aby wyjść z tego trybu należy dokonać sprzętowego restartu procesora...
Chcę zacząć pisać programy na STM32. Do tego celu użyłbym edytor Ultraedit. Ściągnąłem z gnuarm.com instalkę. Po zainstalowaniu ma być kompilator do ARMa. Pytanie jak to wszystko poskładać, co potrzebuje, żeby od napisania kodu dojść do pliku HEX? Czy konieczne są jeszcze jakieś pliki .h z definicjami rejestrów itp. dla tego procesora? Gdzie tego szukać?...
Jak piszesz w zespole to musisz miec wspólną platformę. Jak robisz to sam to nie. Dlaczego niby w zespole trzeba się decydować na biblioteki od ST (SPL, HAL). Teraz jest sporo alternatyw do wyporu i nie trzeba się ograniczać tylko do STM32. Nie wyobrazam sobie programowania uC bez znajomości sprzętu i siedzenia nad RM-em. Tyle że z cięzkimi bibliotekami...
No właśnie jak się okazuje ilość danych do wysłania ma znaczenie, bo dla mojego układu slave (MCP4728) wysłanie adresu i jednego bajtu (więc razem dwa bajty) działa OK (np. komenda GENERAL_CALL, UPDATE). Natomiast wysłanie większej ilości bajtów (bo tego wymagają komendy układu MCP4728) nie działa (np. FASTWRITE). Wiem, że mogę korzystać z HAL'a. Wiem,...
No własnie - bo ja jakoś nie zauważyłem, żeby mi trudniej było się nauczyć ARM'ów, przez to że znałem wcześniej 8-bitowce. A może problem polega na tym, że własnie tego się nie zauważa i nieświadomie stosuje się wcześniej utrwalone złe schematy. Gdzie jest zatem podręcznik programowania 32-bitowców, w optymalny (ale nie do przesady) dla nich sposób,...
SPLa przestał żyć. Nie przesadzaj - przecież ten cały STM32 Cube i będący jego częścią "HAL" (równie adekwatna nazwa jak "SPL"...) to SPL z minimalnie pozmienianym API. Dalej jest tak samo badziewny i napisany przez kogoś kto "nie ogarnia" programowania (wciąż brak jakiegokolwiek "const" przy wskaźnikach - na to chyba nigdy nikt tam nie wpadnie). Często...
Witam! Uczę się programowania mikrokontrolerów STM32 (aktualnie męczę STM32F103). Programy piszę w C, ale co jakiś czas zerkam w to co spłodził kompilator - w celach edukacyjno-poznawczych. Napisałem prostą funkcję obsługi przerwania od SysTicka. Deklaracja funkcji ma postać: [syntax=c]void SysTick_Handler(void) __attribute__((interrupt));[/syntax]...
Z drugiej jednak strony naprawdę nie widzę tej wielkiej komplikacji przed którą się tak bronisz. Ot wpisanie zer do dwóch czy trzech rejestrów aby zresetować ustawienia zegara, a zresetowanie wszystkich układów peryferyjnych w STM32 jest równie banalne - wpisać 0xffffffff do wszystkich rejestrów typu RCC->...RSTR, a następnie wpisać tam zero. Wiem że...
Witam Forumowiczów. Postanowiłem spróbować swoich sił z eclipsem jako środowiskiem do programowania mikro kontrolerów STM32. Jako projekt bazowy przyjąłem przykład od Freddiego dla STM32F103. Zainstalowałem eclipse z wtyczką MCU, pobrałem odpowiednie paczki do podglądania rejestrów zgodnie z instrukcją : https://obrazki.elektroda.pl/5420610700_...
O tyle to nie ma sensu, że programowanie mikroprocesorów nie opiera się na odpalaniu różnych rzeczy. Przydaje się natomiast biblioteczka konfiguracyjna. Mamy coś takiego na potrzeby wewnętrzne tzn wszystkie przykłady działające i opisane w jednym miejscu. Takie coś mógłbyś napisać. Nie chce też zaczynać burzy ale nie uważam biblioteki konfiguracyjnej...
Jeśli nie chce używać rejestrów backupowych to zostaje Tobie tylko zapis do flasha. Twój uC ma 128KB flash, chcesz zapełnić całą pamięc programem? Zakłożę się, że nie, więc nie widzę problemu z poświęceniem mniej niż 1% pamięci na tą flagę. Inny sposób to zapis wybranej komórki EEPROMA jakąś znaną wartością po pierwszym zaprogramowaniu uC. Przed każdym...
Witam, Mam pytanie ogólne o to jak wygląda zawodowa praca programisty embedded. Obecnie pracuję jako inżynier elektronik, ale mikrokontrolery to moje hobby i uważam, że nadszedł czas wejścia na wyższy poziom. Na rozmowie którą niedawno miałem mój poziom został oceniony na Junior+, ale jeszcze nie Mid. Moje pytania: 1. Czy programuje się bezpośrednio...
Próbuje ustawić częstotliwość na QN8025, aby przy pomocy słuchawki móc puszczać muzykę. Mam problem, ponieważ pierwszy raz robię projekt tego typu i nigdy wcześniej nie komunikowałem się przez i2c. Używam płytki NucleoF103RB i kod piszę używając STM32CubeIDE. Moduł z układem QN8025 podłączyłem według schematu https://obrazki.elektroda.pl/5432896100_...
A jakież to koncepcje można przekazać na przykładzie Arduino? W kontekście działania i budowy MCU oczywiście. Jesteś izolowany od sprzętu, nie zastanawiasz się jak on działa, a do dyspozycji masz tylko to co przewidział twórca jakiejś biblioteki. To z czego te zajęcia maja być? Z działania i budowy MCU czy z programowania? Jaka to różnica czy konfigurujesz...
Funkcja delay ma posłużyć tylko do posprawdzania i zapoznania sie z środowiskiem wiec jest jaka jest (prymitywna). Nie jestem aż tak biegły w programowaniu wiec symulator pod avr przydawał mi się bardzo często. Tutaj mam debuger i chciałbym go używać ale bez jakiegoś licznika jego użyteczność dla mnie spada. Dziwi mnie tez ze ta funkcja tak prosta...
To teraz jeszcze wyrzuć wszystkie operacje na CR2, bo są całkowicie zbędne - ustawiasz w tym rejestrze wartości domyślne, które są tam od początku. Operacje na AFR i MODER możesz wykonać jedną instrukcją. Procedura TransmitByte to przykład, jak nie należy programować, jakby zainspirowany pewną książką. :) Kolejność akcji!!!
Witam! Posiadam płytkę Discovery z procesorem stm32 f100RB Włączam program CubeMX, ustawiam pin 2 portu B jako wejściowy w trybie Pull Up. Programuje Procesor Sprawdzam napięcie pomiędzy masą a pinem 2, wynosi ono 0.2V Włączam w woltomierzu "Brzęczyk", sprawdzam ciągłość obwodu pomiędzy pinem a zasilaniem... Brzęczyk się odzywa, wskazuje spadek napięcia...
Mnie trochę śmieszą korporacyjne zagrywki. Najpierw coś spartolą, a potem wydają wersję "normalną" - taką jaka powinna być od początku i mówią, że to już jest super :D Tak było z SPLem. Najpierw wydali ten szajs (SPL) mówiąc, że to hiper ultra biblioteki i każdy z ulicy będzie mógł programować ARMy (sprowadzało się to do nauczenia się bibliotek i dodatkowo...
Witam. Uczę się programować mikrokontroler STM32F334 rejestrami. Natrafiłem na jeden problem. Rejestr MODER : https://obrazki.elektroda.pl/3958434600_... https://obrazki.elektroda.pl/7168405500_... Do ustawienia typu pinu potrzebne są 2 bity, a więc jak ustawić wejście/wyjście jeśli bit MODERx[1:0] może mieć wartość...
Jeśli np. weźmiecie plik wykonywalny (.exe) AutoMapy dla Windows Mobile i przeniesiecie go na PC, to on się normalnie uruchomi. To akurat jakaś bajka ;) Nie uruchomi się ze względu że to inna platforma :) AutoMapa miała (a może i ma bo chyba jeszcze jest wydawana) kilka plików uruchamialnych instlowanych według potrzeb przez instalator (w zależności...
SPL - standard perihperal library oznacza skrót nazwy bibliotek, które użyte zostały w Twojej książce. Są one dostarczone przez producenta STM32 i nie do końca są martwe. Wiele projektów i tutoriali nadal jest o nie oparte. CMSIS - Cortex™ Microcontroller Software Interface Standard jest zbiorem uniwersalnych funkcji dla wszystkich CORTEXów takich...
Jeszcze dokładnie nie rozumiem dlaczego nie mogło być tak jak pisałem wcześniej Bez obrazy, ale to są podstawy programowania w C na mikrokontroler. chodziło o to że musiałem jakby zdefiniować że czekam na bit CAL dokładnie dla ADC1? Dlatego wymagało to użycia w instrukcji iloczynu logicznego z ADC1->CR2? Przecież już ze 3x dostałeś informację, że ADC_CR2_RSTCAL...
Tutaj nawet nie chodzi o to jakie konkretne mikrokontrolery są używane do nauki, ale o brak podejścia do techniki tworzenia oprogramowania na urządzenia wbudowane. Jak optymalnie pisać drivery, na co zwracać uwagę w C, po co volatile, jak projektować maszynę stanów, podejście algorytmiki, bufory kołowe, FIFO, stosy, podejście pseudo-obiektowe i tak...
Pewnie, najlepiej klepać wszystko od zera, bo po co korzystać z bibliotek, w końcu "prawdziwy programista" uwielbia przekopywać się przez setki stron manuali, datasheetów i utrudniać sobie życię. Nie przesadzaj, jak napisał kolega wyżej, sam plik stm32f10x.h wystarcza, nie musisz wklepywać przecież dziesięciu tysięcy adresów rejestrów od nowa. A zapis...
rejestr stm32 stm32 rejestr programować stm32
iskrownik ustawić dekodowanie pliku migający klucz
instalacja offgrid amica piekarnik
Schemat elektryczny Nokia 3 - dostępność i źródła Brak oświetlenia kabiny w Iveco Daily 2018 – diagnostyka