https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
https://obrazki.elektroda.pl/9151185000_... Autor poniższego zestawienia jest inżynierem i konsultantem wsparcia dla systemów wbudowanych. W swojej karierze poznał on szereg różnych architektur mikrokontrolerów, różniących się wydajnością, wyborem peryferii, poborem zasilania etc. Wybór odpowiedniego układu stanowi zawsze o sukcesie...
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...
Witam, Zagłebiam się powoli w procesor STM32F107 i widzę, że nie będzie łatwo :-) Pamiętam wcześniejszą dyskusję o nieużywaniu biblioteki "Standard Peripherals Library". OK To jak w takim razie zrealizować cos takiego, znanego z innych procesorów: np. GPIOA_CRL = 0x44444444; W pliku STM32F1x.h nie widzę adresów poszczególnych rejestrów np. GPIOA-G,...
Witam Nie mogę porodzić sobie z banalnym problemem. Jak elegancko zapisywać bez biblioteki spl rejestry FSMC. metoda: [syntax=c] FSMC->BTR1 = (0x5<<8) | // DATAST = 0x5 (1<<0) ; // ADDSET = 0x1 [/syntax] nie działa no i nie może bo w stm32f10x.h są tylko definicję dostępu bitowego: [syntax=c] /****************** Bit definition for FSMC_BTR1...
Witam! To znowu ja. Uczyli w szkole o generale, co się kulom nie kłaniał, a ja mam rejestry, co się resetu nie słuchają, ani sprzętowego z pinu, ani z jtag-a. Jak to rozumieć? Timer i dma też nic sobie z resetu nie robią. Teoretycznie po resecie powinienem mieć w rejestrach reset value, ale przynajmniej w wymienionych tak nie mam. Pomaga dopiero wyłączenie...
Witam, Mam problem z programem. Otóż, po wejściu do funkcji rejestry zrzucane są w nieodpowiednie miejsce. W moim przypadku jest to bufor LCD, co powoduje wyświetlenie kompletnych bzdur na moim wyświetlaczu. Przed wejściem do funkcji: http://img36.imageshack.us/img36/6918/st... Po wejściu do funkcji: http://img27.imageshack.us/img27/196/bez...
Witam, Potrzebuje pomysł na zgrabne programowanie zewnętrznej kości EEPROM podpiętej przez I2C z STM32F103RB. Chcę żeby to się odbywało mniej więcej jak to ma miejsce w AVR, czyli jeżeli programuje procesor to i EEPROM. W STM na początku programu mam funkcję która programuje mi EEPROM domyślnymi wartościami, ale wiadomo że tak nie może zostać na stałe,...
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,...
Jestem początkujący jeśli chodzi w ogóle o mikrokontrolery i programowanie także proszę o wyrozumiałość. Na tej płytce jest dioda LED podłączona do portu PA5. Jeżeli chcemy ją zapalić to używając rejestru BSRR piszemy w programie: GPIOA->BSRR |= 1 << 5; a gasimy GPIOA->BSRR |= 1 << 21; nurtuje mnie taka sytuacja while(1){ GPIOA->BSRR...
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...
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,...
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...
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ł....
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-...
Temat rozwiązany. Problemem było to, że były zworki w Nucleo i programowałem Nucleo a nie docelowy STM32.
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...
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ść...
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...
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...
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...
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?
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....
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"...
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)
(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?
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 :)
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...
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, 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...
(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...
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,...
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....
(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...
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...
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...
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...
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ę....
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...
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...
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()...
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...
RISC nie poznaje się po długości listy instrukcji, a po tym, co te instrukcje potrafią. Np. nie potrafią równocześnie przesyłać danych do pamięci i zmieniać wskaźnika stosu (PUSH/POP). W ARM jest PUSH/POP/LDM/STM, w dodatku na wielu rejestrach w jednej instrukcji - bardzo nieRISCowa cecha. Za to RISCową cechą jest rejestr LR i architektura typu Load-Store....
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....
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...
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...
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...
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...
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...
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ę...
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ł...
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...
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.
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...
stm32 rejestry stm32 rejestry portów programowanie stm32
automatyczne rozmrażanie kompilacja warunkowa wymiana pływaka pompy
Awaryjne otwieranie drzwiczek pralki Beko HTV 8733XSO Sharp Aquos 50BL3EA - brak obrazu po aktualizacji