Czy jest powiedzmy jakiś tańszy stm bądź inny mikrokontroler (na studencką kieszeń) który powienien bez problemu sobie z tym poradzić? Ja osobiście polecałbym nowość z TI, układ CC3200 http://www.ti.com/product/cc3200 jest to taki, powiedzmy, STM (Cortex M4) z już wbudowanym WiFi. Posiada DCMI, także wybrana przez Ciebie kamerka może być użyta, taktowanie...
(at)rax90 Moim zdaniem porada kol. (at)BlueDraco jest szkodliwa, bo tylko wprowadza chaos. Sądząc po twoich postach, bez obrazy, ale wnioskuję, że jesteś mocno początkujący zarówno w temacie programowania mikrokontrolerów, jak i elektroniki. Więc nie skacz z kwiatka na kwiatek, bo nigdy tego projektu nie zrealizujesz. ATMega ma wystarczająco dobry...
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...
Jakie jest taktowanie MCU? Bo te 6 MHz to też niezbyt imponująco... 48MHz. 8 cykli na cały obrót pętli. Raczej standard. W STM32 M0 wygląda to w zasadzie identycznie. W M3 tylko trochę lepiej. Gdzieś kiedyś czytałem, że M0+ ma ulepszoną prędkość GPIO. https://community.st.com/t5/stm32-mcus-p...
(...) by uzyskać częstotliwości 32Hz (okres 0,03125s) oraz 64Hz (okres 0,015625s). Czy możesz ustalić kombinację okresów z tych dwóch dzielników tak aby w ciągu sekundy otrzymać 60? Możesz też zaproponować kod w Arduino generatora taktującego dla TMS3450. Interesuje mnie jak najmniejszy błąd odmierzania czasu. Wprowadzenie Dziękuję za szczegółowe przedstawienie...
Witam, Jako że jestem początkujący w dziedzinie STM32 napotkałem problem nie do przejścia. Moim zadaniem jest wysyłanie inkrementowanej zmiennej "Dane" która jest wysyłana przez USART i odczytanie jej przez terminal. W konsekwencji wyrysowując otrzymane wartości powinienem uzyskać coś podobnego do piły o amplitudzie od 0 do 255. Bez DMA wszystko pracuje...
Rozumiem, chodzi mi tutaj bardziej o "dobre" praktyki programistów. Powiedzmy konfiguracja RCC w STM32. Są STD i HAL, można to zrobić. Wykonuje się to miliardy taktów zegara, można prościej. Makra, odpowiednie funkcje... jak? Jakieś przykłady? Każdy programista uczy się całe życie. Każdy jak spojrzy na swój kod z przed kilku lat pomyśli, napisałbym...
Czy aby na pewno częstotliwość przerwań od timera powinna wynosić 1kHz? Skoro masz (w teorii) 24MHz podzielone przez 24000 (preskaler), to faktycznie zegar dochodzący do samego timera będzie równy 1kHz, ale wg mnie przerwanie timera będzie co dwa jego cykle, bo timer liczy tak: 0 ... 1 (przerwanie) ... 0 ... 1 (przerwanie) ... EDIT: sekundy... normalnie...
CZAS SAMPLOWANIA, nie taktowanie ADC.
Witam wszystkich, Rozpocząłem swoją przygodę z mikrokontrolerami stm32 od najprostszego z możliwych programów, a mianowicie miganie diodą. Po rozkręceniu PLL do 72 MHz, postanowiłem zmieniać stan diody co około 1s(w pętli opoźniającej zliczałem zmienną "int i" do 72000000). Problem polega na tym, ze stan diody zmienia się nie co 1s, a co kilka sekund....
TAK, Debuger działa. Mam jeszcze kilka pytań: 1. Co to jest ta SRAM 512B podłączona do APB1 ? 2. Jak to jest z tym automatycznym przejściem na HSI w przypadku problemów ? 2a. Jeśli ustawię zbyt wysokie taktowanie to zostanie to zauważone ?
(at)tmf A STM32 niema przerwania że wysłał dane i czeka na następne. Jeżeli tak to można zrobić bufor a resztę niech załatwia przerwanie.
Uart2 taktuję z APB1, dla którego ustawiłem taktowanie 45MHz za pomocą preskalerów. A do BRR wpisuję 45MHz/9600. Czyli wartość 4687. Profil zasilania sprawdzę, projekt napisany w System Workbench for STM32 Ten odczyt zmiennej WS dopiszę. Nie wiem czy dobrze cię zrozumiałem, ale uruchamiałem już usarta na HSI wpisując do BRR 16mhz/9600 i wszystko działało,...
Kod na STM? Taktowanie poprawne? stosy? Wait states?
Sygnał REF_CLK powinien być generowany przez cały czas, gdy chcesz mieć aktywny interfejs Ethernet. Najpierw konfigurujesz układ MAC (zegary, typ interfejsu MII/RMII), następnie aktywujesz taktowanie PHY za pomocą REF_CLK. Gdy zamienisz kolejność (najpierw taktowanie PHY, później ustawiasz w STM interfejs MII/RMII) to program zawiesi się w pętli: [syntax=c]...
Witam drogich użytkowników, mam problem z poprawnym zaprogramowaniem trybu oszczędzania energii w STM32. Znalazłem przykładowy kod który mógłbym wykorzystać aczkolwiek nie wiem jak poprawnie zdefiniować funkcję NVIC wywołaną na samym początku listingu. Gdyby ktoś miał chwilę i mógł mi z tym pomóc byłbym bardzo wdzięczny. :) Dopiero zaczynam przygodę...
Robię mierzenie częstotliwości za pomocą STM32. TIM1 ustawiony mam na taktowanie z zewnątrz przez TI2 (CCR2, TI2FP2). Co pewien okres (100ms) w innym liczniku, w przerwaniu odczytuję CCR2 żeby odczytać liczbę impulsów, zresetować i tak dalej. Wszystko ok, ale w przerwaniu innego timera, nie mogę zresetować CCR2, czyli wpisać 0 do tego rejestru. Próbowałem...
Witam, czytam książkę i szukam w sieci jak skonfigurować tego procka. Chcę mieć taktowanie ADC 14 MHz oraz taktowanie USB 48 MHz ale w żaden sposób to nie wychodzi mi to przy kwarcu 8 MHz i tych dzielnikach, które są w tym procku. Jedyne najbliższe ustawienie to USB 48 MHz i ADC 12 MHz. Czy da się tak to skonfigurować jak chcę ? Sławek
Przeglądajac internet nie widze nic a nic co mogloby się nadac na Eclipse, gdzie pisze czysty kod C a nie uzywam biblioteki HAL itd. Najlepiej zacząć od strony producenta :) Dodano po 3 Przykłady: Cos wymodzilem razem z przykladem z ksiazki dla HAL ale... nie umiem odebrac niczego z ESP8266 i wyslac do mojego PC tzn. Mam dzialajace funkcje odbierz...
... W sensie których programowania najlepiej zacząć się uczyć? Jeżeli zdecydujesz się na STM32, to rozważaj tylko te rodziny: L0 - Proste jednostki oparte o rdzeń Cortex M0+, energooszczędne. L4 - Bardziej złożone jednostki oparte o rdzeń Cortex-M4, energooszczędne, stale rozwijane. F4 - Pierwsze jednostki ST ze rdzeniem Cortex-M4F, względnie tanie,...
open drain dlatego że tak zostało po ostatnim ćwiczeniu . Muszę przeczytać rozdziała o tym jak sprawdzić aktualne taktowanie procesora. Projekt na nowo wygenerowany i myślałem że domyślnie bedzie 8MHz a nie posiadam rezonatora kwarcowego. Pozdrawiam
Zgodnie z podpowiedzią Freddiego, poprawiłem błąd, teraz procedura wysyłania/odczytu wygląda tak: [syntax=c] uint8_t SPI2_Send(uint8_t dane) { while (!(SPI2->SR & SPI_SR_TXE)); *(volatile uint8_t*)(&(SPI2->DR)) = dane; while (SPI2->SR & SPI_SR_RXNE); dane = *(volatile uint8_t*)(&(SPI2->DR)); return dane; } [/syntax] program zatrzymuje mi się na sprawdzaniu...
Procesorek Chyba środowisko programistyczne a nie "Procesorek" a do procka który najbardziej mi pasował czyli STM32 jak dotąd nie znalazłem żadnego darmowego środowiska Do ARM(STM32) to proponuje nieśmiertelny zestaw gcc + eclipse + openocd. Kol. Freddie Chopin umieścił na elektrodzie i swojej stronie krótkie wprowadzenie do tego środowiska, ma także...
Mówiłeś mówiłeś :) Ale to nic nie zmienia niestety, pod ta linijką(zaszłość) mam prawidłową // Wlacz taktowanie TIM2 RCC_APB1PeriphClockCmd( RCC_APB1Periph_TIM2 , ENABLE); Timery chodzą, przerwania się wywołują, a sygnału na pa1 brak.... Pozdrawiam Krzysiek
STM32F103 w TME kosztuje 18.20 zł. Stara poczciwa ATMEGA32 kosztuje 15zł. Gdzie zatem tu ta magia ceny ARMów? A porównałeś chociaż taktowanie procesora, że o innych wielu rzeczach nie wspomnę? Że F103 po oderwaniu się rezonatora przełącza się na wbudowany i zgłasza alarm? :-) STM32 są wiele tańsze, patrząc na możliwości.
http://obrazki.elektroda.pl/8591488700_1... Może nie aż tak Jest wiele czynników, które powodują zamrożone właściwości Ja również posiadam SMT32f103 usunąłem specjalnie demo Po przełożeniu Jp BOOT1 BOOT0 powinno nastąpić wejście softu. Słabo podświetlane stany jest przez Diody, jest to istotne lecz cóż taktowanie bywa Po uruchomieniu...
Witam Zaczynam swoją przygodę z STM32 (nie chce rozmawiać dlaczego nie atmega itp). Zakupiłem zestaw STM32F429- DISCO. Postanowiłem pracować z książką "STM32 Aplikacje i ćwiczenia w języku C". Programy od producenta działają bez problemu. Jednak podczas przepisywania szkieletu programu z książki występują problemy z biblioteką stm32f4xx.h (tak, jest...
Ale taki Z-80 zwykle miał podpięte dużo więcej RAMu, a tutaj mamy 2019 rok i nadal 2kB... Jak już budować coś takiego to na STM32. Są w podobnych cenach a wymieniać ich zalety na AVRami można w nieskończoność... 45$ za AVRa i to nawet nie XMEGA... Śmiech na sali... Ostatnio popularne są płytki z STM32 zwane "Blue Pill". 2$ na ali (wysyłka darmowa),...
Jak by tak każdemu miało się opłacać stosować tylko LPC to AVR'ów już by danwno nie było na rynku a tymczasem: były, są i jeszcze długo będą ;) No weźmy czysty pojedynek, bez Attin bo to inna kategoria wagowa, bez BASCOMowców, bo to inna grupa docelowa. Tylko AVR średniej klasy, z jednym uC z rdzeniem Cortex, programowanie oczywiście w C. Stan na 8.12.2010...
Rozdzielczość 320 x 240. Przepchnięcie ponad 150kB (tyle powinien mieć bufor w mikrokontrolerze) przez SPI będzie trwało ponad 80ms zakładając taktowanie SPI 15MHz (na tyle przeważnie pozwalają kontrolery w wyświetlaczach). DMA wymagane, ostatecznie RTOS wysyłający po kawałku. Tryb równoległy w ESP odpada, bo ne ma on sprzętowego interfejsu. Niby można...
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...
Wcześniej używałem Keila do wgrywania programu do płytki, ale ponieważ nie rozumiałem co się tam dzieje, przeszedłem na Eclipse i w między czasie wyrzuciłem ten program z komputera. Być Może keil zostawił jakieś śmieci w systemie, przez co płytka działała? W sumie mało istotne. W tej chwili program nie działa. Znalazłem tylko jeden rejestr odpowiedzialny...
gaskoin, ale piszemy o różnych rzeczach. Czym innym jest struktura procesora a czym innym struktura wiedzy czy nabywania wiedzy o nim. Nie piszemy o różnych rzeczach, ja w kółko wam wałkuję, że Timer to nie jest jedyna rzecz taktowana tą magistralą zegarową i dla mnie wydaje się logiczne, że prędkość tej magistrali będę szukał w RCC tam gdzie jest...
To jest fragment który sam dopisałem. W cubemx ustawiłem 2 timer na generowanie pwm na kanale 1,2 i 3, prescaler ustawiony na 0, period 89, do tego dma które miało współpracować z kanałem pierwszym. Taktowanie ustawiłem na 72mhz. Początkowo myślałem że problemy sprawia przerwanie od dma, lecz po usunięciu kodu włączającego dma sytuacja się nie poprawia....
Sprawdzałem, Piszą coś o niemożności wysłania sygnału start, nic na ten temat. Tak jest tylko w przypadku i2c 1. Czy to może mieć coś wspólnego z wartościami rejestrów GPIOB przed włączeniem portów. Bo zanim włączę taktowanie GPIO, Wg odczytanej wartości ODR port B Piny 7 i 9 maja wartości 1. Poza tym linia SDA jest ściągana do masy, co dziwne.
Z tego ci wyczytałem taktowanie AFIO jest używane w przypadku gdy chcemy wykorzystać dodatkowe funkcje danego portu. Jeśli się mylę to proszę mnie oświecić. [syntax=c]RCC_APB2PeriphClockCmd(RCC_APB... | RCC_APB2Periph_GPIOA, ENABLE);[/syntax] Usuwając "AFIO, ENABLE" nadal jestem w stanie wysłać dane z płytki, lecz nie mogę ich odebrać. Włączone...
Konfiguracja portów i timera (przyłączenie do magistrali), btw dlaczego TIM2 nie da się podłączyć do APB2? RCC nie słuszy do "łączenia" tylko do "włączania" - TIM2 jest na konkretnej magistrali i koniec, nie możesz sobie go "podłączyć" do innej. // Wlacz taktowanie GPIOE i GPIOC i TIM2 RCC_APB2PeriphClockCmd( RCC_APB1Periph_TIM2 | RCC_APB2Periph_GPIOE...
Nie lepiej zrobić to porządnie jak radził Freddi? Odpuszczając już kwestie, że powinno się to robić w przerwaniu, należy: 0.Skonfigurować odpowiednio końcówki uC, włączyć taktowanie GPIO itp itd 1.Pobrać dane do wyświetlenia pierwszej cyfry z jakiegoś bufora/zmiennej/tablicy. 2.Prze konwertować odczytane dane na kod (w Twoim przypadku) 7-segmentowego...
To z szybkim zegarem i swobodnie ustawialnym prescalerem np dla STM32 można spokojnie przy dokładności PWM 0.01% mieć rozdzielczość ~1Hz dla wyższych i poniżej 1mHz dla najniższych częstotliwości, bez kombinowaniem ze zmianą zegara. Zmieniając zegar można to jeszcze dużo bardziej uprecyzyjnić Lepiej to policz zanim z taką pewnością coś napiszesz. Dla...
Ważny jest pierwszy kontakt i pierwsze wrażenie. Nie wyobrażam sobie żeby ktoś zainteresował dzieci w szkole mówiąc na pierwszej lekcji "Poznamy budowę mikrokontrolerów i pod koniec roku będziemy już potrafili migać diodami" :D Powinno to działać tak jak z samochodem. Każdy potrafi się tym poruszać i wsiadając do nowego wykonujesz kilka czynności. Poprawiasz...
Może łatwiej użyć takich makr (może nawet w bibliotece, z której korzystasz już są) [syntax=c]#define PERIPHERAL_BASE 0x40000000 #define BITBAND_PERIPHERAL_BASE 0x42000000 #define BITBAND_PERIPHERAL(a,b) (BITBAND_PERIPHERAL_BASE + (a-PERIPHERAL_BASE)*0x20+(b*4)) [/syntax] Wtedy zamiast liczyć adres, wpisujesz nazwy rejestrów i nie przejmujesz się wartością...
Sugestia, że oprogramowanie daje idealne odstępy czasowe, a sprzęt - nie, trąci herezją. Sprzęt zawsze gwarantuje właściwe taktowanie i równy czas transmisji bitów, oprogramowanie - tylko przy spełnieniu wielu warunków, często trudnych do spełnienia. Realizacja programowa wyklucza jakąkolwiek inną aktywność w czasie transmisji. Moje rozwiązanie z najtańszym...
No to podobnie prędko jak u mnie, tylko ja mam procesor taktowany 64MHz - bo jest kwarc 4MHz a max. wartość mnożnika petli PLL to 16. Dałem taki kwarc ze względu na pobór mocy (zasilanie bateryjne). Procesor wchodzi na 64MHz tylko w trakcie transmisji do wyświetlacza i obliczeń pewnych wartości do wyświetlenia, poza tym czasem wyłączam PLL i pozostaje...
Super, działa ; ] Już coraz lepiej to się zapowiada. Szkoda tylko że nie masz Fredi podobnego gotowego szablonu z bibliotekami API, no ale wiem że na Twojej stronie jest to napisane jak to zrobić wszystko więc mam nadzieję ze nic nie zepsuje; D Dodano po 1 Połączyłem projekt z bibliotekami API. Zrobiłem wszystko tak jak pisało na stronie, projekt się...
Dzięki za odzew w temacie :) To już konkretna informacja. Czyli wychodzi na to, że wykorzystując akumulator w pełni naładowany (od 4.2V) do ok 3.6V wykorzystuje się ok 90% pojemności akumulatora (patrząc na ten wykres może nawet nieco więcej, 94% - oczywiście zależy od produktu). Czyli "czerpanie" dalej praktycznie mija się z celem zważywszy faktycznie...
Witajcie, Program, który robię ma za zadanie pobrać dane z modułu MPU, odpowiednio przetworzyć a następnie wysłać za pomocą UART do komputera. Zarówno do wysyłania danych jak i do przetwarzania używam przerwań od dwóch timerów, jeden co 50HZ do wysyłania danych, drugi co 1000Hz do przetwarzania. Niestety przy próbie wysyłania pojawia się problem ponieważ...
Bardzo ciekawie się prezentują STM32 ale to chyba zupełnie inny rdzeń. Najnowszy z "popularnych", czyli Cortex-M3 (architektura ARMv7). Bęzie łatwiej od nich zaczynać? Na pewno nie, w necie jest pełno informacji o ARM7, Cortex-M3 to wciąż nowość w świecie mikrokontrolerów. Nie mówię już nawet o książkach, kursach i dokumentach. 4\/3!! Książki zaraz...
Robię program składający się głównie z przerwań. Program steruje 6 silnikami krokowymi. Uruchomiłem więc 6 timerów dla kazdego silnika w trybie PWM, wypełnienie zawsze 50%, sterowanie częstotliwością. Żeby każdy silnik mógł wykonać zadaną ilość kroków (a zalezności miedzy silnikami są skomplikowane i nieprzewidywalne), każdy timer po wykonaniu impulsu...
Tylko tak jak na stronie Arduino pisze Jest napisane. , funkcja pulseIn() "Works on pulses from 10 microseconds" co daje 100Hz bez dzielnika a z dzielnikiem tylko 400Hz. Więc jak to rozwiązać? Już napisałem, sygnał mierzony dajesz na wejście licznika. Tak można mierzyć częstotliwości do częstotliwość_taktująca_mikrokontroler / 2. W nocie katalogowej...
Witam wszystkich, na wstępie chciałem zasygnalizować, że jestem początkującym użytkownikiem True Studio. Mój problem polega na tym, że chciałem odebrać pomiar temperatury i wilgotności z czujnika SHT21 używając płytki STM32 Discovery z procesorem STM32F100RB z interfejsem I2C, ale do końca nie wiem jak to wykonać. Przeszukując internet (także elektrode)...
Witam. Podłączę się do tamatu. Czy można by w obsłudze przerwania zastosować pętlę czekającą na zwolnienie przycisku? [syntax=c] void init_GPIO_it (void) { RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_AFIOEN; //wlaczenie PA i AIF EXTI->FTSR |= EXTI_FTSR_TR12 | EXTI_FTSR_TR11 | EXTI_FTSR_TR10 ; //reakcja na zbocze opadajace EXTI->PR = 0xFFFFF;...
Witam, pytanie dotyczy systemowego timera oraz procesora STM32F107VCT6. Zewnetrznie mam podpiety kwarc 25MHz ale rozumiem jezeli nic wstepnie nie konfiguruje / nie uzywam pll bedzie on dzialal z wewn taktowaniem 8mhz prawda ? jezeli timer jest 24 bitowy czyli liczy od 16777215 do 0. przy ustawieniu przerwania co 16777215 tykniecia zegara bede mial przerwanie...
W związku z tym iż zamierzam wykorzystać H750 n nowej wersji sondy https://www.elektroda.pl/rtvforum/viewto... mam kilka pytań. Ucieszył mnie fakt, ze CPU można taktować niezależnie od USB, UART, SPI itd.Niestety nie poradziłem sobie z timerami. Skuszony notą katalogową byłem przekonany, że mogę je taktować zegarem 400MHz. Okazał...
Witam, Mam problem z napisaniem poprawnej konfiguracji timera w mikrokontrolerze STM32F103ZE. Potrzebuję zliczać impulsy o dużej częstotliwości ( rzędu 1-3 [MHz] ), do czego niestety nie nadaje się zwykłe EXTI. Próbuję zaprząc do roboty timer TIM4 i pin PD12 ( TIM4_CH1 ). Niestety nie udaje mi się w ogóle z tym wystartować. Na razie testuję to na sygnale...
Proszę mnie nie odsyłać do dokumentacji, bo siedzę z nią już kilka godzin. Normalnie mi wstyd, ale nie potrafię uruchomić timera jako licznika zewnętrznych impulsów - w najprostszej konfiguracji. Nie wiem np. jak ustawić pin GPIO - jako AF dla np. TIM1_CH1??? Na razie mam coś takiego - pewnie powrzucałem masę zbędnych rzeczy a nie ma czegoś podstawowego,...
Witam, od jakiegoś czasu walczę z ustawieniem timera, aby zliczał impulsy z enkodera. Jest to enkoder inkrementalny, który daje 500 impulsów na obrót. Chciał bym do tego celu wykorzystać timer3 na pinach PB0 (CH3) i PB1 (CH4). Zliczać próbuje w ten sposób, ale niestety licznik stoi w miejscu. [syntax=c] RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOB,...
Mam dosyć nietypową prośbę. Potrzebowałbym plik bin który ustawia i resetuje pin PA3 co 500ms. Niestety albo ja czegoś nie doczytałem albo to "coś" nie jest napisane: Z PLL wychodzi 64Mhz (kwarc 16Mhz) void RCC_Configuration(void) { ErrorStatus HSEStartUpStatus; //RCC system reset(for debug purpose) RCC_DeInit(); //Enable...
taktowanie pompy taktowanie obniża attiny13 taktowanie
przez zdalny pulpit schemat zwrotnicy głośnikowej uruchomić integra
analizator widma lodowkie samsunga
Unitra P701 – jak zmierzyć pojemność sondy oscyloskopowej do OS701? Metody pomiaru i typowe wartości MacAllister – opis styków baterii 18V, Dual-Volt, funkcje pinów, diagnostyka, adaptery