Czy w CubeMX istnieje możliwość zmiany procesora jak wcześniej już był zrobiony projekt pod inny? Tak. Istnieje taka możliwość. Tworzysz nowy, pusty projekt na nowy uC, a następnie importujesz ten stary. Warto próbować automatycznie, wyświetli wtedy różnice z ostrzeżeniami. Jeżeli automat zawiedzie, to można ręcznie importować. Nie ma większego problemu...
Wybrałeś stary uC, archaiczne i martwe środowisko, a do tego chcesz pisać jak na AVR. To jest trochę inaczej. Jeżeli chcesz mieć zewnętrzny kwarc, to podłączasz go to wyprowadzeń HSE, włączasz generator, czekasz aż będzie gotowy i przełączasz taktowanie. Standardem w wielu aplikacjach i płytach rozwojowych jest 8 MHz, czasami 25 MHz. 12 MHz jeszcze...
Nie, może być najwyżej widziany jako DFU, o ile uruchomi się w nim wbudowany bootloader. W kilka minut można wyklikać w CubeMX USB CDC, a w następne dwie godziny oprogramować tak, by działało - i masz VCOM.
Skąd wziąłeś pomysł na wstawki z FLASH->ACR? Czytam RM0401 Jest dedykowany do tego rozdział: 3.4.1 Relation between CPU clock frequency and Flash memory read time Latency zależy od częstotliwości taktowania oraz napięcia zasilania, tak w skrócie. Co do ustawień zegara dla STM32 to warto zapamiętać sobie schemat działania, który wynika bezpośrednio...
zdania doprowadzają do jedynej IMO słusznej konkluzji w tym wypadku: Arduino. Arduino to ślepa uliczka. W mojej ocenie, Arduino traktuje uC jak Z-8 (CPU + GPIO) czy 8051 gdzie ze sprzętu to głównie proste timery i UART. ZERO wykorzystania sprzętu! Bo co wspierają biblioteki Arduino? UART z malutkim buforem w RAM, I2C to samo. SPI bez bufora, bez przerwań....
Próbuje mierzyć częstotliwość sygnału wykorzystując przerwanie i Timer2 Napisałem taki oto kod przy pomocy CubeMX: 249992 Hz i niby ok. Jednak znalazłem kurs STM32 na FORBOT ( 249986 Hz. I teraz nie wiem czy prawidłowo należy skonfigurować timer do tego zadania tak jak zrobiłem czy tak jak w kursie?
Nawet dla takiego małego Miki jak ja już na pierwszy rzut oka jest jasne że te kody to potężne źródło problemów. Co widać bez wgłębienia się w szczegóły: * Funkcja main() jako rozbiegówka to słaby pomysł. Kolega stmx napisał coś na ten temat (nawet podaje link w promowanych tematach), warto to przeczytać. * Stos musi mieć odpowiednie wyrównanie, zwykle...
Może zbyt namieszałem. Zasadniczo chodzi po prostu o to jak stworzyć projekt w SW4STM, który nie zawierałby tych wszystkich śmieci z SPL i HAL i dało się pisać na rejestrach. Taki czysty podstawowy projekt pod rejestry z tylko niezbędnymi rzeczami jak w przypadku pisania na AVRy. Ja robię to tak: I. Potrzebne narzędzia: 1. System Workbench for STM32...
Dzięki za odpowiedź. Akurat ten warunek if(HAL_GetTick() - DS18B20_timer > 2000) pisałem sam i musiałem zapomnieć go zmienić. Generalnie kod powstał w CubeMx i ten sam plik wygenerował kod dla CubeIDE i Keila dlatego dziwne są te różne wartości dla IWDG_PRESCALER. Sprawdzę to w domu i poszukam błędu. Dzięki.
Linia PC13 ma bardzo małą wydajność prądową. Gdybyś w temacie umieścił schemat lub kod inicjalizacji peryferiów dostałbyś szybciej odpowiedź. Ale skoro CubeMX robi wszystko automagicznie, to przecież nie warto czytać dokumentacji. Na razie masz problem zamaskowany. Pewnie wróci. 5. PC13, PC14 and PC15 are supplied through the power switch, and so their...
Nauka C na PC pod jakimkolwiek systemem operacyjnym nauczą Cię C... I na tym koniec. Tylko C to z K&R się nauczysz w weekend. Na uC inaczej się zarządza pamięcią, przerwaniami, są porty IO, duże ograniczenia (wymieniony AVR jest 8 bitowy...). Stm32 jest fajny, ale IMHO CubeMX, czy HAL już wymaga pewnej wiedzy z C... I koło się zamyka. Wg mnie warto...
ale czy przypadkiem nie powinieneś jeszcze włączyć zegara w RCC dla timera oraz gpio? Jeśli autor tematu skorzystał z narzędza CubeMX do wygenerowania szablonu, to zegary do peryferiów powinnny być włączone. Tutaj masz link do kursu z przykładem obsługi enkodera z bibliotekami HAL: [url=https://forbot.pl/blog/kurs-stm32-f...
Witam, W mikrokontrolerze "stm32f103c8t6" chciałbym wygenerować następujący przebieg na pinie: a) krótkie, powtarzające się, pulsy przez "x" czasu b) zero (przez "y" czasu) c) a i b powtarzające się z okresem "x"+"y" Myślałem aby w tym celu połączyć TIM3 i TIM1 w konfiguracji master-slave. W TIM3 (master) generowałbym przebieg x+y, który by służył do...
Próbowałem najpierw skopiować "na głupiego" kod z drugiego linku, niestety zawieszał się w EE_Init(); Spróbowałem ten cały przykład z mbed przenieść do SW4STM (ale bez biblioteki mbed, tylko do szablonu z CubeMX) i po drobnej kosmetyce chodzi całkiem dobrze. Kod jest dobry a przyczyną zawieszania pod SW4STM jest, jak się obawiałem, nieskuteczność tego...
Pewnie dlatego, ze wczesniej programowałem (AVRy) pod Eclipse, a CooCox to w sumei Eclipse jest. Coocoxa kiedyś używałem, ale odniosłem wrażenie że nie nadąża za trendami w STM32. Jeśli nie czujesz się jakoś specjalnie przywiązany do (schyłkowego) SPL (np. dorobek własny), to ośmielę się zasugerować System Workbench for STM32 także na Eclipse i używanie...
ADC IMO jest wyjątkowo niewdzięczne do konfigurowania używając HAL w bardziej złożonych trybach. Spróbuj na rejestrach powinno być dużo łatwiej i przede wszystkim będziesz wiedział co robisz, a nie po omacku szukał odpowiednich wartości pól. Zresztą często w HAL niektórych rzeczy się po prostu nie da zrobić. A co pokazuje ten wykres. bo naprawdę nie...
Ale ogólnie nie warto tracić dużo energii na SPL / HALL itp... Tak ale jakieś USB, ethernet czy dma2d na ten przykład - niby nietrudne teoretycznie ale okrutnie upierdliwe. Tu się zgodzę. USB nawet by mi przez myśl nie przeszło aby samemu robić. Są w internecie setki przykładów na podstawie bibliotek. Wystarczy pobrać i dodać do projektu, nawet nie...
Witajcie, siedzę i szukam błędu w bibliotekach do obsługi NRF24L01. Skopiowałem je z biblioteki, którą wykorzystuje w ATmega8. Działa nawet dobrze tam, niestety na STM32F0DISCOVERY już nie chce. Będę bardzo wdzięczny za pomoc. To najpierw kody, które wyrażają więcej niż tysiąc słów ;) : main.c http://obrazki.elektroda.pl/4732813300_1...
Rzeczywiście kompilator zwraca przy f_write warning. Jak to powinno się poprawnie zapisać? Należy użyć dokładnie takiego typu jakiego oczekuje funkcja, czyli UINT, a nie uint8_t. I bynajmniej nie chodzi o rzutowanie - należy zmienić typ zmiennej której adres jest przekazywany do funkcji. Zwrotne informacje z tych funkcji odbieram, ale nie chciałem...
Nie podoba mi się układ kodu generowanego przez ten system, a przede wszystkim konieczność pisania w zdefiniowanych miejscach pliku. Nie musisz całkowicie rezygnować z CubeMX, bo jest dość pożyteczny. Ale możesz go użyć raz, jako "generatora" poprawnej aplikacji a później przerobić według uznania projekt, powyrzucać te specyficzne komentarze i inne...
Myślę że przesunięcie rzędu czas trwania jednej konwersj nie było by problemem więc pytanie nadal aktualne A dlaczego nie wykorzystać możliwości. Jeżeli nie znasz HALa to najpierw zainstaluj sobie przykłady w Cube (ale nie mx) i przeanalizuj je. Wtedy domyślisz się jak zaincjalizować porty, ADC, DMA i timer aby trygierzował konwersje w odpiednim czasie....
(at)piotrva - jeśli kolega chce środowiska z ułatwieniami pokroju bascom to CubeMX i tak jest za skomplikowany. Tutaj tylko STMduino z wybranymi procesorami STM32 (a najlepsze wsparcie ma F103 iirc) - plusem jest możliwość korzystania z arduino, ewentualnie mbed siedzący mocno na HALu, ale zapewniający warstwę abstrakcji dość podobną do BASCOMa. W obu...
Normalnie kiedy tworze nowy projekt wybieram typ "Embedded project" I mam już wtedy wszystkie już wszystkie biblioteki itd zainkludowane. Teoretycznie mogę już w tym momencie pisać normalnie na rejestrach, ale przez to że biblioteki muszą się za każdym razem niepotrzebnie kompilować trwa to dłużej. Czy jest możliwość jakoś wyciągnąć z biblioteki tylko...
Pakiet występujący dawniej pod nazwą ThreadX nazywa się teraz Azure RTOS ThreadX i jest już port na niektóre STM32. Pierwszy pakiet zostanie udostępniony dla STM32H7 w 21Q1. Kolejne będą L4 i F4 (21Q2), F7, G4, L5 (21Q3), G0, WB i WL (21Q4). Pozostałe linie nie będą wspierane, ponieważ nie są w żaden sposób rozwijane. Po uzupełnieniu o dodatkowe moduły...
Próbuję uruchomić przetwornik do współpracy z DMA. Bez DMA wszystko działa ale przy użyciu DMA nie do końca. Przy pomocy CubeMX wygenerowałem taki oto kod: [syntax=c] /* USER CODE BEGIN Header */ /** ****************************************... * (at)file : main.c * (at)brief : Main program body ****************************************...
Przygodę z Azure RTOS (dawnej ThreadX) zacząłem częściowo z konieczności dalszego rozwoju mojego projektu, a częściowo za sprawą decyzji STMicroelectronics o zastąpieniu FreeRTOS przez Azure RTOS i szkoleń prowadzonych przez ST, które polecam. Moje pytania w tym temacie dają wyobrażenie o poziomie mojej wiedzy w tej dziedzinie. Jestem na początku drogi....
Masz rację, nie zauważyłem że ten skopiowany kod z definicjami od CubeMX nie podaje zapisanych wartości kalibracji. Ale i tak: ((130-30)/(1375-1034))*(887-1034)+30=-13 Raczej tak zimno u mnie nie jest ;)
Ja bym zaproponował ARM ale narzędzia KEIL-a. Na początek, ograniczenie 32kB nie będzie problemem a KEIL jest wygodny. Generuje projekt z CubeMX, otwiera się KEIL, F7 i kod jest skompilowany. Żadnego wskazywania ścieżek, podłączania debugerów itp. Ślepa ulica dla hobbysty, zupełnie ślepa. Są obecnie dwa dojrzałe środowiska, które pozwolą na wygodne...
Cały projekt został wygenerowany przez CubeMX, po zmienieniu wartości w wyborze algorytmu (Cortex-M Target Driver Setup) (pierwotne możecie podejrzeć w moim poprzednim poście) - program ruszył. Zmiana jest widoczna na poniższym obrazku: http://obrazki.elektroda.pl/9153923800_1... Parametr size został zmieniony z 0x8000 na 0x1000. Co...
Trochę mi się pomieszało ale zaraz wyjaśnię. Najpierw przebiegi, tak jak obiecałem: Częstotliwość 64MHz, sterowanie GPIO za pomocą HAL: https://obrazki.elektroda.pl/6940879300_... Ta sama częstotliwość, sterowanie GPIO przy bezpośrednim zapisie do portu: https://obrazki.elektroda.pl/2013222800_... Ta sama częstotliwość,...
To nie Atmel, jakość kodu generowanego przez CubeMX jest żenująca. To można uznać tylko za referencję, żeby wartości parametrów nie wymyślać. Kod trzeba przepisać. Deskryptor masz prawidłowo wygenerowany? Weź demo kod z Discovery (tego z F072) - tam będzie widać jakie pliki potrzebne są do projektu z USB.
Nie chcę inkrementacji. Wysyłam cały czas tą samą zmienną kilkukrotnie z jednej lokalizacji pamięci. W przerwaniu jest przeliczana na inną wartość w taki sposób: 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ą...
Każdy z nas widział lub korzystał kiedyś z Arduino. Wszyscy hobbyści bardzo je lubią i nie ma co się dziwić - moduły te bardzo łatwo jest opanować i nawet ktoś, kto nigdy nie miał do czynienia z systemami wbudowanymi, może w chwilę nauczyć się je programować i zbudować w oparciu o Arduino coś na prawdę ciekawego. Ekosystem Arduino pozwala w prosty i...
Bootloader przestawia wektory przed skokiem do softu użytkownika więc wydaje mi się że nic dodatkowo nie trzeba robić poza kompilacją pod 0x08001000. Niestety. CubeMX robi to tak że ustawia na początku rejestr VTOR (funkcja SystemInit): [syntax=c] SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ [/syntax]...
Po pierwsze, ważna sprawa. Adres kości w funkcjach HAL podawany jest w konwencji 8-bitowej (przesunięty o jeden bit w lewo względem drugiej konwencji występującej np. w dokumentacji tej kostki). Czyli dla QN8025 używasz adresu 0x20 (00100000). Druga rzecz. Nie wiem czy Twój moduł posiada oporniki podciągające linie I2C. Sprawdź, ewentualnie dodaj jeśli...
Witam Od tygodnia walczę z włączeniem ethernetu na stm32. Po wielu nieudanych próbach uruchomienia lwip oraz freertos musiałem zacząć od początku. W CubeMX konfiguruje ETH. Zmieniłem adres PHY i adresy rejestrów, poniewaz Cube ma złe adresy. Aktualnie myśle, ze MAC poprawnie komunikuje się z PHY, poniewaz podczas inicjalizacji eth podglądam wartość...
Podmieniłem #define EVE_CFAF800480E0_050SC (ta z linii 104) na #define EVE_RVT35. Pytanie dlaczego akurat tutaj trzeba to podmienić skoro w 75 linii jest to samo #define EVE_RVT35 ?? Poniewaz wszystkie wczesniejsze #define masz w warunku #if 0 #endif czyli niespelnionym. Zreszta w CubeIde powinienes miec to zaznaczone na szaro (wylaczone). Czy zatem...
Co masz na myśli pisząc "przekierowuje dane do poszczególnych baz" ? W przerwaniu odbierasz ramkę, sprawdzasz ID i w zależności od wartości ID podejmujesz jakąś akcję.
Wprowadzić do EXTSEL w rejestrze ADC odpowiednią wartość. Znajdziesz ją w Reference Manual.
Witam, próbuję uruchomić akcelerometr LIS3DHH ( https://www.st.com/en/mems-and-sensors/l... ) na zestawie Nucleo F411RE ( https://www.st.com/en/evaluation-tools/n... ). Czujnik mam w postaci adaptera STEVAL-MKI180V1 ( https://www.st.com/en/evaluation-tools/s... ). Konfigurację dla mikrokontrolera generuję za pomocą CubeMX...
Nie wiem o co chodzi, support STM mi powiedział, żebym wgrał kod do ramu oraz wektor przerwań. Cały problem od początku: Zadanie programu jest następujące: ze sterownika sczytuję wartości enkoderów i zapisuję je do pamięci flash. (powinno to być wykonywane timerem co 10ms). Następnie odczytuję te wartości z flasha w celu odtworzenia ruchu i odpowiednie...
Definicja HSE_VALUE w stm32f4xx.h jest definicją 'awaryjną', kiedy wartość nie jest zdefiniowana w żadnym innym miejscu. A to wcale nie jest takie pewne. Co do SPL, to wybór należy do Ciebie. Ja mogę tylko podpowiedzieć, że SPL nie jest już używany przez ST - został zastąpiony przez CubeMX, w połączeniu z HAL, który jest bardzo podobny do rozwiązania...
Witam, Napotkałem problem, którego nie mogę przeskoczyć podczas używania CubeMX. Chcę za pomocą przerwań lub za pomocą DMA mierzyć napięcie na ADCku. Niestety procesor wykonuje pomiar tylko raz. Mierzy początkową wartość potencjometru, nie reaguje na jego kręcenie. Sterowanie ADCkiem za pomocą "HAL_ADC_PollForConversion" działa, przy próbie użycia przerwań...
A jaka to różnica. Chodzi o wartości jakie się podaje i idee. Analiza kodu w hal jest tak samo dobra jak innego. Zresztą wątpię żebyś co znalazł do bardziej złożonych peryferie na ejestrach
0. Z jakiego źródła jest taktowany UART2? Czy zmieniasz wartość BRR dla UART2 po zmianie taktowania? 1. Sprawdź profil zasilania ustawiony w rejestrach PWR. Domyślny to Scale 1, ale jeżeli projekt wygenerowałeś w CubeMX z zegarem HSE lub HSI, to możliwe jest inne ustawienie, które uniemożliwia pracę rdzenia z zegarem 180 MHz. 2. Zmiana Wait State wymaga...
Cześć, zwracam się Do Was z prośbą o pomoc w uruchomieniu Touch Sensor Controller (TSC) w STM32L0. Nie mam już pomysłu jak ugryźć temat, a po przeanalizowaniu UM od procka i UM od HAL, na dal do końca nie wiem jak odpalić funkcję pojedynczego klawisza dotykowego w tym procku. Co mam? Mam PCB z wlutowanym MCU. Do jego portów podłączone są: PA7 (TSC_G2_IO4)...
CubeMX niczego dodatkowo nie dzieli. Tak działa licznik i układ porównania tegoż licznika, że przy zliczaniu w górę następuje jedna zmiana stanu wyjścia - np: z L->H, a jak już licznik osiągnie wartość maksymalną to nie zeruje się, ale liczy w dół, i przy następnym skutecznym porównaniu nastąpi zmiana odwrotna - tu: H->L. Masz to na dołączonym klipie....
Ok. Przepraszam jakoś mi uciekła ta informacja. Przeglądam właśnie noty z programowej implementacji UARTA dostarczone przez ST na ich stronie. To moje początki z programowaniem i procesorami z rdzeniem ARM ale coraz bardziej zaczyna mi się to podobać. ----------- Znalazłem taką informację odnośnie danych, które muszę obierać: "Bajty przesyłane są, podobnie...
Obejrzałem, nic nie zrozumiałem. Uwagi: 1. Bardzo uśredniaj wartości z ADC - nie tak że żywcem 2. Ja bym generował sinusoidę poprzez DMA wyzwalany timerem, a jedynie zmieniał czasookres pomiedzy wyzwoleniami. Ad 1. Oczywiście uśrednię . Ad2 . W planach jest generowanie sinusa za pomocą DDS, nie wiem czy DMA powinno być tu zastosowane. I nadal głupie...
Aktualna wersja CDC z CubeMX na F4 (tylko) ustawia zbyt mały rozmiar stosu. Zadałem sobie trud i zrobiłem dwa projekty na F103 i F446. 1. Stos zadajesz w konfiguracji przy generacji projektu. Domyślne wartości są identyczne dla F1 i F4 https://obrazki.elektroda.pl/1101990200_... Tak że jest to za każdym razem 1kB w 100% wystarczający...
Czytam niektóre co czytelniejsze kawałki tego kodu i zachodzę w głowę, kto wyłączył HSI po resecie, że koniecznie trzeba go włączać i kto powpisywał w domyślnie wyzerowane pola niezerowe wartości, że musisz te pola zerować, w dodatku pojedynczo. Jeśli sam nie radzisz sobie z ustawieniami zegara, skorzystaj z CubeMX.
Być może mam skopany oscyloskop i czas kupić nowy. A teraz spójrzcie na mój post z kodem oraz pierwszy post tematu :-). Jeśli taktuję z HSI to 1000 prób echo z blokami po 8192 bajty przechodzi bez szemrania. Przy HSE 25 MHz czy 8 MHz czy 11.0592 MHz realna częstotliwość jest zaniżona i do obliczenia BRR muszę użyć niższej wartości (przy 25 MHz -> 24500000)....
Obejrzyj wszystko w odpowiednim okienku CubeMX. Skoro wszystko tam będzie, pewnie tam zajrzę. Mam nadzieje że nie namieszałem. Łatwiej urzyć gotowych kalkulatorów bo samemu to trzeba uważać aby nie przekroczyć wymaganych wartości Nie namieszałeś, uporządkowałeś moje myśli :) Serdeczne dzięki za szybkie odpowiedzi, problem rozwiązany, temat zamykam.
Nie chciałem zakładać nowego tematu bo wiem z doświadczenia, że jest to męczące dla zaawansowanych użytkowników i sprawia problemy w późniejszym szukaniu. Otóż. Posiadana przeze mnie płytka to nie Discovery, ale Nucleo F429ZI. niestety jestem początkujący ;( a za zadanie dostałem opracowanie połączenia LAN za pomocą socketów w układzie kompuer PC <->...
Jest tu co prawda wiecej kanałów PWM (razem 12, z czego 4 w rdzeniu master i 8 w rdzeniu slave) STM32G474 też ma 12 kanałów Równorzędnych. Master jest ponad nimi. Narzędziem do wstępnej konfiguracji projektu, zegarów, peryferiów i przypisania pinów jest [url=https://www.st.com/en/development-t... Środowisk programowania i debugowania...
http://obrazki.elektroda.pl/3796073600_1... I Opis ogólny urządzenia: Chciałbym przedstawić mój projekt bazujący na mikrokontrolerze STM32 dokładnie na modelu STM32F11RET6 http://www.st.com/content/st_com/en/prod... Jest to sterownik dla urządzenia...
http://obrazki.elektroda.pl/9378053300_1... Witam wszystkich. Tym razem w przerwach pomiędzy pisaniem programu radia internetowego i już projektem PCB do tegoż, popełniłem programik zegarka i datownika na płytkę STM32L476Discovery, gdyż chciałem się przekonać, czy rzeczywiście mikrokontroler zamontowany na tej płytce jest tak mikromocowy,...
przy oversampling na 8 trzeba ustawić BRR na 0x34 Poddaję się - nie wiem skąd ta wartość (0x34) :?: Metodą "prostego dzielenia", tak jak piszesz, wychodzi 0x1c (28). Dla weryfikacji tej wartości "zgrzeszyłem" i zainstalowałem CubeMX - wygenerowałem inicjalizację UARTu dla F4, baudrate=6M, zegar=84MHz. Kod wygenerowany przez Cube też zapisuje do BRR...
Sprawdzałem, wychodzi na to że te kanały a raczej 'Strumienie' jak to się nazywa w F4 są właśnie do tych konkretnych kanałów timera, co zresztą CubeMX sam mi 'zaproponowal' podczas wyklikiwania konfiguracji. Wg mnie na 80-90% problem leży gdzieś w konfiguracji DMA ponieważ sam TIM1 działa dobrze i generuje komplementarny PWM. Zależy mi jednak na DMA...
Na A, ale jednak nie. :D Bo w starszych STM jak chcesz przełączyć konfiguracje SWD zmieniasz to w AFIO, i jeśli debug jest włączony to te piny są "siłą" przeznaczone na debug i możesz sobie zmieniać ich funkcje w porcie A (GPIO) i tak Ci to nic nie da. Tak mnie zakręciłeś że nie mam pojęcia o czym piszesz -:( Popraw jeśli źle Cię rozumiem. Programator...
Ok, wieczorkiem sprawdzę, jednakże chciałbym zrozumieć dlaczego obecna konfiguracja nie działa. Rozwiązanie typu: kup Pan ten samochód, nie działa tylko 5 i 6 bieg, ale w mieście i tak nie potrzebne - nie do końca mnie zadowala. Przy konfiguracji zegarów za pomocą rejestrów (korzystając ze stałych zawartych w CMSIS), wg mnie, nie można pomijać kilku...
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ść...
Konfiguracja zegarów w STM32H7 nie jest wcale taka trudna. Warto zapoznać się z dokumentacją, a pisanie w stylu: Niestety, nie znalazłem nic na ich temat w Internecie a wgryzać w note katalogową zwyczajnie mi się nie chce. to tak jakby lenistwo i roszczeniowa postawa, która stoi w sprzeczności z zasadami udzielania pomocy na forum. Kolega bardzo lubi...
Tak używam CubeMX i KEIL. Wszystkie przykłady jakie znalazłem dotyczą %. Chciałem zrobić wyzwalanie po pomiarze CNT ale to też nie to bo o ile już zadziała do się % zmieniają nie ma ja tego skompensować bo za małe wartość. Dodam, że te PWM chodzą do 30kHz z rozdzielczością ok. 1-2 Hz.
Chodzi o to, że do vectora przerwań trafia wartość SP wynikająca z linkera, a w startupie wprost ustawiany jest RAM_END, Ja tam nie widzę w ResetHandler operacji z adresem stosu. Symbol _estack jest ustawiany w skrypcie linkera ale faktycznie na sztywno na koniec RAM. (CubeMx firmware dla F1). Ja za to mam pytanie do Freddiego: Mam tu taki przykładowy...
Uruchamiasz licznik w trybie OnePulseMode, zatem po jednokrotnym przeliczeniu licznik staje i ustawia bit TIM_CR1_CEN na 0, potem już nic nie robi. Żeby zaczął liczyć należy ponownie go wyzwolić choćby poprzez ponowne ustawienie TIM_CR1_CEN . Na początek wywal ten OPM i próbuj uruchomić licznik w trybie ciągłym Dodatkowo włączasz przerwanie TIM4_IRQn...
Witajcie, Z nowym rokiem nowe wyzwania :) Zwracam się do Was z pytaniem, czy moja koncepcja jest słuszna... Otóż, potrzebuję zbudować urządzenie, które będzie zasilane bateryjnie (docelowo 2xAA), które ma tylko zliczać impulsy zewnętrzne w ciągu każdej godziny działania urządzenia. Po odliczeniu godziny ma te informacje przesłać po rs485 dalej.Tych...
Masz jeden licznik, którego zawartość jest porównywana z 2 rejestrami. Niezależnie od tego co masz ustawione w rejestrach porównujących, licznik wykonuje jeden cykl w jednostce czasu. W jaki sposób dla statycznych wartości rejestrów porównujących mógłbyś uzyskać różną częstotliwość, czyli wielokrotne porównanie na jednym kanale i tylko pojedyncze na...
Panowie dziękuję za pomoc ale połowę z tego zrozumiałem, więc nawet nie próbowałem tego robić bo wiem że i tak nic z tego nie będzie. Zrobiłem tak: skonfigurowałem ADC w CubeMX, bez DMA. Wygenerowałem kod. Z pliku adc.c usunąłem linijki odpowiadające za włączenie dwóch kanałów: [syntax=c]//sConfig.Channel = ADC_CHANNEL_1; //sConfig.Channel = ADC_CHANNEL_2;[/syntax]...
W poradniku Szczywronka opis konfiguracji zegara był dokładnie opisany dla STM32F103. Przepisanie kodu stamtąd powinno dać Ci poprawny wynik konfiguracji. Teraz piszę z pomocą CMSIS". Pracę z STM zaczynam zawsze od przygotowania funkcji SystemClockConfig() jak to opisano w poradniku, posiłkuję się zarazem schematem z zegarów z CubeMX . Całość odbywa...
To pRxMsg to chochlik przy kopiowaniu. Dobrze zajmę się teraz wyłącznie nadajnikiem. Po prostu czytałem, że na magistrali musi być przynajmniej jeden slave i dlatego robiłem oba jednocześnie. Nie doczytałem o trybie loopback. Moja konfiguracja w CubeMX: http://obrazki.elektroda.pl/4073573100_1... Zegar 72 MHz. I zauważyłem jeszcze dziwne...
Witam, Mam problem z komunikacją mojego STM32 F103RB z płytką Adafruit CAP1188. Wydaje mi się że problem może być w moim kodzie - konfiguracja SPI lub sposób komunikacji z modułem. Według dokumentacji CAP1188 najpierw powinienem wysłać 2bajty resetujące (0x7A), następnie wskaźnik do adresu z którego chcę odczytywać, lub wpisywać (0x7D), dalej - adres...
(at)Marek_Skalski Tymbardziej nie rozumiem, dlaczego po przestawieniu na HSE w CubeMX wskazuje taktowanie szyn APB na 8 MHz a ja muszę takie zmiany wprowadzać. Co do funkcji ustawiającej zegar to jeśli projekt używa SPLa to wcale nie ma pewności, że faktycznie ten zegar masz ustawiony na 8 MHz, bo równie dobrze może być jednak ustawiony na zupełnie...
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...
OK, poprawiłem definicję. rzeczywiście zrobiło się "masło maślane" z tym (uint32_t)19UL :) Mam jeszcze problem z ADC. Nie chcę zakładać nowego wątku, gdyż to pewnie jakiś drobiazg (pewnie znowu) w konfiguracji, a działanie podobne: pętla główna się zawiesza w oczekiwaniu na flagę konwersji (jak mniemem), ale przerwania działają i przebieg jest generowany....
https://obrazki.elektroda.pl/5926592700_... Aloha! Świąteczny konkurs, który nie mógł się oczywiście obyć bez projektów z migającymi diodami w tym roku przyniósł także dwa całkiem nowe i ciekawe sposoby sterowania diodami WS2812. Mam tu na myśli rozwiązania panów tmf ( https://obrazki.elektroda.pl/9596522100_... No...
Dziękuję raz jeszcze, po zmianie, którą zasugerowałeś chodzi nawet z kalibracją. Masz i wprawę i czujesz sprzęt, ja tego nie mam i zazdraszczam. To jest mój pierwszy program na ARMie - wszystko nowe, tylko ja stary. W bazodanowym programie pod Windows rzadko używa się operatorów bitowych. A sam system dba bardzo abyś do sprzętu bezpośrednio odwołać...
Witam,m am nadzieję, że znajdę jakieś rozwiązanie mojego problemu. Mianowicie stosuję biblioteki HAL, cubeMX i STM Studio (próbowałem ogarniać rejestry, ale chciałbym sobie to zostawić na przyszłość). Dokonuję pomiaru na dwóch kanałach ADC i przez DMA zapisuję w dwóch tablicach 256 elementów. Gdy zapisuję dane do tabeli z pojedynczego kanału wszystko...
Witam Elektrodowiczów! Jest to mój pierwszy post tutaj, mam nadzieję że umieszczam go zgodnie z regulaminem. Zwracam się z prośbą o pomoc w sprawie STemWin. Jest to moja pierwsza styczność z nie tylko z tą biblioteką, ale też z architekturą ARM, więc od razu uprzedzam że mogłem popełnić kilka klasycznych błędów początkującego wynikających z czystego...
https://obrazki.elektroda.pl/9151185000_... Druga część artykułu o najtańszych nowych mikrokontrolerach z roku 2017. Ekosystem developerski Środowisko developerskie mikrokontrolera ma ogromny wpływ na jakość pracy z nim i w konsekwencji - na produktywność. Na to składają się różne czynniki – jakość IDE, dostępne biblioteki, płytki...
Cześć, dawno mnie nie było... Ale jak to bywa czasu brak, a przed świętami chwilę znalazłem, uciekając przed porządkami :) Koledzy, mam dziwny problem z wyświetlaczem właśnie na ILI9488, wielkość 3,5cala. Obsługa kontroler STM32L471, podpięta pod szynę FMC. Chciałem najpierw na szybko uruchomić, aby zobaczyć czy koncepcyjnie wszystko ok, więc CubeMx...
Chciałem przedstawić projekt, na który poświęciłem łącznie kilka tygodni życia. Tracker GPS, który wysyła dane do chmury poprzez satelity Iridium lub sieć komórkową LTE. Projekt przetestowany w boju na jachcie wyprawowym, który dotarł na Spitzbergen płynąc przez otwarte wody Oceanu Arktycznego odwiedzając m.in.: Polską Stację Polarną Hornsund. https://obrazki.elektroda.pl/9640915700_...
Cześć a co sądzicie o TI ja głównie siedziałem na TMS320F28335 dosyć stare, ale ma to czego potrzeba. Wyborem kierowałbym się raczej w branży typu Automotivem, budowa falowników, energoelektronika gdyż mnie najbardziej interesuje, póki co siedzę w innej pracy w której są pieniądze ale nie jest specjalnie związana z uC programowaniem, raczej obsługą...
Witam, Próbuję wykorzystać funkcjonalność DMA burst aby pobierać wartości rejestrów ARR, RCR i CCR1 przy każdym update event timera 1 z tablicy bez zajmowania procesora. Program działa prawidłowo po wystąpieniu pierwszego przerwania UEV od TIM1, lecz kolejny transfer danych wprowadza inne dane do tych rejestrów niż zamierzone (znajdujące się w tablicy)....
Nieco podłamany tematem kol. (at)PiotrLenarczyk postanowilem jednak napisac jednak trzeci krótki prosty mikro poradnik dotyczący startupu. Wszystkie dywagacje będą dotyczyć C i najbardziej popularnego wśród hobbystów i nie tylko gcc. Standard C wymaga aby zgodny (nieco upraszczając) ze standardem toolchain ma: 1. Zapewnić obserwolną zgodność działania...
stm32 cubemx stm32 warto cubemx arduino
statecznik indukcyjność volvo silnika wersja hilink
elektryzator piszczy toyota avensis komunikaty
Warunki gwarancji zmywarek: okres, zakres, wyłączenia Silnik do pralki Amica AWCE 12DA - gdzie kupić?