Nie neguję dokumentacji. Nawet więcej, nigdy nie odpalam bez niej. Nawet gotowca konfrontuję z datasheetem. Po prostu mi chodzi że z przykładem jest prościej i szybciej. Nie ma co popadać w skrajności. Czyli też w uruchamianie wyłącznie na podstawie datasheeta. Bo czas też kosztuje. I szkoda na nowo odkrywać koło. Niektórych rzeczy wręcz bym nie odpalił...
...czy masz może jakiś ładny przykładowy projekt dla CM0? Zamieszczam swój przykład na płytkę Discovery F0. Makefile Freddiego, linker i startup zaczerpnięty z przykładowych projektów ze strony ST. W programie skonfigurowany GPIOC, licznik TIM3 i przetwornik ADC. Projekt jest pod CodeBlocks. Miałem jeszcze ogarnąć UART i debugowanie za pomocą gdb ale...
Witam Dostałem zadanie od prowadzącego zajęcia z technik mikroprocesorowych. Aby napisać program który przechowuje tablice współczynników w pamięci flash kontrolera z STM32F0. Tak jak mi wytłumaczył o dokładniejsze dane jeszcze się dopytam. Że układ ma pobierać dane z przetwornika ADC wykonywać działanie na sygnale przy użyciu tablicy ze współczynnikami...
Cześć, dzisiaj STM wypuściło paczkę przykładów dla Cortexa M0 pisanych bezpośrednio na rejestrach. [url=http://www.st.com/web/en/news/n3525... Code from STMicroelectronics Help Designers Get the Best from STM32 Microcontrollers. Ja tam się cieszę i czekam na przykłady dla M3 etc. Pozdrowienia!
http://obrazki.elektroda.pl/2721481100_1... Witam wszystkich świątecznie! Ponieważ jakiś czas temu otrzymałem z konkursu makietkę stm32f0 discovery i chciałem ją wypróbować uruchamiając na niej coś więcej niż miganie diodą, oraz z racji tego, że spodobała mi się ozdoba, która wisi na choince przy Pasażu Grunwaldzkim we Wrocławiu, postanowiłem...
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...
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...
z tego co widzę to 19 przerwanie czyli moje prowadzi pod inny adres niż wszystkie No tak, tyle ze to przerwanie jest "19-te", tyle że przed nim jest kilka systemowych. Wg tabelki w manualu tych układów, adres wektora przerwań dla TIM14 to 0x8c, natomiast u Ciebie wektor jest pod 0x68... Błąd masz taki, że za bardzo w nią zaingerowałeś... Zwróć uwagę,...
Witam Posiadam procesor STM32F070F6, po wprowadzeniu go w stan Standby pobiera 3-4uA jest ok po za tym, że potrzebuję go wybudzać i zbierać dane do pamięci ram więc ten tryb nie odpowiada mi bo RAM jest po każdym wybudzeniu kasowana. Przeglądając dokumentację znalazłem tryb który nijako trochę mi pasuję STOP mode, procesor w tym stanie może być wybudzony...
Gdybyś czytał uważnie, to wiedziałbyś, że: - Firma, w której pracowałem nie widział potrzeby przejścia na ARM. - ARM LPC używałem przed 2005 rokiem 1. No to znaczy tylko tyle, że przez cały okres zatrudnienia nie było jakiegokolwiek uzasadnienia do stosowania więcej niż 8bit. Chyba lepszej rekomendacji nie mogłeś dać. Druga sprawa, zanim ARM na dobre...
Zacznij od zwiększenia szybkości transmisji do np. 9600. Może nie wystarczać bitów podzielnika dla 300. Działający przykład UART+DMA na STM32F0 bez HAL znajdziesz w ubiegłorocznej EP (chyba już do ściągnięcia za darmo).
Booooo tak myślałem... Czy jest jakiś sposób, żeby to odczarować tym co mam czy powinienem się rozglądać za jakimś jtagiem z prawdziwego zdarzenia? edit: No tak teraz sprawdziłem w datasheet... :< Jednak trzeba zawsze czytać wszystko i robić debug w RAMie.... :< Teraz rozumiem czemu w RM jest przykład dla wejscie tim1_ch2 a nie 1...
Jeśli adres jest jest wyrównany do half-word'a to oznacza że jest jego wielokrotnością. Znajdź mi nie parzystą krotność half word'a... No niby tak, ale nie odczytasz worda z adresu 6, chociaż jest parzysty. Ale i tak bardziej chodziło mi o to, że nie o nieparzyste adresy chodzi a o dostęp do niektórych rozmiarów danych na niektórych adresach, bo bajty...
Zastanówmy się chwilę jak działa operator negacji bitowej w takim przypadku... while(~(USART1->ISR & USART_ISR_TC)){;} hmm... USART1->CR1 &= USART_CR1_M; // 1 start bit, 8 data ? USART1->CR2 &= ~USART_CR2_STOP_0 & ~USART_CR2_STOP_0 ; // 1 bit stop To dobry przykład na lekcję o temacie "priorytety operatorów" - niby dobrze, ale trochę karkołomne. A...
Dodano po 27 Zresztą jakikolwiek przykład dla tej płytki któy używa user button zachowuje sie dokładnie tak samo :(
Cytat: Ja tego nie napisałem - nie zmieniaj moich słów. No to jak wreszcie się na wyspach mówi? Kompilacja czy asemblacja? Bo już powoli zatracasz się w tym co mówisz. Ja napisałem: assembler assembles assembly code ty że assembler assembles source code a to są 2 zupełnie inne zdania. A Ty jesteś typem pana Wiesia z budowy: "Zrobiłem coś niedokładnie...
Mały update Zmieniłem płytkę na Stm32f4 discovery Zmieniłem przykład na ten: http://www.tkjelectronics.dk/uploads/STM... z tej strony (w komentarzach): http://blog.tkjelectronics.dk/2012/04/re... Przechodzi inicjalizację ale wywala się na próbie pobrania DHCP: [syntax=c] void enc28j60PacketSend(uint16_t len, uint8_t*...
Praktycznie każdy Cortex M0, M0+ nie ma 10-krotnie wyższej wydajności niż taki 20 MHz tinek, pomijając nieżyciowe przypadki, w których ktoś robi pętlę od 1 do 10 przy pomocy 64 bitowej zmiennej. O takich jak sądzę z kol. BlueDraco pisaliśmy, bo niesądzę aby jakieś mega wypaśne ARMy były w SSOP20. Wchodzimy więc na http://www.eembc.org/coremark/index.php....
A to co? LPC_SYSCON->PDRUNCFG &= ~80; Poprawiłem na 0x80, faktycznie w kursie jest [syntax=c] #define PDRUNCFG_SYSPLL_PD 0x00000080 LPC_SYSCON->PDRUNCFG &= ~PDRUNCFG_SYSPLL_PD; [/syntax] (at)BlueDraco: Ponawiam pytanie: Czy w tym numerze Elektronika Praktyczna 2014/4 "32 bity jak najprościej. STM32F0 - nieblokująca obsługa wyświetlacza...
Witam Tworze ten temat aby ułatwić sobie i innym w podobnej sytuacji jak ja start z ARMami. Jak widzę informacje na temat ARMów są bardzo rozsiane, przez co wielokrotnie powtarzają się te same pytania co jak widać irytuje stałych doświadczonych bywalców tego działu przez co są oni coraz mniej chętni do pomocy i kończy się odsyłaniem do innych tematów....
Zacznij w swoim kodzie używać odpowiednich definicji. Przykładowo na 29 bicie rejestru ADC_CFGR2 nic nie ma. Za to na bicie oznaczonym przez makro ADC_CFGR2_CKMODE_Pos już coś jest. Przy okazji zamiast tych magicznych cyferek i przesunięć używaj odpowiednich makr, bo akurat wartość którą tam próbujesz wpisać w RM opisana jest jako "reserved"... Wywal...
Sposób obsługi (16-/8-bitowy) w STM32F4 jest bez znaczenia - nie ten układ SPI. To ma znaczenie np. w STM32F0, bo tam jest własnie nowsze SPI. Tak samo w STM32F4 nie ma żadnego FIFO w SPI. Z tego względu z 50% powyższych porad jest zupełnie nietrafionych (czytaj - "błędnych"), ponieważ odnoszą się do innego układu.
(at)_lazor_ Odbiegamy od tematu, ale może kogoś to zainteresuje, skoro i tak nie mamy komponentów do montażu. ;) Staram się nie zgadywać co mogą zrobić politycy w kwestiach finansowych. Moja wyobraźnia nie sięga tak daleko. Pierwsza bariera to cele klimatyczne. Fabryka pożerająca duże ilości energii w Polsce nie wchodzi w grę ze względu na zielony...
kolega chyba czyta jakąś inną dokumentacje bo ja w PDF-ie do STM32G051K8 tego nie widze :/ Link Ale podobnie napisali: The boot pin is shared with a standard GPIO and can be enabled through the boot selector option bit . Zresztą zobacz sobie na przykładową płytkę nucleo z serii G0 https://www.st.com/en/evaluation-tools/n...
Myślę, że AVRy będą tu zupełnie wystarczające. Posiadają one wbudowane 10-bitowe przetworniki analogowo-cyfrowe więc z takimi problemami radzą sobie wyśmienicie. Oczywiście reszta wymienionych przeze mnie mikrokontrolerów też dała by rady choć w przypadku ARMów było by to strzelanie z armaty do muchy. Choć nawiasem mówiąc- w obecnych czasach ceny mocnych...
Ma jedną wielką zaletę. Generujesz projekt w cube I zmieniasz 3 rzeczy i masz czysty nieHALowy CMSIS w najbardziej aktualnej wersji, no chyba że używasz HALa - to wtedy nie zmieniasz. Zaleta jest też łatwość importu przykładów - co dla początkującego jest myślę dość wazne Dodano po 4 (at)lucas234 W grę wchodzą dwa języki C i assembler. Z tym drugim...
Kiedyś projekty realizowałem głównie na AVR, obecnie wszystko już robię na procesorach ARM - np. STM32F0 są tańsze niż AVR a oferują dużo większe możliwości. I zawsze docelowo projektowania płytka przeze mnie.
Weź plik startup z przykładu dla LPC1114 - STM32F0 to nieco inna architektura niż STM32F1, F2 czy F4 (Cortex-M0 == ARMv6 vs Cortex-M3/M4 == ARMv7), a co za tym idzie - inne rozkazy. 4\/3!!
Np. zaprogramuj SysTick lub dowolny inny timer na zgłaszanie przerwań z częstotliwością 100 Hz. Co 25 przerwań zmieniaj stan jednej diody, a co 100 - drugiej. Wszystko razem zmieści się w max. 20 liniach. Jeśli chcesz "zobaczyć" działanie timera z rejestrami compare - użyj dwóch rejestrów CC. W przerwaniu końca okresu zaświeć dwie diody, w przerwaniu...
No patrz, a w przykładzie wyżej, wziętym z EP, jest wyraźnie: LED_PORT->MODER = GPIO_MODER_OUT << (GREEN_LED_BIT << 1) | GPIO_MODER_OUT << (BLUE_LED_BIT << 1);// LED pins as outputs
2) Jak się zabrać do tego by zrealizować taki zapis do flash (emulowanego EEPROM)? Nie mam pomysłu a niczego wartego uwagi nie znalazłem. Nie trzeba nic wymyślać bo STM ma własny, stosunkowo dobrze opisany algorytm na emulację EEPROM dla całego szeregu procesorów w tym F0. Który jest atrakcyjny, dlatego że w bardzo małym stopniu "zużywa" limit żywotności...
No i nie będzie działać, bo to startup dla CortexM3, a STM32F0 to CortexM0, o mniejszej liczbie rozkazów. Startup dla M0 jest w przykładzie Freddiego Chopina dla lpc1114.
Trzeba było dodać ';' przed wklejeniem. Otrzymany plik rozmiary.txt. 00000428 d impure_data 000000e0 t SetSysClock 000000d4 T __register_exitproc 0000008c T SystemInit 00000048 T __libc_init_array 00000034 W Reset_Handler 00000034 T __libc_fini_array 00000018 t register_fini 00000010 T atexit 00000006 T main 00000004 R _global_impure_ptr 00000002 W...
Jeśli to pierwsze kroki w AVR, to może zmień atchitekturę na coś współczesnego. Taki np. STM32F0 "można puścić" na 50 MHz, ma znacznie mądrzejsze peryferiale i jest tańszy od ATmega.
Co do instrukcji barierowych to tylko wiem ze są takie i mają coś pożytecznego robić np zmusić proca do wykonania zalegających w cachu instrukcji np zapisu STM32F0 nie mają żadnego cache. Punktem wyjścia jest program bez tych instrukcji który też nic nie wpisuje do rejestrów. Widzisz tą podświetloną na żółto linijkę? Tam właśnie zatrzymał się układ....
W F030 strona ma wielkość 1kB co oznacza, że zmieści się tylko 256 zmiennych Jak to obliczyłeś? Pewnie 1024/4 bajty = 256, ale tutaj tak to nie działa. Strona 1024 bajty to 1024 bajty, inaczej 512 półsłów. Zapis do stron pamięci w STM32F0 wymaga zapisywania półsłów, do jednej strony oczywiście można zapisać 512 półsłów. W poniższym przykładzie zapisuję...
Porównaj to, co napisałeś, z działającym kodem pokazanym powyżej. Jest parę różnic, np. bit ARPE...
No to nie rób. Jak już napisałem to sugestia. sugestia jak samo słowo wskazuje nie wywiera presji na sugerowanego ani nie zakłada takowej (np poprzez przekonywanie).
W sumie to nie wiem czy to właściwie problem z MCU, GCC czy zrobiłem gdzieś jakiś banalny błąd, który mnie teraz prześladuje, ale wnioskując z tego, że na F103, F107 i x86 działa poprawnie, chwilowo obstawię jakiś związek z MCU. Bo ten wyjątek istnieje tylko na STM32F030. [syntax=C]static void fnSensRead(uint8_t cbData, uint8_t *ptr) { uint32_t *pSmp...
Tak myślałem . Trochę poprawi mi się wynik , gdy zejdę napięciem zasilania do np 2.7V. Ale i tak pełnego zakresu nie uzyskam. Szkoda bo mam już gotową płytkę. Może jesteś wstanie podmienić procesor, na któryś zgodny nóżkowo, a z wbudowanych wzmacniaczem operacyjnym. Np coś z serii STM32F303 lub STM32L431? Można wtedy uzyskać, bez dodatkowych układów...
Wyjście z CCR3 włączasz w rejestrze CCMR2, bity mają w nazwach CCMR2_OC3xx. No i timer wystarczy włączyć jeden raz, a nie trzy. Prescaler też wystarczy ustawić jeden raz. Paru rzeczy jeszcze nie włączyłeś w tym timerze. Obejrzyj przykłady PWM na STM32F0 w Elektronice Praktycznej.
Według mnie powinno być jedno przerwanie zgłaszane z częstotliwością np. 100 Hz, w którym programowo testujesz przycisk z ignorowaniem drgań. Inaczej to nie ma szans zadziałać. Pokazywałem niedawno taki przykład obsługi przycisku na STM32F0.
Nie sądzę, by jakikolwiek projekt dał się sensownie zrobić bez przerwania timera, więc testowanie obecności pastylki można zrobić w tym przerwaniu. Z drugiej strony kod obsługi OneWire z delay() nie nadaje się do użycia w projekcie, w którym są przerwania, więC proponuję zrobić od nowa obsługę OW. Przykład na F0 masz w niedawnej EP.
Np. piszesz kod na różne procki z tej rodziny i złośliwie wspomniany UID jest pod różnymi adresami. Bawisz się więc w pracowite #ifdef i wstukujesz osobno dla każdego obsługiwanego procka inny adres, lub korzystasz z gotowej funkcji i masz problem z głowy (a przy okazji parę godzin wolnego). Tylko pytanie po co pisać uniwersalny - raczej danego projektu...
Ilu diod? To znaczy ilu częstotliwości środkowych? Jak zwykle, nikt nie zdaje sobie sprawy z podstawowej wady FFT - ono daje widmo o liniowej częstotliwości, a w większości przypadków potrzebna jest logarytmiczna skala. Tak jak w akustyce. Zrobisz sobie FFT, da Ci, dajmy na to 2048 prążków, tak dla przykładu, na pierwszy słupek gdzie masz np. 100Hz...
Praktycznie żadne "nowsze technologie" nie bazują na 51. To przeżytek, i to już od wielu lat. Naprawdę nie warto w to wchodzić. Zainteresuj się raczej np. płytkami STM32F0 Discovery albo NUCLEO, które mają wbudowany interfejs do programowania i debugowania programów, czyli masz możliwość "grzebania w mikrokontrolerze" na ekranie PC.
Dwa rozwiązania: 1. Weź tańszy uC, który ma wystarczająco dużo kanałów PWM, np. któryś z mniejszych STM32F0. 2. Znajdź notę aplikacyjną Atmela nt. software PWM i zaimplementuj podobny program. Dla serw w sam raz. Dokładanie układu dla zaoszczędzenia kilkunastu linii kodu średnio ma sens.
Zmień ton. Cóż, ton mi się udzielił po przeczytaniu poprzedniej dyskusji (BP, MSPANC), http://www.elektroda.pl/rtvforum/viewtop... To i tam ci odpowiem bo chłopie zabawne rzeczy wygadujesz. I za czym ma to przemawiać? Ze jesteś starym prykiem który nie ma ochoty na dalszą naukę? Skoro nie używasz najkrótszego czasu samplowania to maksymalna...
Np. dać zmienną logiczną warunkującą poprawność wyniku, która będzie ustawiana po drugim odczycie.
Problemem jest ustawienie flagi ARLO (arbitration loss) w I2C1_ISR po uruchomieniu funkcji i2c_send(); Jeżeli chodzi o przykłady ze "Snippets" to nie licząc przerwań ustawienia są identyczne. Po sprawdzeniu oscyloskopem linia SCL nawet nie rusza. Jakieś sugestie?
stm32f0 discovery systick stm32f0 stm32f0 timer
charge glosnik inwerter kondensatory elektryczny paralizator schemat
delongi zamontuj szukam serwis manual
Moment dokręcania śrub głowicy Renault Master 2.3 BiTurbo Car engine radiator fan not turning on: causes, diagnosis, VW Polo, brushless fan issues