Gdy ją od komentuję, podczas debugowania wszystko się sypie. W Zakładając że mówimy o projekcie stm32_blink_led, czyli tym dla F103. Jeśli w config.h ustawisz FREQUENCY na 24MHz max, w funkcji pll_start() wywalisz wywołanie funkcji flash_latency() (w F100 niby nie da się tego przestawiać), to powinno zadziałać, choć niekoniecznie optymalnie (w funkcji...
Dało by się. Polecam program ISP Programmer (już niestety nie rozwijany ale i port LPT też już w nowych sprzętach rzadko się pojawia)- za jego pomocą dało się programować AT89S52 (czyli troszkę lepsze 8051-a właściwie 8052 z Atmela). Inną kwestią, że 8051 i jego krewni to w porównaniu do AVRów słabizna obliczeniowa. AVRy są to mikrokontrolery RISCowe...
https://obrazki.elektroda.pl/8808596700_... Pokażę tu jak łatwo uruchomić MAX31855 z Arduino a potem omówię jego protokół komunikacji. MAX31855 oferuje 14-bitowy pomiar temperatury z zakresu zależnego od użytej sondy, od -270°C aż do 1800°C. MAX31855 oferuje prosty protokół komunikacji oparty o SPI, zasadniczo odczytujemy z niego tylko...
Natomiast STM nie lubi działać na zmiennych typu char. Dla STM32 nie ma znaczenia czy zmienna ma 8-, 16- czy 32-bity... 8MHz dla RCC_SYSCLK_Div2 i RCC_PLLMul_2 pozostałe parametry bez zmian Możesz zdradzić nam powód, który każe Ci ustawiać dzielnik dla najszybszej i najważniejszej magistrali w tym układzie na jakąkolwiek inną wartość niż 1? Nie dziw...
Nikt nie chce odpowiedzieć, więc sam sprawdzę ;) Chcę to sprawdzić dla małej rozdzielczości dla serwa przy 24MHz lecz pojawił się problem z brakiem PWM na PA8: [syntax=c]RCC->APB2ENR = RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN; ... GPIOA->CRH = 0x888884AA; ... RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; TIM1->PSC = 239; TIM1->ARR = 1999; TIM1->CCR1= 150; TIM1->CCMR1...
witam posiadam STM32F103RET6 i jeśli ustawię PLL mnożnik na więcej niż 6 razy (co odpowiada 48MHz) to procek wysypuje się, przechodzi do HardFault_Handler, jesli konfiguracje przeprowadziłem w THUMBie to jeszcze na 56MHz pracuje. Po pierwsze chciałbym zauważyć, że STM32 (Cortex-M3) obsługuje tylko thumb-2, więc niby w jakim trybie jesteś normalnie?...
Jeżeli znasz ASM na Z80, masz źródła i bazę softwareowo/sprzętową do pracy z Z80 (tak wiem wiele tam nie potrzeba ale najczęściej trzeba mieć chociażby programator i kasowarkę UV do epromów z okienkiem oraz soft z którym będzie on chciał działać) i jest to jedno urządzenie do modyfikacji w sensie jednej sztuki (czyli przypadek raczej szczególny niż...
Zostawmy temat podkręcania procesorów, jest to temat dla dwóch szkół: starej, która mówi jasno "nie, nie powinno się tego robić", oraz nowej szkoły, która mówi jasno: "tak do pewnego stopnia i w szczególnych przypadkach". Oczywiście nie należy tego wykorzystywać do obrażania kogokolwiek, jest to karygodne!!! Do niczego tym sposobem nie dojdziemy. Czyli...
Problem rozwiązany. Okazało się, że kamerka nie może być taktowana 16MHz bez modyfikacji. Teraz kamerkę nadal taktuję nadal 16MHz, ale dokonuje pewnych ustawień w jej rejestrach. Mianowicie dzielę w preskalerze kamerki tę częstotliwość na 4 i mnożę x6. W ten sposób otrzymuję 24MHz i zero przebarwień. Ogólnie kamerka działa poprawnie, lecz problem pojawia...
Zapewne w większości aplikacji tak jest, ale w często na to trzeba uważać. Przecież nikt nie pisze tutaj o filtrach cyfrowych czy FFT. Niemniej jednak widać na forum tendencję, że nawet JEDNORAZOWE obliczenie czegoś na float to ogromny problem, bo "przecież można to zrobić na liczbach całkowitych, przez co program uruchomi się o 13 mikrosekund szybciej"....
Wiec, probowalem jeszcze raz ale z innymi pinami sterujacymi - wybralem do tego PORT_B_PIN11 i PORT_B_PIN_12, nie jestem pewien czy dobrze to sprawdzilem w nocie katalogowej, ale wydaje mi sie ,ze one powinny byc 5V tolerant. Ponizej zalaczam caly config. h oraz main.c - probowalem znowu przetestowac mozliwe wartosci dla nowych pinow sterujacych niestety...
Dziękuję za odpowiedź. Zgodnie z wcześniejszymi radami, zmieniłem pojedynczy transfer na 120bajtów. Gdy transfer się kończy, wyłączam układ FT311D, ustawiając na #SS jedynkę (makro FT311_DEZAKTYWUJ). Mam jednak problem z gubieniem danych i / lub zawieszaniem się transmisji, o czym dalej... Kod wysyłający dane wygląda tak: [syntax=c]void wyslijDane (...
Super, jakoś udało mi się Eclipsa uruchomić fakt że w innej wersji Version: Mars Release (4.5.0) ale bez problemu spiąłem to. Przerzuciłem kod i co się okazało. Ruszył. Ale do szczęścia trochę brakuje, okazuje się, że nie rozpoznaje USB. Tzn ten sam dokładnie kod śmiga na Keilu, a na eclipse już nie. definicje: DEBUG USE_FULL_ASSERT TRACE OS_USE_TRACE_SEMIHOSTING_DEBUG...
Witam, Potrzebuję przebiegu zegarowego 24 MHz, bez żadnych dodatków, po prostu ma cały czas tak tykać. I chciałabym się zapytać jak najprościej do tego podejść czy PWM? a możne dałoby się zrobić REMAPowanie tak, aby podłączyć jakiś z zegarów bezpośrednio do jednego z Pinów? No i najbardziej dręczące mnie pytanie, czy to w ogóle jest możliwe na moim...
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...
Witam Chcę zapisywać z własnego programu dane do flash procesora, jednak program zawiesza się w tym miejscu: [syntax=c]void FLASH_write(void) { FLASH->KEYR = 0x45670123; FLASH->KEYR = 0xCDEF89AB; while(FLASH->SR & FLASH_SR_BSY); FLASH->CR |= FLASH_CR_PER; //Page Erase Set FLASH->AR = Page_60; //Page Address FLASH->CR |= FLASH_CR_STRT; //Start Page Erase...
szczywronek Coś mi się nie podoba w tej prędkości transmisji. SDIO 24MHz 4bit -> efektywnie 12MiB/s -> ~43us/sektor -> ~2,74ms/klaster 32768 bajtów, typowo dla kart >=2GiB. Odczytując ciągle, na pewno możesz odczytywać cały klaster (32KiB), który jest niepodzielną jednostką danych w systemie FAT. Czas oczekiwania na gotowość karty, to typ. 3x0,5ms...
No tak, ale jak jest z szybkością odczytu do 24MHz gdy porównujemy te pamięci? Dokładnie tak, jak napisano w RefMan.
Napisałem kod do mojego pomysłu.. I jak się spodziewałem - nie działa ;P [syntax=c] GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; DMA_InitTypeDef DMA_InitStructure; GPIO_StructInit(&GPIO_InitStructure); TIM_TimeBaseStructInit(&TIM_TimeBaseStru... GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disab...
Witam, znalazlem kawalek funkcji na ustawienie procesora na 72MHz i wydaje mi sie, ze działa bo uzywam system tick do togglowania pinu, ale chce uzyc poprostu funkcji dostarczonych od stm. Na screenie widze ze jest gdzies definicja o ustawieniu procesora typu "STM32F10X_LD_VL" przez co program chodzi na 24MHz. Gdzie ona jest? http://obrazki.elektroda.pl/5784698000_1...
Faktycznie trzeba było zmienić ustawienie z 24MHz na 8MHz (piszę dopiero dziś aby zamknąć temat ale sprawa od dawna rozwiązana).
Gdyby to działało dobrze to chińskie portale handlowe byłyby zarzucone analizatorami na BluePill Nie będą handlować bo BluePill ma full-speed USB a klon Saleae high-speed USB. Mnie tam zużycie RAMu nie przeszkadza. Nie łapałem nigdy więcej jak minutę, zwykle po kilka sekund wystarcza. Próbkowanie 24MHz. (nie BluePillem, jest za wolny)
STM32F100RBT6B Ma max 24Mhz, W zasadzie są podobne tylko u mnie PB1 i PB2 są wykorzystane do przycisków, i nie mam JTAG jako takiego
Jakie zmiany wprowadziłeś w projekcie? Ten z mojej strony pracuje na 72MHz używajac kwarcu 8MHz, a Twój mikrokontroler ma maksymalną częstotliwość pracy 24MHz... Przede wszystkim wyłącz więc całkowicie konfigurację PLL (usuń wywołanie funkcji pll_start() z main()).
[syntax=c]uint32_t wait_states; if (frequency < 24000000ul) // 0 wait states for core speed below 24MHz wait_states = 0; else // 1 wait state for core speed between 24MHz and 48MHz wait_states = 1; FLASH->ACR = wait_states;[/syntax] Pisze się bardzo przyjemnie wystarczą pliki CMISIS Rejestry mają układ. [nazwa peryferia]->[nazwa rejestru] bardzo...
Bez zewnętrznej pamięci będziesz miał małą pamięć próbek. Z drugiej strony przy zakładanym paśmie to możesz to wysyłać przez USB na FT232R (do 2Mbps). Ja bym podszedł inaczej do całości - jest analizator stanów logicznych który przesyła dane przez USB nazywa się Saele (https://www.saleae.com/logic). Klony dostępne na allegro, ebay za 30zł. Może lepiej...
Aktualizacja z września 2025: zobacz tutaj, aby uzyskać szczegółowe informacje na temat konwersji STM32 przez UART zamiast J-Link (tj. J-Link nie jest wymagany) https://www.elektroda.com/rtvforum/viewt... (dzięki (at)max4elektroda!) zobacz tutaj, aby uzyskać wyższą wersję przekonwertowanego oprogramowania CK-Link Lite dla STM32...
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...
Tylko pierwsze 74 impulsy zegara muszą być ~400kHz. Inicjalizacja natywna może być na pełnej prędkości (CMD0 + CMD8 + ACMD41 + CMD11 + ew.CMD59). Może kiedyś napiszę, w sumie trzeba tylko dorzucić kawałek kodu po CMD11 (CMD2 + CMD3 + CMD7 + CMD42 + ACMD6 + CMD6/3 + CMD6/1i4 + CMD19). Też pisałem jakieś 2..1,5 roku temu na Xmega (wszystko w asm) i wtedy...
Witam, Mam następujący problem koncepcyjny: mam mikrokontroler STM32F411 do którego po SPI jest podpięty m.in pomiarowy interfejs analogowy. Co 125us (8kHz) interfejs generuje przerwanie - należy wtedy odczytać z interfejsu 27 bajtów danych. Urządzenie nastawione jest na niski pobór energii (zasilanie bateryjne, procesor taktowany dość nisko - 24MHz)...
Dokładnie. Dzięki. PS. poprawne wartości dla serwo to: timeBaseInit.TIM_Period = 10000; timeBaseInit.TIM_Prescaler = 48; przy 24MHz zegara.
Witam ponownie, mam teraz niezwykłą zagadkę, tak więc posklejałem kawałek kodu który obsługuje USART + Ethernet - program polega jedynie na tym że jak odbierze jakąkolwiek ramkę Ethernetową to powiadomi o niej i wyśle przez RS-232 MAC address nadawcy i odbiorycy (przy czym tutaj kwestia estetyczna jest niedopracowana) - tak czy inaczej kod ten przetestowałem...
To ja dodam podobne pytanie, dla STM32vldiscovery. Migająca diodka i dźwięki typu beeep:). Ustawienia źródła (kwarc 8MHz), pętli PLL (x3=24MHz), ten sam program programowany z Keil działa wg ustawień (Systick 1ms, delay = 1000 daje 1sek. pasuje). Oraz ten sam program .bin (lub .hex) programowany przez STM32 ST_Link Utility i diodka mruga dużo wolniej,...
STM32F100 to linia budżetowa, więc max to 24MHz. STM32F103, ...105 i ...107 pracują na 72MHz. Oprogramowanie do obydwu tych układów będzie na 99% takie samo - zalezy jakie środowisko wybierzesz. 4\/3!!
Mam tą płytkę STM32VL Discovery od kilku dni. Na razie sprawdzałem ją pod Atolliciem free i to środowisko jest dość wrednie ograniczone, nag screeny przy każdym wejściu do debugowania i brak podglądu SFR. Sama płytka fajna, ale procek na niej nie jest zbyt wypasiony, 8kB RAM i 24MHz. Złącze SWD ma zworki na płytce, można odpiąć procek ze startera i...
Dziękuję kolegom za cenne uwagi. Co do wersji z os.mbed.com, to próbowałem ją do siebie przeportować ale niestety efekt był podobny. Poprawiłem kod według wskazówek kolegi Freddie Chopin, przerwanie SysTick jest generowane co 10 us oraz wydłużyłem czasy dla półbajtów, ale efekt jest dalej taki sam. Pojawiło się też słówko volatile. Kod wygląda teraz...
ST produkuje STM32 w wersjach od "ekonomicznej" STM32F100 (24MHz) do "wypasionej" STM32F107(72MHz). Coś mi się obiło o uszy, że jest przygotowywana wersja STM32F108. Nie tak dawno wprowadzili wersje z pamięcią 512kB i więcej FLASH. Wszystkie układy mają identycznie wyprowadzone sygnały. Dlatego trzeba jedynie zwracać uwagę by kupić w odpowiedniej obudowie...
OpenOCD zaktualizowanie tak jak kompilator wcześniej. Przerabiam przykład od początku teraz na bazie tego o którym mówiłeś LPC Będe wklejał tutaj co dokładnie przerabiam. Jeśli coś robię źle to mam nadzieje że mnie poprawicie. Jeśli dobrze to mam nadzieje że komuś się przyda. 1.Import projektu lpc1114_blink_led i rename na stm32f0_blink_led 2. Zmiany...
Dzięki ;) Czyli powinno to wyglądać mniej więcej tak: [syntax=c] //Prescaler fclk = 24MHz/24 = 1MHz TIM1->PSC = 24-1; //Zliczanie od 25(dec) = 25us TIM1->CNT = 25-1; TIM1->ARR = 25-1; //Tryb zliczania w gore, trub powtarzania i wlaczenie licznika TIM1->CR1 = (TIM_CR1_ARPE | TIM_CR1_CEN); [/syntax] Paprocki wypisuje, że artość rejestru CNT jest przepisywana...
Witam, Mam problem z którym już chwilę się borykam. Do STMa mam podłączony czujnik BAR180 z którym już się komunikuje po I2C. Dodatkowo skonfigurowałem ADC w trybie pomiaru jednokrotnego wyzwalanego przez Timer1 co 500µs. Dane z ADC chcę przerzucić do bufora przez DMA. Utworzyłem bufor jako tablicę o 256 pozycjach, ponieważ tyle chciałbym pomiarów....
No litości, od 3 lat steruję WS2812 z STM32 na dwa sposoby bez żadnych bramek i w dodatku przez DMA, czyli bez narzutu programowego w czasie rzeczywistym, a rozwiązanie z SPI dawno opublikowałem. W takim przypadku każdy bit WS2812 koduje się na trzech bitach wysyłanych przez SPI. Ale masz na myśli stary numer z kodowaniem bitu WS2812 na trzech bitach...
Masz racje z tym 36 The PLL configuration (selection of HSI oscillator divided by 2 or HSE oscillator for PLL input clock, and multiplication factor) must be done before enabling the PLL. Once the PLL enabled, these parameters cannot be changed. Może spróbuj funkcji Frediego: [syntax=c] static void flash_latency(uint32_t frequency) { uint32_t wait_states;...
Da się tak ustawić PLL by uzyskać 48MHz na wewnętrznym RC. Testowałem USB na wewnętrznym RC (bez kalibracji HSI) i działało to poprawnie. Czy możesz napisać na jakim to było CPU? Problem jest taki ze na F105 maksymalny PLL to 9x. Czyli wg. schematu z dokumentacji (z 1 mojego postu) sygnal zegoarowy idzie tak. HSI 8mhz -> /2 = 4mhz -> PLL 4*9mhz = 36mhz...
Masz nagłówek "stm32f10x.h" to z niego korzystaj. A nie stawiasz wszędzie (1 << X). Na poniższym przykładzie widać co chce zrobić... nawet nie potrzeba komentarzy, kto już jest obeznany trochę z STM32. [syntax=c]inline void RCC_conf(void){ FLASH->ACR |= FLASH_ACR_LATENCY_0; //set FLASH latency[2:0]=001, one state wait state, if 24MHz < SYSCLK...
#define configCPU_CLOCK_HZ ( ( unsigned long ) 72000000 ) Nie żeby to był specjalny problem, ale STM32F100 to akurat działają na max 24MHz z tego co wiem... #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 19 * 1024 ) ) 19kB na heap, tymczasem większość STM32F100 ma MAŁO RAMu... dodałem również w pliku port.c: Dodaj to po prostu w FreeRTOSConfig.h bardzo...
Ok, więc sprawdzam bit RCC_CIR_CSSF i po wyjęciu kwarcu nie zmienia się jego stan. Chyba powinien. Czy aby ten bit zmieniał wartość trzeba to jakoś dodatkowo uaktywnić? Albo procesor nie widzi wyjęcia kwarcu jako błąd HSE? Dodano po 3 No to jest tak: Inicjalizacja Dodano po 2 Jeszcze można w obsłudze przerwania ustawiać jakąś flagę że było przerwanie...
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...
Nie interesują Cię szybkie ARM'y, ale wymieniasz w zestawieniu produkty Xilinx'a, gdzie można rozprowadzić zegar do kilkuset MHz (; Układy programowalne to nie mikrokontrolery. Zainteresuj się architekturą ARMv7, Cortex'ami. Najtańszy od NXP dostaniesz za ~7zł (LPC1113), a od STM za ~9zł (STM32F100x). I nie są tak od razu jakieś super szybkie np: STM32F100xx...
Witam wszystkich. Po wielu wysiłkach udało mi się skonfigurować środowisko do programowania STM32 w ECLIPSE. Mam jednak problem z konfiguracją projektu z użyciem biblioteki StdPeriph_Driver. Projekt ma zainkludowane pliki: stm32f10x_rcc.h i stm32f10x_flash.h z tej biblioteki w celu skonfigurowania układu taktowania ale nie chce się kompilować. /home/grzegorz/Programowanie/STM32_Toolc...
No kwarc jest ani 8 ani 24 tylko 14,7456 MHz, może faktycznie coś z ustawieniem traktowania magistrali... Predkość jaka wyszła mi na APB1 to 35,9424, czy muszę jakoś przeliczać GPIO_InitStructure.GPIO_Speed bo próbowałem już i przy 2 i 10 i 50..., no i jeszcze I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED mam ustawione na 100k. czy mogę tu wpisać cokolwiek.......
analizator 24mhz at89c2051 24mhz 24mhz generator
excel ilość kolumny schemat regulacja amper własna telewizja analogowa
poddasze ciśnienie mirka deros
Lodówka Electrolux Spencer nie chłodzi, nie mrozi, przelewa wodę Zmywarka Indesit przecieka podczas pracy - przyczyny