Masz serię artykułów w EP z ostatnich 2 lat o programowaniu bez SPL w Keilu - wystarczy poczytać, archiwalne numery są dostępne za darmo. Marudzisz, że nie działa, ale ani nie pokazałeś kodu, ani nie napisałeś, co to znaczy że "nic nie rusza", więc jak niby mamy Ci pomóc, hę?
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.
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ść...
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...
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)
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....
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...
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-...
Jeżeli zadajesz pytanie, to zamykanie tematu uniemożliwia uzyskanie odpowiedzi. Odblokowałem. Źródło taktowania po zwolnieniu sygnału reset jest określone sprzętowo. W przypadku STM32F302 jest to opisane w sekcji 9.2.6 w [url=https://www.st.com/content/st_com/e...
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"...
(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?
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...
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 :)
BlueDraco, ponownie dziękuję tobie za odpowiedź i nakierowanie na programowanie przez rejestry, ale najpierw chcę zakończyć pisać program w HALu. Dlatego jeszcze raz zapytam: Dlaczego w powyższym kodzie HALa mam problem z ponowną inicjacją przerwania?
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...
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.
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...
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...
[syntax=c]GPIOA->CRL &= ~GPIO_CRL_MODE5_0; // ustawiam 0 w MODE0 czyszcząc GPIOA->CRL |= GPIO_CRL_MODE5_1; // ustawiasz bit 1 //ustawiam 1 w MODE1[/syntax] Po tym mam 01 [syntax=c]GPIOA->CRL |=GPIO_CRL_MODE5_0; // ustawiam bit 1 w MODE0 GPIOA->CRL &= ~ GPIO_CRL_MODE5_1; // czyszcze bit 1 w MODE1=0[/syntax] Po tym 10 Teraz już wiem ze MODEx_0 to Mode0...
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...
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,...
ARMy są równie dobre dla starych wyjadaczy, jak i dla początkujących Tak samo jak rachunek różniczkowy jest równie dobrych dla starych wyjadaczy po studiach matematycznych, jak i dla pierwszoklasistów w gimnazjum. Dodano po 1 A może to nie "kretyni" tylko inteligentni ludzie, którzy korzystają z bardziej efektywnej drogi pozyskiwania potrzebnych w...
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...
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...
(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...
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...
(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...
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...
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...
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ś...
Nie interesują mnie biblioteki "wysokiego poziomu" dopóki nie ogarnę rejestrów . Po co? Kolega pyta o SPL-a, więc odpowiadam. Nie narzucam. Gdyż naprawdę mało jest źródeł programowania STM32 pod linuxem ( w porównaniu do win) a po Polsku nie opartych na Eclipse to już w ogóle ze świeczką szukać. Jeżeli na początek nie jest w stanie sam wskazać odpowiednich...
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ł...
bibliotekę HAL. Która nie jest może ideałem ale pozwala na szybsze tworzenie oprogramowania zorientowanego na funkcjonalność peryferii a nie na ich rejestry. Możesz wyjaśnić, co to jest "programowanie zorientowane na funkcjonalność, a nie na rejestry? I w strukturach HAL, i w rejestrach, mamy te same pola i wartości, tylko inaczej ponazywane. Przy...
Ż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....
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()...
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ę....
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...
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...
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,...
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...
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ć....
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...
Hmm wiem wiem, akurat ten kod był przerabiany z 5 razy i w kilku miejscach nie poprawiłem komentarzy faktycznie, i też wolę wersję z widocznymi nazwami, i pierwotnie taką miałem wszędzie jednak w trakcie szukania problemu zacząłem wątpić, czy tam na pewno odpowiednie bity są poustawiane i powstawiałem maski wszędzie ... ale naprawdę mój problem polega...
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...
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 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...
Nie miałem teraz czasu wprowadzić poprawek i przetestować, więc jutro sprawdzę czy poskutkowało. Ja doskonale rozumiem, że trzeba się zupełnie przestawić z programowania z PC na uC i prędzej czy później będe musiał się zająć rejestrami i mapami pamięci, jednak - jak napisałem - zaczynam z tym dopiero, akurat mam do skończenia parę rzeczy z wykorzystniem...
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...
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...
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...
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...
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ś...
Odpowiedz mi na proste pytania - urodziłeś się z tą wiedzą? A może kiedyś zaczynałeś i byłeś równie zielony a może bardziej? dziechu, zauważ, że to o czym pisze Freddie ma ruszać jedynie bzdurność bibliotek a nie wytykać Ci Twoje braku umiejętności. To, że ktoś jest początkujący nie oznacza, że ma używać badziewia. Z reguły to nie popłaca, ponieważ...
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ł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_...
Nie wiem czemu LIS nie generuje mi przerwań. Konfiguracja lisa wygląda tak: [syntax=c]//Initialization LIS302DL LISWrite(0x20,0x47);//CR1 active mode 100Hz XYZ turned on LISWrite(0x21,0x00);//CR2 LISWrite(0x22,0x24);//CR3 push-pull active hight INT1 and INT2 Data ready mode[/syntax] program podany wyżej zmieniłem tylko że przerwania maja być z portu...
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...
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...
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...
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...
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...
Swoją drogą, to chyba tylko my tutaj na Elektrodzie tak nisko oceniamy SPL...jak się popatrzy po zagranicznych forach, to tam bezkrytycznie je stosują. Stąd prawie całkowity brak przykładów bez użycia SPL w internecie i literaturze. I pomyśleć że opiera się to na demie Kiedyś założyłem wątek na forum ST o to link: https://my.st.com/public/STe2ecommunitie...
http://obrazki.elektroda.pl/6087634000_1... Witam, dziś chciałbym przedstawić potomnym projekt sterownika do pompy CO (nieco zaawansowany termostat) - projekt niezbyt skomplikowany, więc idealny na rozpoczęcie zabawy z STM32. I tym właśnie był projekt - pierwsze urządzenie na STM32, zaraz po tym jak pojawiły się na rynku, a dodatkowo...
Moduł ADS1115 (albo podobny) + dzielniki/bocznik/zabezpieczenia wejścia + moduł uC (albo minikomputer) + wyświetlacz LED + napisanie programu. Łatwo się używa do tego Raspberry Pi, ale to trochę kosztuje; Arduino, czy moduł STM32 (a chyba jeszcze bardziej STM8) są dużo tańsze, ale programowanie trudniejsze. Do podłączenia ADS115 potrzebne są 2 sygnały...
Cześć Wszystkim! Mam Eclipse w wersji Yagarto i AT91SAM7S256. Układ programuję przez SAM-BA. Niestety nie mogę uruchomić debugowania w Eclipse przez Wiggler'a. OpenOCD mam w wersji 2006re82, bo tylko taki znalazłem ze sterownikiem portu równoległego. Próbowałem kolejnych kroków z manuala Jima Lynch'a oraz ze strony kolegi Chopina ale bez końcowego rezultatu....
No to coś się w końcu urodziło. Dzisiaj uruchomiłem płytkę vldisc. od zera, tylko wykorzystałem startup ze stosem i wektorami przerwań oraz - oczywiście - manual. Wszystko bez bibliotek i przykładów - zegar, PLL, SysTick z przerwaniem, gpio. Diody migają, przycisk działa:) Zajęło mi to 4 godz, całkiem nieźle, zważywszy że główne problemy mam po prostu...
Z zasady w obsłudze zdarzeń nie ma oczekiwania. Obsługa z oczekiwaniem musi być rozbita na dwa zdarzenia. Nie ma się o co spierać. Piszemy w C, bo tak jest łatwiej i wygodniej (a na ARM - pewnie i kod lepszy, ale na PIC16 czy 51 żaden kompilator nie wygeneruje kodu lepszego niż średnio dobry programista). Piszemy pod RTOS, bo łatwiej i wygodniej, chociaż...
i co mogę powiedzieć 8051 - ale w bardzo fajnej wersji, dużo rejestrów, szybkie, ciekawe peryferia, programowanie po UART. Prawdę mówiąc wyglądają lepiej niż sporo AVR-ów.... 20..30 lat temu byłaby to rewelacja, teraz raczej kit niż hit. Architektura 8051 ma spore ograniczenia i nawet gdy jest 1-taktowa nie zrówna się (przy tym samym zegarze) z AVR....
Jest to mój debiut na YouTube - chętnie przysłucham się waszym radom, komentarzom, spostrzeżeniom i sugestiom :-) . Niezła robota Adamie. Z mojej strony mogę zaproponować co byś w następnych filmikach skupił się na edycji podstawowych parametrów projektu, a zaczął np. od zakładek: " Path and Symbols" oraz "Settings " - a szczególnie z podzakładkami...
stm32 rejestry stm32 rejestry portów programowanie stm32
sprawdzić zasilacz laptop lenovo bateria huawei aktualizacja satel
Trudny rozruch zimnego silnika Kia 1.4 diesel Przetwornik 1/2.7" vs 1/2.9" - który lepszy?