RCC_AHB1PeriphClockCmd(GPIOA, ENABLE);//wlacz taktowanie portu GPIO A RCC_AHB1PeriphClockCmd(GPIOB, ENABLE);//wlacz taktowanie portu GPIO B RCC_AHB1PeriphClockCmd(GPIOC, ENABLE);//wlacz taktowanie portu GPIO C RCC_APB2PeriphClockCmd(SPI1, ENABLE); //wlacz taktowanie ukladu SPI Jestem prawie pewny, że to jest zupełnie błędne i powoduje warning podczas...
(at)tmf Z całym szacunkiem, ale kolejny raz zaśmiecasz temat Początkującego osobistymi wycieczkami z zamiarem udowodnienia swoich racji. Nie taki jest cel tego Forum, prawda? Z całym szacunkiem, ale nic nie udowadniam, tylko prostuję wypowiedź kolegi BlueDraco, która zawiera informacje nieprawdziwe, lub niepełne. Rozumiem, że pytanie o konkretne aplikacje...
Tak o ile AHB_presc = 1.
Witam, Mój problem polega na tym,że mam mikroprocesor STM32F407VG na płytce discovery. Napisałem krótki program testowy (CoIDE),który na płytce discovery normalnie się odpala i miga diodami. Po przelutowaniu mikroprocesora na moją płytke prototypową,układ nie chce wystartować. Daje się zaprogramować z wyprowadzenia CN2(6 pinów do external programming),...
Ile taktów zegara trwa 'while(nCount--)' ? chyba nie jeden? Dodano po 6 Jak na razie wydaje mi się że nie masz dobrego sposobu określenia rzeczywistej prędkości taktowania. Zapuść jakiś timer albo SysTick i na tym zrób delay, bo to łatwo policzyć. Dodano po 1 A czemu SystemInit(); masz przed main()? Dodano po 2 Wyłącz wszystkie PLL itp. i włącz tylko...
Witam, a ten SysTick to z którego zegara jest taktowany? Domyślnie jest taktowany z AHB/8 więc trzeba włączyć taktowanie magistrali AHB. Taki mam pomysł.
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...
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,...
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,...
Dzień dobry, Mam problem z odpaleniem mojego stm32f4discovery w pełnej prędkości. Jak się zagłębiłem trochę w temat to zauważyłem, że na zestawie ewaluacyjnym jest tylko kwarc 8MHz, i nie wiem czy dobre rozumiem ale jeżeli chce szybciej to muszę dolutować osobny kwarc?? Z góry dziękuje za pomoc
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...
Witam. Mam następujący problem. Po kompilacji poniższego kodu za pomocą Eclipse z CodeSourcery otrzymuję częstotliwość Timera wynoszącą 18kHz, natomiast za pomocą programu Keil 53kHz. Wartości te zostały sprawdzone za pomocą oscyloskopu oraz analizatora stanów logicznych, dlatego w tym punkcie wykluczam błąd. Linker, startup i Makefile jest od Freediego....
Potrzebuję wygenerować trzy sygnały do sterowania rejestrem: 1MHz, impulsy co 64. okres z 1MHz i podobnie 128. Mniej więcej wyglada to tak: __ __ __ __ __ __ __ __ __ | |__| |__| |__| |__| |__| |__| |__| |__| |__ 1MHz __ __ | |__<-- przez 64 okresy poziom niski -->| |__ __ __ | |__<-- przez 128 okresy poziom niski -->| |__ Wykorzystałem...
Przecież zawsze wszystko wyjasnia po prostu drzewo zegarów. Nie jest istotne czym jest karmiony PLL (czy HSI czy HSE). Taktowanie procesora to maksymalna czestotliwosc z jaka procesor moze pracowac. (wiecej przez PLL nie wyciagniesz) Ehhh.. Z PLL można wyciągnąć tyle, na ile pozwala specyfikacja PLL, nie rdzenia czy magistral! Czemu uważa się, że peryferium...
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ł...
Potrzebuję opóźnień rzędu 1-3 us, czasem kilkadziesiąt ns. Procesor taktowany jest 21MHz. Timer odpada, bo samo kasowanie flagi, ładowanie rejestru licznika i sprawdzanie w pętli flagi trwa zbyt długo. Używam pustego rozkazu NOP, ale nie wiem ile cykli zegarowych on trwa. Poza tym - czy asm("NOP"); nie jest pomijane przy optymalizacji?
Witam, Mam problem z uzyskaniem dokładnego czasu z timera. To mój kod: [syntax=c] #include "stm32f407xx.h" int main(void){ // flash //FLASH -> ACR |= FLASH_ACR_DCRST | FLASH_ACR_ICRST; FLASH -> ACR = FLASH_ACR_DCEN | FLASH_ACR_ICEN | FLASH_ACR_PRFTEN | FLASH_ACR_LATENCY_5WS; //while((FLASH -> ACR & FLASH_ACR_LATENCY) != FLASH_ACR_LATENCY_5WS);...
Zmagam się z następującym problemem. Potrzebuję ustawić czas jednego bitu Timera4 w stm8s003f3 na 1 uS. Robiąc to w sposób standardowy, a mianowicie: 1. Ustawiając preskaler HSI oraz CPU na DIV = 1 (czyli korzystam z 16 MHz) enableInterrupts(); lub inicjalizacji timera4 wszystko działa elegancko. Co lepsze, po ustawieniu wartości zliczającej przez timer4...
Witam przeczytałem wszystkie posty o RCC w STM32F4, jednak dalej nie rozumiem jak to do końca działa. Chcę skonfigurować Timer5 aby odmierzał zadany czas. Mam zegar główny ustawiony na 168MHz. Preskalery ustawione: AHB - brak preskalera, APB1 - /4, APB2 - /2. Nie wiem jaka częstotliwość wchodzi na Timer5. W ogóle nie potrafię znaleźć w datasheetcie...
Z STM32F4 spokojnie lapie mi FIX-a 3D w pokoju na parterze jakies 4m od okna... Zapewne ze względu na "szybsze" taktowanie zastosowali inny flash lub mechanizmy jego obsługi. Miejmy nadzieję że tego nie zmienią.... przy obniżaniu kosztów produkcji :(. Ciekawe swoją drogą jak STM'y pracują z popularnymi transceiver'ami na 2,4GHz... choć w sumie nie...
Dziękuję za odpowiedź. W bibliotece z której korzystam nie ma czegoś takiego jak UART_InitTypeDef. Blue Drako, Miałeś na myśli zegar APB2? Teoretycznie znam jego częstotliwość, wynosi 1/2 CPU. Nie bardzo wiem jak się do tego dokopać, mógłbyś pomoc w którym miejscu zmienić częstotliwość na odpowiednią?(Poinformować bibliotekę). W startup'ie zmieniłem...
Witam też mam problem z uartem. Komunikacja jest ale z błędami. Siedzę już za długo nad tym: [syntax=cpp] void usart__ini() { RCC->APB2ENR|= RCC_APB2ENR_USART1EN ; //wlacz uart1 taktowanie RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN ; //aktywuj i w porcie B GPIO_PinConfigure ( GPIOB ,7 , GPIO_MODE_AF ,GPIO_OUTPUT_PUSH_PULL ,GPIO_OUTPUT_SPEED_50MHz , GPIO_NO_PULL_UP_DOWN);...
Witam, rozpoczynam swoją przygodę z STM32F4 Discovery korzystając z książki "STM32. Aplikacje i ćwiczenia w języku C" Przy ćwiczeniu 0 tworzona jest funkcja RCC_Config(), gdy chcę jej użyc w swoim projekcie mam kilka błędów void RCC_Config(void) //konfigurowanie sygnalow taktujacych{ ErrorStatus HSEStartUpStatus; //zmienna opisujaca rezultat...
Naprawdę taka litania operacji OR jest bezsensu... W takiej litanii łatwiej jest mi napisać komentarze, ale wraz z nabraniem doświadczenia postaram się ich uniknąć. Nie jest dla mnie zaskoczeniem, że nie był to jedyny błąd w kodzie. Program wchodzi do funkcji konfiguracji MEMSa [syntax=c]char LIS3DSH_Init(void){ char LIS3DSH_Settings, RegVal; LIS3DSH_WriteRegister(LIS3DSH_REG_CR6_AD...
Witam Próbuję przesiąść się z bibliotek SPL na LL mimo że są podobne nie mogę namówić do współpracy DMA wraz z SPI. Nie wiem czego mi brakuje mimo usilnych prób SPI nie startuje. Jeżeli używam spi bez dma chodzi bez problemów. prosił bym o sprawdzenie co robię nie tak. Oczywisnie taktowanie DMA włączone w innej części kodu. Poniżej część kodu inicjującego...
Witam. Trochę czasu spędziłem na próbie napisania biblioteki do STM32f4 obsługującej wyświetlacz kompatybilny z HD44780. Wiem, że na necie jest mnóstwo takich bibliotek jednak większość opiera się na bibliotekach stm, a ja sam staram się korzystać wyłącznie z rejestrów. Może ktoś o sprawnym oku i doświadczeniu miałby chwilę czasu i mógłby wyłapać gdzie...
Czy nie trzeba dodatkowo włączyć taktowania dla GPIOD ?
Natomiast to: Kod C - Wiem co to jest poprostu nie wiedziałem jakie wartości się kryją w tym polu ale teraz wiem, że są ustawiane w tamtej funkcji. BTW. Włączasz gdzieś taktowanie odpowiednich magistral?
Niestety ale nikt z nas nie wie jakie masz ustawione taktowanie dla tej magistrali - to wie tylko magiczna funkcja stworzona przez ST. Nikt nie powiedział, że jest tam akurat 84MHz, tylko na pewno nie może być więcej. 4\/3!!
Taką częstotliwość (48MHz) musi mieć tylko kontroler USB - cała reszta (w tym CPU) może działać na 168MHz. Do serii F4 jest bardzo fajny konfigurator zegara (dokument excel z makrami), gdzie dokładnie jest pokazane na jakich stopniach sygnał zegarowy jest generowany - zaznacza się tylko ptaszka, że trzeba 48MHz dla usb i na odpowiedniej magistrali zegarowej...
Jeśli enkoder działą tylko jako sygnał taktujący licznik to masz problem o którym pisze kol. BlueDraco, czyli drganie styku. Dodaj na wejściu filtr RC. Zakładam, że MCU ma na wejściu przerzutnik schmitta.
Witam, Nie mogę się dogadać z tym układem. Widzałem już dużo przykładów ale nic mi to nie daje już sam nie wiem. Kod: *Ini [syntax=c] void czujnik_spi_ini(void) { RCC->APB2ENR|= RCC_APB2ENR_SPI1EN ; //wlacz spi1 taktowanie RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN ; //aktywuj i w porcie A RCC->AHB1ENR |= RCC_AHB1ENR_GPIOEEN ; //aktywuj i w porcie...
Jednak z tymi ustawieniami mam zaledwie 5,1kHz. Jak zwiększyć częstotliwość generowanego PWM powyżej 100kHz (najlepiej 400-500kHz) przy zachowaniu rozdzielczości 12-bit? 500kHz * 2^12 = 2GHz. Masz takie taktowanie?
Witam, Niestety poddaje się bo nie wiem czego mi brakuje w kodzie albo co robie nie tak. Nie moge odebrac na komputerze zadnego komunikatu z plytki DEV. Kontrolka na USB - USART swieci się od RX czyli cos jest nadawane (ciagle swiatlo) ale nic nie odbieram Załączam poniższy kod w celu debuggingu: #include <string.h> #include "stm32f4xx.h"...
To użyj debugera i sprawdź wartości rejestrów w modułach RCC i GPIOG. Na początek możesz też przerzucić linię 'RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_G... ENABLE);//wlacz taktowanie portu GPIO G' do funkcji GPIO_Config. Wtedy możesz korzystać z HSI i wszystko co związane z RCC możesz pominąć.
Jeszcze mam jeden problem. Chciałem przy okazji użyć Backup SRAMu, i tu problem z włączeniem go. Zgodnie z informacjami podanymi np. tutaj: http://stackoverflow.com/questions/20667... widać że trzeba włączyć taktowanie PWREN, BKPSRAM, odblokować zapis bitem PWR_CR_DBP oraz włączyć Backup regulator bitem PWR_CSR_BRE....
O ile SPLa hejtuję chórem z innymi hejterami na tym forum, to STemWin będę bronił. Nie widzę podstaw do twierdzenia że biblioteka jest "zagmatwana", jej użycie jest bardzo proste, konfiguracja sprowadza się co najwyżej do podstawienia kilku wywołań funkcji niskopoziomowej komunikacji z LCD. Kod wynikowy waży sporo, ale w dobie mikrokontrolerów z 2MB...
APB jest tak samo taktowane jak przy dzielniku 1 czyli zegarem 84MHz. Jeśli wnioskujesz o tym po taktowaniu timerów należących do APB1, to nie bierzesz pod uwagę takiego automatycznego mnożnika x2 na taktowaniu liczników tych timerów. Zachowanie tego mnożnika (mnoży x2 dla wszystkich ustawień preskalera APB1, oprócz /1) powoduje że dla ustawień preskalera...
tadzik mozliwe bo sprawdzam to na oscyloskopie. Obecnie mam 9.4us na wyslanie takiej paczki danych, moge jeszcze przyspieszyć do 8us gdy wyłączam bit parzystości i ustawiam baudrate na 6Mhz (max dla mojego kabla) No to jak nie timerem to jak inaczej? musze to wszystko zsynchronizowac z pomiarami od ADC. W zamysle UART ma wysylac podczas gdy ADC w tym...
A częstotliwość taktowania i magistral mamy sobie wywróżyć?
(at)And! Trudne pytanie - w takiej implementacji jaką prezentuję w książce powiedział bym, że to więcej niż AVR (ATMega taktowana 20MHz), ale mniej niż STM32F4.
Okej, to powiedz mi jak to naprawić w tej bibliotece, na której pracuję. Dla mnie optymalnie byłoby gdybyś mi to objaśnił krok po kroku tak, żebym to zrozumiał. Będzie sporo zmian? Nie przerobisz tej biblioteki w prosty sposob. Ona poprostu nie obsluguje bufora kolowego dlatego instrukcje sa wykonywane jedna po drugiej. Teraz zobacz jezeli bufor ma...
Ta liczba pinów niezbyt precyzyjnie definiuje rozmiar. QFP32 z rastrem 0.8 mm jest raczej większe od takiego wlcsp90. Co do magistrali szeregowej to może FSMC z np. STM32F4?
Ustawiłem wszystkie piny na AF5 zmniejszyłem taktowanie do 1MHz. Pin MISO dalej milczy więc problem jest gdzieś indziej...
Jeśli podejrzewasz opóźnienia, to po prostu tymczasowo powiększ je kilkukrotnie (od "zbyt dużych" nic się nie dzieje) i jeśli wtedy będzie dobrze, to będziesz miał winnego. Jesteś 100% pewny tych 42MHz na timerach? Wiesz o tym, że jeśli na magistrali od timerów dzielnik wynosi 2, to timery taktowane są podwojoną częstotliwością magistrali (przyjrzyj...
Dzięki, dobrze wiedzieć, jak coś to zgłoszę się do Ciebie po najnowsze OpenOCD. Na razie spróbuje na tym starociu co mam - 0.6.1. Przeglądnąłem sekcję RCC. Znalazłem tam jakieś różnice w rejestrach do włączania zegarów dla poszczególnych peryferiów i ich resetowania. Co do samego ustawiania SYS_CLK nie znalazłem różnic, czyli wszystkie funkcje w projekcie...
Tu nie chodzi o to, że ja chcę go użyć, tylko chcę wiedzieć do czego dokładnie służy. No to proste. Wyłącza taktowanie SRAMu w trybach sleep od WFI WFE począwszy.
Witam, poprawiając taktowanie kamery i jej nastawy, otrzymuję aktualnie takie obrazki jak w załączniku. Nie są nadal poprawne - gdzie może jeszcze tkwić problem?
Nie napisałeś jaki masz procek więc sam musisz rozwiać swoje wątpliwości za pomocą jego schematu układu zegarowego. Bywa, że częstotliwość taktowania danego timera jest powielona 2x względem szyny APB.
Znakomity projekt! Być może użycie STM32G431 uprościłoby projekt i poprawiło jego parametry. Procesor ma prawie identyczne taktowanie, dwa 12-bitowe przetworniki a/c 4 Mhz mogące pracować w trybie interleaved (pozwala zrealizować sprzętowe przesunięcie sygnału o 90 st), programowany wzacniacz wejściowy o wzmocnieniu 1-64, sprzętowe akceleratory obliczania...
FCh...miałeś rację....jak zwykle. Timer 2 taktowany jest 90MHz i to powinno być dla mnie bazą do dalszych wyliczeń. Dziękuję. Zamykam
Zapewne konfiguracja pinów. Błędnie ustawione taktowanie. Sama biblioteka pewnie nie ma tu nic do rzeczy, a raczej nie umiejętność jej wykorzystania.
Witam projektuję rejestrator na przetworniku ADC o paśmie sygnału wejściowego 40MHz. Chciałbym wykorzystać pełne pasmo. Procek musi taktować przetwornik i odczytać dane 8bit z GPIO. Czy seria procków STM32F4 na zegarze 180MHz da radę odczytywać port GPIO z tą prędkością? Wątpie w to ale wolę się dopytać może ktoś zastosował jakąś sztuczkę która umożliwia...
Bardzo duże. SPI można taktować naprawdę szybko (limit dla kart to chyba 50 MHz), w dodatku masz interfejs QSPI, czyli teoretycznie nawet 25 MB/s by się dało uzyskać.
Znalazlem rozwiazanie w postaci przetwornika taktowanego otrzymywanym zegarem SPI vs. AD5724 też jest taktowany z SPI. Yes, my friend. I na tym właśnie całe moje rozwiązanie polega...
Witam, Podłączam się do pytnia. Ostatnio zabrałem się za STM32F4. W komendach kompilatora, czy dodam użycie "SOFT FPU": -mfpu=fpv4-sp-d16 -mfloat-abi=softfp czy "HARD FPU": -mfpu=fpv4-sp-d16 -mfloat-abi=hard obliczenia zmienno przecinkowe wykonywane są zawsze z taką samą prędkością. Włączenie FPU w rejestrze SCB (SCB->CPACR |= ((3UL << 10*2)|(3UL...
Witam, Nie chciałem zakładać oddzielnego tematu, bo problem mam również związany z PWM, otóż chciałem uzyskać falę prostokątną na wyjściu, niestety otrzymuję sinusa. kod: [syntax=c] GPIO_InitTypeDef GPIO_InitStructure_CLK; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GP... ENABLE); GPIO_InitStructure_CLK.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure_CLK.GPIO_Mode...
Czyli z taktowaniem mam problem. Próbuję zrobić tak jak tutaj http://stm32f4-discovery.com/2014/04/lib... U mnie jest: Core Clock = ((HSE_VALUE / PLL_M) * PLL_N) / PLL_P Niestety po takiej konfiguracji STM wariuje, nawet USART wysyła śmiecie. Jak prawidłowo skonfigurować...
Znalazłem rozwiązanie mojego problemu z taktowaniem mikrokontrolera, opisuję to co znalazłem żeby może oszczędzić komuś kłopotu. W DISCOVERY F4 jest wykonana bardzo ciekawa rzecz. Mimo że do F4 dołączony jest kwarc 8 MHz wraz z kondensatorami, projektanci stwierdzili że dołączą jeszcze do wejścia OSC IN wyjście MCO z F1 która służy jako programator....
Po prostu w tym trybie taktujesz timer zewnętrznym sygnałem podawanym z układu em4095. I wtedy zamiast liczyć czas impulsu na podstawie jakiegoś traktowania timera, masz po prostu zawsze jednostki sygnału zegarowego rfid.
Witam, jakoś nigdy nie zagłębiałem się bardziej w temat System handlers i Fault handlers ale teraz powstało parę pytań. Załóżmy że zbudowałem urządzenie, które ma być skierowane do produkcji. Zostało ono prze zemnie przetestowane i działa prawidło. Stąd czy powinienem jakoś zwrócić uwagę na wymienione prze zemnie grupy przerwań, czy jeśli system jest...
Jestem baardzo zawiedziony tym procesorem. Za moja namowa przeszlismy w firmie na F7 bo naczytalem sie jaki to on szybki. Ten sam algorytm FFT wykonuje sie ledwie 26% szybciej niz na stm32f4 i to glownie ze wzgledu na szybszy zegar a nie na MIPS. Dziwi mnie bardzo czemu nie dadza szybszego taktowania bo ponoc ten rdzen mozna napedzac do 400Mhz a te...
taktowanie pompy taktowanie obniża stm32 taktowanie
2konrafal1993 polecam iskrzy mikrofala wskaźnik płynu chłodniczego
pamięć ferrytowa koralik pamięć ferrytowa
Jak ustawić język polski w telewizorze Grundig? Windows 10: Kursor myszki biega, ekran miga w trybie awaryjnym