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...
Mikrokontroler 8051 to klasyk który większość ludzi których ktoś kiedyś próbował nauczyć techniki mikroprocesorowej musiała choć trochę poznać. Mnie w Technikum i na Politechnice też było dane się z nim zaprzyjaźnić. Jest to dość fajny i popularny mikrokontroler (wielu producentów poza Intelem który go stworzył ma go w takiej czy innej formie w swojej...
A flaga jest zadeklarowana jako volatile ?
Standard USB wymaga precyzji taktowania poniżej 0.5%. Kilka firm ma taką precyzję, ale ST póki co do nich nie należy. W związku z tym NIE można taktować dotychczasowych modeli STM32 z działającym USB z wewnętrznego oscylatora.
Odpowiedz sobie (przy okazji możesz i nam) na poniższe pytania: Jaki to mikrokontroler? Jaka jest częstotliwość głównego zegara? Jaka jest częstotliwość zegara szyny timera? Jaka jest częstotliwość zegara timera? (to nie jest wcale takie oczywiste - są automatyczne dzielniki, przy podziale częstotliwości szyny zegar timera może być 2x szybszy od zegara...
To, że tam jest podłączone 8 MHz, to nie znaczy, że z taką częstotliwością pracuje, tym bardziej że bez podkręcania STM32F405 działa do 168 MHz. Racja, czyli... jeszcze gorzej. Przejrzałem źródła i rzeczywiście STM32 w tym projekcie pracuje z taktowaniem 168MHz. Wiem, że takie emulatory pamięci ROM w 8-bitowcach od biedy dają radę (oczywiście STM32...
CZAS SAMPLOWANIA, nie taktowanie ADC.
Niestety tak jak chcesz to się nie da. To jedno z ograniczeń tej rodziny procesorów. Główne to takie, że dzielniki dla USB to tylko 1 oraz 1.5, zatem procka możesz puścić tylko na 72 MHz, albo 48 MHz, żeby mieć odpowiedni zegar na USB. Dodatkowo mała ilość dzielników na ADC powoduje dodatkowe utrudnienia, także maksymalnie można taktować ADC zegarem...
Trzeba dodatkowo włączyć taktowanie bloku przerwań. Wstaw np. zaraz przed while(1) RCC_APB2PeriphClockCmd(RCC_APB2Perip... ENABLE); Jak dojdziesz do timera to też dodatkowo trzeba włączyć taktowanie RCC_APB2PeriphClockCmd(RCC_APB2Perip...
Podłącze się do tego tematu ale jak będę bardzo przeszkadzać zrobię sobie nowy :P Wiec tak próbuje uruchomić USARTA i robić własne biblioteki nie chce korzystać z gotowych. I mam kilka pytanek. We wzorze na Baudrate Fpclk oznacza taktowanie szyny na której jest USART czyli jak używam USART3 to mam zegar z APB1 czyli w przypadku stm32f4discovery gdy...
Narazie nie zależy mi na energooszczędności. Nie wiem czym dokładnie różnią się te uC. Lepiej wziąć F411 czy F401? One różnią się tylko taktowaniem?
A taktowanie Timera jest włączone?
Jeszcze przed wstawieniem posta sprawdzałem (zmęczenie) . Faktycznie funkcja konfiguracyjna ustawia wszystko tak jak powinna. Muszę przyczepić się taktowania. Pozdrawiam.
Witam, Żadne rozwiązanie z innych tematów nie działa. Posiadam płytkę STM32VLDISCOVERY, zasilam ją z portu USB. Dodatkowo posiadam konwerter na FT232, konwerter działa poprawnie, echo jest przesyłane. Korzystam z programu Terminal v1.9b. Program na odebranie 49 ma zapalać diodę LED a po odebraniu 50 ma gasi diodę. Proszę o pomoc w znalezieniu błędu....
Hm u mnie jechało to na płytce discovery, tam używałem taktowania 24 MHz
Witam, to temu, że timer 6 będzie taktowany z prędkością 2x większa niż magistrala APB1. Wytłumaczenie masz w reference manual (u mnie Doc ID 13902 Rev 11) str. 84, 85.
Kod na STM? Taktowanie poprawne? stosy? Wait states?
Właśnie próbuje napisać program i nie chce mi się nawet zapalić LED, opieram się na STM32 w praktyce. Może podpowiecie co źle zrobiłem [syntax=c]#include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" void RCC_Conf(void) { ErrorStatus HSEStartUpStatus; // reset ustawien RCC RCC_DeInit(); // Wlacz HSE RCC_HSEConfig(RCC_HSE_ON);...
Niestety na STM'ach nie da się w prosty sposób zrobić generatora impulsów o liniowej częstotliwości. Proponowałbym taktować jakiś timer mikrokontrolera sygnałem zegarowym z DDS'a (będziesz miał skok 0,2Hz w zakresie 0 - kilku MHz przy zastosowaniu AD9834)
ARM to zarówno układy z 4kB ramu pracujące na 20MHz jak i wielordzeniowe specjalizowane układy w telefonach komórkowych obsługujące pamięć DDR i taktowane gigahercami. STM32 znajdują się bliżej tych pierwszych niż tych drugich. 4\/3!!
Zobacz sobie obrazek nr 8 (Clock Tree) w RM0008 w rozdziale o RCC. DO: TIM2,3,4,5,6,7,12,13,14 idzie częstotliwość: jeżeli APB1 prescaler = 1 to częstotliwość APB1 w przeciwnym wypadku - częstotliwość 2*APB1 podobnie jest z pozostałymi timerami na APB2 więc jeśli uC jest taktowany zegarem 72MHz i na APB1 jest 36MHz (prescaler = 2) to tim2 i tak "działa"...
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, cały dzień męczę się z obsługą przerwania od odbioru danych w STM32103RB. Korzystam z biblioteki HAL. Po całym dniu dalej nie wiem jak to ma wyglądać, dostępne example robione są w STM32CubeMX, a ja z tego nie korzystam. W dokumentacji chyba nie potrafię się poruszać bo nie wyiskałem z niej co po kolei trzeba wywoływać aby obsłużyć to przerwanie....
Podróbki "działające" w przypadku MCU to już w ogóle chyba fikcja. Jest pełno działających podróbek stm32, często o wyższym taktowaniu maksymalnym lub większej ilości Flash czy ram. W micros dużo z nich można kupić z oznaczeniami zaczynającymi się od gd32 mm32 itd. Ale niestety często ktoś na nich maluje stm32. One zaprogramowane wsadem do stm32 najczęściej...
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...
Nie wiem czy się zrozumieliśmy, ja nie chcę przesyłać przez kodek sygnału z mikrofonu, a z przetwornika DAC mikrokontrolera. Mikrofon potrzebuje sygnału zegarowego 2,4 MHz bo ma wyjście PWM które jest taktowane tym zegarem.
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...
Zdawało mi się że top jest jakiś globalny CLK do taktowania całego sterownika FSMC. Zwracam honor.
Chm, chyba się zapędziliśmy. Też nie widzę nic takiego dla EXTI. No to chyba jednak ono dostaje taktowanie zawsze. Czyli już nic nie trzeba włączać.
Rx miałeś dobrze skonfigurowane. Nie masz taktowania AFIO. [syntax=c]RCC_APB2PeriphClockCmd(RCC_APB... | RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);[/syntax] I nie włączaj przerwań skoro ich nie używasz. Te 2 linie z USART_ITConfig są nie potrzebne.
Chyba trudniej znaleźć płytkę bez takiej funkcjonalności - praktycznie wszystkie płytki z STM32 mają taką możliwość.
na stm'ach się nie znam, ale czas takich impulsów zależy też od szybkości taktowania - więc możesz zmienić kwarc na szybszy.
Nie znam się na stm32, ale może uC nie jest taktowany częstotliwością 72 MHz, być może błędna inicjalizacja PLL. Nie uczy się tworzyć delay'ów na konstrukcjach for ponieważ nie wiadomo jaki kod asemblera wygeneruje kompilator. Opóźnienia tworzy się przy pomocy timera.
Uruchomiłem kod, który wkleiłeś. Dopisałem tylko definicje dla Bank_NAND_ADDR ( 0x70000000 ), CMD_AREA ( 0x00010000 ), ADDR_AREA ( 0x00020000 ) i DATA_AREA ( 0x00000000 ). W funkcji FSMC_NAND_ReadID() pominąłem zapis do struktury i odczytuję zmienną data - mam w niej prawidłowe dane. Dodano po 8 Może nie włączyłeś taktowania dla FSMC? Ja mam to w innej...
Jednak docelowo i tak układ musi być na dedykowanym PCB więc zabawa z programownaiem w układzie mnie nie ominie Jak dobrze kojarzę STM32 nie ma w "łatwych" TQFP jak mega32 czy nawet 64. iirc lqfp z rastrem 0.5mm czy 0.65 to najlepsze co się uda wyciągnąć. Rodziny F4 są taktowane 120, 180 a chyba nawet i więcej. Kompletny zestaw spełniający założenia...
Nawet przez FSMC i tak nie bedzie to prawdopodobnie bardzo szybkie (ja osobiscie myslalem ze bedzie mi szybciej dzialac), choc szybsze niz normalny sposob. A taktowanie: zalezy od procka np dla cortex m3 L1 32Mhz F1 72Mhz F2 120Mhz, a F4 168Mhz. I moze lepiej pisac inicjalizacja niz inicjacja :D bo mi się to troche z czym innym kojarzy
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...
W sumie ciekawa sprawa. Z tego by wynikało że później można wyłączyć taktowanie a opcja remapowania powinna pozostać taka jaką ustawiliśmy.
Da ścisłości to trzeba by wspomnieć że to o czym mówisz to nie jest częstotliwość PWMa tylko częstotliwość taktowania generatora PWM.
W takim razie czy jest ktoś może w stanie przesłać mi skonfigurowanego systicka tak, aby przy taktowaniu procesora 72Mhz, co 1s przechodził w funkcje przerwania?
Nowa rodzina układów firmy STMicroelectronics nosi nazwę STM32L4+ i cechuje się bardzo wysoką, jak na pobór mocy, mocą obliczeniową, dochodzącą do 150 DMIPS przy taktowaniu 20 MHz. 120MHz
Problem rozwiązany ; ] Należy włączyć taktowanie RCC_APB2Periph_AFIO . W Kailu nie wiem dlaczego bez ustawienia taktowania AFIO działało. Dziwna sprawa ale nie wnikam ^ ^ Temat do zamknięcia
(at)stmx Oczywiście było to pytanie (nie zna STM32 ). Skoro tak to mój pomysł wypali i da radę załatwić kwestie różnicy w prędkości interfejsów.
A włączyłeś taktowanie dla CAN2? Nie używam bibliotek HAL więc nie wiem czy one to robią automatycznie.
Opóźnienia w tym kodzie generowane są pętlami for i są zależne od częstotliwości taktowania procesora. Masz ustawione takie samo na F0 i F1?
Mam osiągnięcia... U mnie wszystko działa bez problemu...
Na jednej końcówce mam 25.0028 MHz a na drugiej 24.8606 MHz. Przypinasz sondę, więc zmieniasz pojemność układu, a tym samym częstotliwość. Dlatego nie dotyka się kwarcu, tylko mierzy sygnał na MCO. Skoro wiesz, że odchyłka wynosi 2% (24,5/25=0,98) i sprawdzałeś różne kwarce, to chyba jednak nie jest to kwestia kwarcu. Jeżeli testowy program z CubeMX...
0. Czy jesteś pewien, że układ jest prawidłowo przylutowany? Może układ nie jest prawidłowo przylutowany i traci połączenie na jednej czy kilku nogach kiedy dotykasz sondą. Spróbuj lekko naciskać płytkę wokół układu, ale bez dotykania pól lutowniczych czy ścieżek. 1. Jaka jest różnica potencjałów masy laptopa i masy oscyloskopu? Może kiedy przykładasz...
Na wejściu częstościomierza jest układ formowania impulsu/wzmacniacz i dzielnik przez 16. Sygnał po podzieleniu jest podawany na wejście zliczające jednego z timerów w STM32 i co sekundę pobierana jest liczba zliczonych impulsów, następnie licznik jest zerowany. STM32 jest taktowany zwykłym kwarcem więc na stratę informacji związaną z obecnością dzielnika...
autor miał na myśli taki schemat (jest to schemat przetwornicy step up ale to niewazne) STM32 jest taktowane od 64Mhz w gore i taki uC bym chciał użyć. jezeli chodzi o poziomy napiec to ja zamiast tranzystora bipolarnego bym uzyl tranzystora MOSFET typu n a jak wiadomo te tranzystory sa sterowane napięciowo. Z noty katalogowej wynika ze przy 3.3V są...
Witam Timer2 może być maksymalnie taktowany 36[MHz] (APB1)- przynajmniej tak zrozumiałem z RM0008 Figure 8 clock tree. Pozdrawiam Piotr Edit: I jeszcze - jesteś pewien, że PLL pracuje może działa ci na HSI 8 [MHz] wtedy migała by ci dioda co 9s
Czyli: 1. Jeżeli APB jest ustawione na 1 (bez dzielnika) to zegar timerów wynosi tyle co taktowanie samego APB. (no zrozumiałe) 2. Jeżeli jest inaczej to zegar timerów wynosi x2 zegara taktowania APB...czy może wyjścia z APB?? To drugie jakoś nie kapuje.
Jest chyba drobna różnica w inicjalizacji tych dwóch modeli (drobne zmiany w rejestrach), Nie ma żadnej nawet najdrobniejszej różnicy poza rejestrem "PLL Setting Command", gdzie zalecają w nocie ew dla RFM12B zmienić domyślną wartość na 1 bo źle startuje generator PLL. Ale to ma tylko i wyłącznie znaczenie wtedy, gdy chcesz korzystać z sygnału do taktowania...
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...
Bey startup to Ci raczej nic nie ruszy. Jeśli bardzo nie podoba Ci się SystemInit - zmień nazwę tej funkcji w stmxxx_systemxxx.c i napisz własną - może być pusta. Ostatnio w Keil/ST zmieniły się poglądy nt. SystemInit, co można poznać po tym, że nowe wersje pakietów Keil (które wyszły dla połowy serii STM32) na ogół nie inicjują taktowania procesora....
A obsługa SPI przez DMA to co? Nic lepszego ani bezpieczniejszego nie wymyślisz..... za dużo prądu zmień MCU... Generowanie zegarem, czy timerem czegokolwiek to proszenie się o błędy. Zmniejszanie taktowanie nie koniecznie zmniejszy poboru prądu jeśli korzystasz z trybów stop lub sleep
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!!
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...
Witam, zaprojektowałem i uruchomiłem sobie moduł z Cortexem STM32. Do programowania używam JTAGa ARM USB od Freddiego Chopina ( pozdro działa bez problemu i jest szybszy od Wigglera ) i w IDE CrossWorks firmy Rowley w oparciu od biblioteke firmware FWLIB. Jak to bywa zawsze, na początku postanowiłem sprawdzić czy działają peryferia. STM32 domyślnie...
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,...
Z warunkiem jest raczej wszystko ok, bo jak wspomniałem wcześniej przy wewnętrznym źródle taktowania timera wszystko działa poprawnie. Skoro tak twierdzisz, to musi działać dobrze (;
Gratuluję obsługi i2s bez sprzetowego i2s, ale obawiam się że jednak jakość dźwięku na tym słyszalnie ucierpiała (jitter). Samo wysyłanie nie powinno być problemem. Obecnie transmisję inicjuję timerem przez DMA, tak że częstotliwość próbek powinna być stała. Jedynie różnica zegarów między PC a STMem jest problemem. Obecnie w ciągu 1ms na kilkadziesiąt...
Cześć, Przed uruchomieniem planisty vTaskStartScheduler(); działa moja funkcja, która obsługuje przerwanie od SysTicka. Po jego włączeniu podejrzewam, że freeRtos sobie jakoś zmienia ten wektor, tylko nie mogę zlokaliwoć jak to robi i gdziej est nowa funkcja obsługi tego przerwania. SysTick jest mi potrzebny do taktowania fatFSa.... Jak to można rozwiązać?...
Zapewne konfiguracja pinów. Błędnie ustawione taktowanie. Sama biblioteka pewnie nie ma tu nic do rzeczy, a raczej nie umiejętność jej wykorzystania.
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...
A czy jest włączone taktowanie SYSCFG? RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN;
Biblioteka pozwala na korzystanie z napisanych funkcji lub tylko na korzystanie ze zdefiniowanych rejestrów. Na pewno kod przygotowany z wykorzystaniem przygotowanych struktur jest bardziej czytelny i szybszy w analizie przez innych którzy też ich używają. Sam z nich korzystam, ale i tak są przypadki że coś trzeba zmienić. Przykładem jest chociażby...
Witam, wydaje mi się, że problem prędkości nie jest po stronie ani karty SD, ani jej możliwości granicznych w komunikacji przez SPI. Problem jest po stronie mikrokontrolera. Z jakim zegarem pracujesz? Jak szybko jest taktowane SPI? pozdrawiam wojt
Powinno działać z każdym SB16. Ogólnie to wszystkie piny złącza ISA podpinałem bezpośrednio. A jaką maksymalną częstotliwość taktowania ma ten twój µC? Schemat mojej płytki w załączniku.
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...
Ale jak potrzebuję coś na szybko to 4 godziny i mam płytkę, a nie czekam tydzień lub dwa. Ale potem walczysz dwa miesiące rozwiązując problemy, które sam stworzyłeś... Do pewnego momentu można sobie robić płytki w domu, ale kiedy układy stają się co raz bardziej złożone, poprawne wykonanie PCB staje się co raz istotniejsze. Dwie warstwy przy obecnych...
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
Witam, Mam jeszcze jedno pytanko, czy pomimo tego, że Timer 2 jest podłączony do magistrali APB1 taktowanej zegarem 36MHz (max) to i tak na jego prescaler wchodzi sygnał 72Mhz? (CK_INT) pozdrawiam Krzysiek
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...
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]...
(at)Freddie. Blue Draco zapodał procedurkę, za co jestem Mu wdzięczny. Jeśli by zadziałało, ogłosiłbym sukces i wątek zmierzałby do rychłego zakończenia. Tymczasem nawet z procedurką BlueDraco, odczytuję ID wyświetlacza na poziomie 0. Co do uruchomienia wyświetlacza na AVR, to chciałem tylko zobaczyć, czy jest to możliwe i czy wyświetlacz jest sprawny....
myślałem że mogę wpisać praktycznie częstotliwość taktowania procka. Po zastanowieniu wiem że to niemożliwe. Podzielnik przez 8 można włączyć. Dodano po 4 Nie każdy pływa z zamiarem udziału w olimpiadzie ;-) Jest coś takiego jak hobby, ciekawość... na różnym poziomie wiedzy. Tu użyj CubeMX. Prosto, szybko i przyjemnie. Dużo kursów jest na Forbocie,...
Ok, czyli w zasadzie zalecane, ale nie bezwzględnie wymagane, szczególnie przy układach próbnych. Dla końcowych projektów powinno się je chyba najlepiej ustawić na pull (up czy down nie ma znaczenia - dla np. układów gdzie decyduje o tym GPIOx->ODR, można ustawianie ODR sobie darować). W normalnej aplikacji nie ma to znaczenia. W low power to masakra....
Zacznijmy od początku, czyli od inicjalizacji. Coś wygrzebałem, post Freddie Chopin o inicjalizacji: [syntax=c] #defineI2C_CR2_FREQ_24MHz 0b011000 RCC_APB1ENR_I2C2EN = 1; // wl. taktowanie I2C2 I2C_CR1_SWRST = 1; // programowy reset I2C_CR1_SWRST = 0; I2C2->TRISE = 37; // ?? z kad ta wartosc ( Co tu wpisać ?) I2C2->CCR = 120; // 24MHz/120/2 ~= 100kHz...
Witam a jak dochodzisz do wniosku że USART2 nie działa? Podłączyłeś oscyloskop czy jakieś urządzenie? Myślę, że jeśli podczas startu procesor nie zapętla Ci się w oczekiwaniu na jakąś flagę w związku z USART2/3 (można to podejrzeć debugując program), to jest to zapewne nadpisanie inicjalizacji lub błędna inicjalizacja portu GPIO. Nie znam blibliotek...
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...
Wybór mikrokontrolera dla mnie w tej sytuacji wydaje się raczej sprawą drugorzędną. Ważniejsza jest eliminacja zakłóceń w warstwie sprzętowej lub programowej. Ogólnie mikrokontroler STM32 wydaje się być dość dobrym wyborem-ostatecznie są wersje szybsze niż taktowane 72MHz ( serie F4, F7). Trochę trudno cokolwiek się wypowiadać bez pooglądania schematu...
Jeszcze jedno pytanie, w interfejsie SPI kiedy zaczyna się taktowanie SCLK [?] Po stronie procka SPI jest MASTER, a po stronie modułu SLAVE. Na NSS daje logiczne '0' w celu otwarcia magistrali, czekam na stan niski na SO (taka jast rekomendacja ze strony TI przy wpisie do SLAVE'a), wpisuje dane do DR, na koniec odłączam magistrale przez ustawienie NSS...
Wydaje mi się że problem może leżeć w konfiguracji sygnałów zegarowych. Jak taktowany jest mikrokontroler? Na początek polecam uważną lekturę książki pana Krzysztofa Paprockiego "Mikrokontrolery STM32 w praktyce". Próbowałeś zrobić opóźnienia w pętli (po tym, jak udało się zainicjalizować wyświetlacz)? Ew. odezwij się na pw. Mam gdzieś podobny projekt,...
Nie, nie wiedzialem że AFIO też jest taktowane. Ale bez remapingu na PB9 tez nie działa. Rejestry niby takie same i opisy podobne, ale widac jest jakas różnica. Nie potrafie na razie znaleźć.
Wydaje mi się, iż jest to spowodowane tym, że to 16 bitowy timer taktuje DMA Niet :) Reference manual, opis rejestrów GPIO: The peripheral registers have to be accessed by words (32-bit). Dalej rozdział o "rozmiarach i wyrównaniach" danych DMA: Addressing an AHB peripheral that does not support byte or halfword write operations Czyli dokładnie to co...
Czyli jednak 50, a nie 430 kHz. Do pędzenia DAC należy użyć DMA (obsługa programowa daje większy jitter), a jeśli z jakiegoś powodu bardzo chcesz to zrobić w przerwaniu timera, sugerowałbym włączenie PLL i taktowanie procesora ze znacznie większą częstotliwością niż domyślne 8 MHz.
Ustawiłes w ustawieniach IPv4 adres, brame domyslna i maskę?? Sparawdź taktowania, ja to robiłem na STM32F100 z 24 MHz i smigało pięknie. Zdebaguj kod i powiedz czy gdzieś się zatrzymuje itp itd
jeśli ktoś chce relatywnie dużo szybkiego RAM to i tak weźmie STM32 ze 128KB RAM i 1MB FLASH Jak ktoś chce czegoś takiego, to prędzej weźmie PIC32, który ma 512KiB SRAM, 2MB Flash, przy taktowaniu 200MHz.
Mam pytanie, czy są tego typu płytki z STM32 z DAC ? bo z tego co widzę, F103C8T6 nie posiada DAC. Zainstaluj sobie STMCUFinder ze strony STM, który szuka uC z uwzględnieniem różnych opcji. Dodano po 3 Datasheet podaje że ma on mieć te swoje 32.xxxx kHz jednak nie jest chyba podane co się stanie jak się podepnie szybszy (ten na płytce ma w praktyce...
No ja zaglądnąłem do RCC. Tyle że nie obejrzałem obrazka pod lupą :-). A ta notatka jest na koniec rozdziału (jako wyjątek) a nie przy opisie taktowania zegarów związanych za APB1 i APB2. Po prostu mina i tyle - wiadomo że trzeba czytać dokumentację, ale żeby całą ;-) ?
michalko12, masz jakiąś sugestię czemu gubi mi pingi? Zrobiłem czysty kod od zera korzystając tylko z bibloteki i ethernetif`u od z przykładu STM`a. Dodano po 35 Odpowiedzią było taktowanie PHY - miałem z osobnego kwarcu, teraz przerzuciłem się na podanie na p8 25MHZ, ale i tak jednak gubi mi co 20-stego pinga.
Dziękuję bardzo Rozumiem, że pierwszy kod całkowicie zastępuję inicjalizację SPI (łącznie z włączeniem taktowania portu oraz taktowania SPI)? WYbacz za pytanie ale nie operowałem wcześniej na rejestrach w STM32. Próbowałem uruchomić ten kod (usunąłem tylko asemblerowe instrukcje "nop", bo Keil zgłaszał brak średnika). Odczytywałem później przy pomocy...
Witam. Kupiłem płytkę uruchomieniową STM32vldiscovery z kontrolerem STM32F100RB. W przykładowym programie użyto licznika SysTick do wywoływania przerwania co 1ms. W programie użyto funkcji włączającej podział zegara systemowego (ustawionego na 24MHz) przez 8. "SysTick_CLKSourceConfig(SysTick_CLKSour... Jednak aby przerwanie było wywoływane...
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.
Witam. https://obrazki.elektroda.pl/7611229100_... Chciałbym osiagnąć to co na obrazku, mianowicie mam skonfigurowany TIMER2 generujący sygnał PWM o częstotliwości ok 42kHz (taktowanie procka -> 32MHz, ARR = 99, PSC = 6). Chciałbym uruchamiać pomiar ADC podczas zbocza opadającego i kończyć przed kolejnym zboczem narastającym. Męczę...
Witam wszystkich Poniżej zamieszczam kod który przeraża mnie swoją wolnością znaczy się brakiem szybkości. To jest STM32 a działa wolniej niz ATMEGA8. Osobiście nie sprawdzałem oscyloskopem taktowania ale jesli wierzyć konfiguracji PLL to zegar główny to 64MHz while zajmuje 16 albo 18 cykli - MASAKRA. Jak to przyśpieszyć? Czy jest możliwe wykorzystanie...
Dziękuje za pomoc rzeczywiście nie włączyłem taktowania modułu AFIO, swoją drogą wykonuje przykłady z książki pana Paprockiego i tam nic o tym nie było wspomniane;( Idziemy dalej z nauką-teraz czas na Timery.
Witam. Mam 2 problemy które wynikły w czasie mojej zabawy z ARM. Mam nadzieję że ktoś mi podpowie co jest nie tak. Mam dwie funkcje które pod AVR działały bezbłędnie a pod ARM już nie do końca chcą funkcjonować. Wypunktuję te problemy. 1. Funkcja "SD_writeSingleBlock" z biblioteki do obsługi karty SD ze strony darhmanitech.com. Funkcja: http://obrazki.elektroda.pl/1642057700_1...
Podzielniki więc muszą być w zbiorze 1,2,3,4,5...n-1,n. Kod na dzielnik który jest powszechnie spotykany nie ma mozliwości zrobić takiej podziałki ze względu na to że reaguje jedynie na zbocza narastajace sygnału zegarowego(dzieli więc wstępnie przez 2, a więc 50 MHz nie osiągnę). Jeśli w Twoim układzie zegar wyjściowy przy 50 MHz może miec wypełnienie...
taktowanie pompy attiny13 taktowanie taktowanie obniża
sonda piekarnika amica deska rozdzielczy iveco prostownik pierwotnej
toshiba 22el833g instrukcja obsługi
Dioda blokująca do paneli fotowoltaicznych – STMicro, Vishay, TE Connectivity, dobór i zakup Vektor LP-203TS II – instrukcja obsługi kalkulatora, PDF, gdzie pobrać, Grupa Zibi, Chomikuj