Próbowałeś zmieniać JTAG Clock Divider?
czywiście RCC_AHBENR_GPIOEEN nie mam, próbuje zdefiniować. Gdzieś w Internecie znalazłem taką definicję: Kod: c Pozbywaj się bibliotek SPL ale CMISISa zostaw te wszystkie wartości powinieneś mieć zdefiniowane w pliku nagłówkowym stm32f3xx.h lub analogicznie do twojego procesora w innym. Bit IOPEEN to 21-szy bit w rejestrze RCC_AHBENR, stąd maska bitowa:...
Tutaj udokumentuję moją podróż z tanią płytką deweloperską / hobbystyczną STM32F103C8T6 "blue pill" zakupioną w Ali Express. Pomimo układu scalonego oznaczonego jako "STM32F103C8T6", wewnętrzna pamięć flash wydaje się mieć 128k zamiast 64k, co czyni go bardziej podobnym do STM32F103CBT6. Wydaje się, że nie jest to nieoczekiwane w przypadku podróbek/klonów...
And how about reducing debugger's clock speed?
Bzdury piszesz Kolego. Jak wpisałeś kwarc 32768 kHz, czyli 32.768 MHz(!) to nic dziwnego, że program się buntuje i musisz szukać rozwiązania do problemu, który sam stworzyłeś. Nie ma żadnej potrzeby edytowania tej wartości. Dodatkowo, kiedy najedziesz kursorem na pole, to program podaje komunikat o błędzie: "LSE OSC frequency must be = 32.768KHz" Wpisz...
Wszystko masz ładnie wytłumaczone na stronie 707 (Master Mode). Może zegar za mały na I2C: The peripheral input clock frequency must be at least: 2 MHz in Standard mode 4 MHz in Fast mode Może nie nadajesz Start itp. Trudno powiedzieć pokaż więcej, a najlepiej skonfiguruj sam na rejestrach (jeśli tak nie masz) na podstawie tego rozdziału. EDIT....
Niestety nie pomogło Teraz proc wyłącza się po 40 s Myślę , że jest jakaś niezgodność CB32 z STM32
Ta linijka chyba ustawia: Z dokumentacji ARM:
W "Reference manual" masz podrozdział "22.6.8 I2C Clock control register (I2C_CCR)". Za pomocą tego rejestru ustawiasz parametry zegara w odniesieniu do częstotliwości magistrali.
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
No i tak i nie, kiedy wpisywałem np. RCC_APB1ENR_PWREN to nie było, a było RCC_APB1Periph_PWREN. Ale być może mam nie te pliki .h dołączone. No chyba, bo w tym pliku o którym ja mówię jest np. #define RCC_APB1ENR_PWREN ((uint32_t)0x10000000) /*!< Power interface clock enable */ stm32f10x.h Co do reszty, to w ostateczności można popatrzeć jak to...
W takim ustawieniu zapodaj 3.3V na NSS, lub ustaw SSM oraz SSI na 1 i sprawdź czy zadziała. Jeśli nie, ustaw rejestry według poniższego przepisu. Configuring the SPI in master mode In the master configuration, the serial clock is generated on the SCK pin. Procedure 1. Select the BR[2:0] bits to define the serial clock baud rate (see...
Ponieważ np. I2C komunikuje się z urządzeniem zewnętrznym przez piny GPIO ustawionymi jako alternatywna funkcja pinu AFIO i dlatego trzeba te bloki włączyć ..najoględniej mówiąc. Najogólniej mówiąc to AFIO służy jedynie do remapowania pinów i pierwsze słyszę, że należy je włączać dla I2C, ADC etc. Zegar należy włączyć dla GPIO i dla danego peryferium....
Będzie, wystarczą 3 piny - data clock i gnd do zrównania potencjałów.
Masz zaj***ty kwarc skoro: 1) potrafi podjac sam decyzje na jakiej predkosci wstanie (inteligentny, nie?) 2) ma wbudowanego PLLa (??) 3) Szybki ten twoj kwarc... Rozroznij ZEGAR mikrokontrolera od KWARCU na podstawie ktorego generowany jest ten zegar... Skoro twoj mikrokontroler WSTAJE, ale czasami na 8MHz a czasami na 72MHz, to HSE rusza zawsze, ale...
ale co można jeszcze ustawiać To co jak byk pisze w DS? "Dummy Clock Cycle" dla komend które tego wymagają (0x04) Albert
Ściągnij sobie szablon ze strony www.freddiechopin.info i zobacz jak się konfiguruje rcc żeby hulało z hse. Porównaj to z notą. Możesz też w nocie w sekcji clocks poszukać takiego czegoś jak clock tree - wtedy załapiesz co w jakiej kolejności powinno być skonfigurowane. Jaki masz układ ? Jesteś pewien, że może działać na 72MHz ? :)
Uruchomiłem poniższy kod na CubeIDE na płytce z mikrokontrolerem F407VET i przerwanie od DMA ładnie tu działa. Z F030 muszę niestety jeszcze powalczyć. Zauważyłem, że jak nie dodałem warunku while((SPI1->SR & SPI_SR_BSY) == 0) obraz był przekoszony, czyli były błędy w transmisji. https://obrazki.elektroda.pl/1742074200_...
Np. czujnik temperatury i wilgotności Sensirion SHT2x w jednym z trybów: Co i tak nie zmienia problemu Autora. Jego slave działa nieprawidłłowo. Zakładam też że diagnoza jest prawidłowa i to SCL jest trzymany a nie SDA. Bo takie zwiechy po resecie mastera właśnie tak wyglądają. I wdety "do-clock-owanie" załatwia sprawę.
CubeMX nie ma problemów z kanałami TIM1CH1, 2 i 3 przy włączonym USB. Wybierz Clock Souce - Internal Clock.
Dzięki freedi miałeś racje. Patrzyłem na kolejność przerwań w tabeli f0 ale nie na adresy. Aby zapełnić luki i poprzesuwać adresy dodałem brakujące reserved handler Dodano po 11 Teraz tylko muszę rozwiązać skąd mi przerwań multum nadchodzi i w nierównych odstępach od timera. Bo pwm wyprowadzone jest na jedną diodę a przerwanie zmienia stan innej diody....
Kod: [syntax=c]/** ****************************************... * (at)file system_stm32f0xx.c * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 23-March-2012 * (at)brief CMSIS Cortex-M0 Device Peripheral Access Layer System Source File. * This file contains the system clock configuration for STM32F0xx...
Skąd wziąłeś pomysł na wstawki z FLASH->ACR? Czytam RM0401 Jest dedykowany do tego rozdział: 3.4.1 Relation between CPU clock frequency and Flash memory read time Latency zależy od częstotliwości taktowania oraz napięcia zasilania, tak w skrócie. Co do ustawień zegara dla STM32 to warto zapamiętać sobie schemat działania, który wynika bezpośrednio...
Mam płytkę ZL27ARM oraz STM32F0Discovery. Chcę za pomocą ZL27ARM i komunikacji SPI sterować jasnością diody na płytce discovery. Wartość od 0 do 100 ma "przychodzić" poprzez SPI i ma być wpisywana do licznika TIM3, który za pomocą PWM steruje jasnością diody LED. Program się kompiluje, ale płytka discovery nie reaguje na dane z SPI. Przy debugowaniu...
W STM32 takie rzeczy nie miałyby prawa się dziać - wystarczy zaznaczyć connect under reset ;)
GPIOD->AFR A cóż to ma wg Ciebie robić? Przecież masz ustawić na ostatnich 4 bitach (PD15) liczbę 2 - co odpowiada AF2, zatem: Dodano po 14 Jeszcze tu masz błąd: TIM4->CCR1 = 50; Powinno być: TIM4->CCR4 = 50; Dodano po 1 Działający kod wygląda tak: [syntax=c] RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; RCC->APB1ENR |= RCC_APB1ENR_TIM4EN; //...
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"...
Pozwalam sobie odkopać temat, gdyż jest to jeden z niewielu o kalibracji ADC i pewnie sporo osób tu trafia (tak jak i ja). "Fakty" się zmieniły - stąd aktualizacja ;) Od czerwca 2014 "sporny" zapis w Reference Manual'u (RM0008): Before starting a calibration the ADC must have been in power-off state (ADON bit = ‘0’) for at least two ADC...
Witam. Poskładałem Jtaga ze strony Freediego Chopina. Niestety nie mogę zaprogramować targeta(płytka HY-Mini z STM32F103VCT6). Wszystko jest konfigurowane wg tutoriala. To pokazuje mi konsola eclipse: Open On-Chip Debugger 0.5.0 (2011-08-09-23:26) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxyge...
Witam. Dopiero zaczynam przygodę z STM, więc proszę o wyrozumiałość. Używam linuxa ubuntu 18.04. Zainstalowałem System Workbench i ustawiłem reguły dotyczące programatora ST-Link/V2 oraz wykonałem update firmware. Programator znajduje się na płytce "STM32 NUCLEO-F446RE". Po utworzeniu przykładowego projektu dla tej płytki jestem w stanie wgrać wsad...
Witam, Niedawno przesiadłem się na programowanie STM32, z arduino, i już na samym początku spotkałem problemy. Aby nie było niedociągnięć że robię coś źle, opisze wszystko jak mam ustawione. Posiadam moduł STM32F103C8T6 ARM STM32 Cortex-M3 oraz programator ST-LINK STLINK V2. Piny podłączone następująco: ST-Link - Moduł 3.3V - 3V3 SWCLK - SWCLK GND -...
W main.c czarów nie ma , bo stworzyłem nowy projekt golasa na potrzebę uproszczenia szukania problemu. Nie jestem programistą ani elektronikiem ,a do sprawy podchodzę hobbistycznie jako początkujący. Korzystam z System Workbenach for stm32 + Stm32CubeMX z bibliotekami HAL. Cube szykuje wszystko po czym ja tylko dodaję funkcję HAL_SYSTICK_Callback. plik...
Witam, muszę zaimplementować dekoder protokołu RC-5 z pilotów na podczerwień. Zamiast pisać wszystko od początku, postanowiłem skorzystać z gotowego kodu przeznaczonego dla jednej z płytek ewaluacyjnych STM'a - oto paczka z kodem biblioteki i przykładowym projektem http://www.st.com/internet/com/SOFTWARE_...
Niestety, program działa tak jak zakładam dopiero, kiedy preskaler jeszcze pomnożę x8 (56) a dzielnik szyny APB1 ustawię na 8 tak jak poniżej: Nie wgryzałem się dokładnie w Twój opis, ale obstawiam standardowy problem przy pierwszym podejściu do timerów, którego rozwiązanie znajduje się pod obrazkiem "Figure 8. Clock tree", w rozdziale "7. Low-, medium-,...
Mógłby ktoś napisać obsługę tego timera ? Widzę przykłady w internecie ale bez zrozumienia. [syntax=c]//niezbędne pliki nagłówkowe #include <stddef.h> #include "stm32f10x.h" //DEFINICJE PREPROCESORA //CCMRx #define OC3M_0 (1<<4) #define OC3M_1 (1<<5) #define OC3M_2 (1<<6) #define OC4M_0 (1<<12) #define OC4M_1 (1<<13)...
Było (jakieś milion razy) (; W manualu znajdujesz rozdział RCC, Clocks, a w nim coś takiego na samym końcu (pod obrazkiem Clock Tree): The timer clock frequencies are automatically fixed by hardware. There are two cases: 1. if the APB prescaler is 1, the timer clock frequencies are set to the same frequency as that of the APB domain to which the timers...
Witam! Chciałem sobie zrobić prosty Counter zliczający ilość wciśnięć przycisku podpiętego do wejścia PA0. Skorzystałem z przykładu który zamieszczam poniżej. Niestety mój prosty Counter nie zlicza naciśnięć i zmienna cnt cały czas wynosi 0. Mam takie podejrzenie że przycisk nie jest programowo połączony z TIM2 tzn w funkcja TIM_TIxExternalClockConfig(TIM2,...
Może zbyt namieszałem. Zasadniczo chodzi po prostu o to jak stworzyć projekt w SW4STM, który nie zawierałby tych wszystkich śmieci z SPL i HAL i dało się pisać na rejestrach. Taki czysty podstawowy projekt pod rejestry z tylko niezbędnymi rzeczami jak w przypadku pisania na AVRy. Ja robię to tak: I. Potrzebne narzędzia: 1. System Workbench for STM32...
Jakaś różnica musi być skoro na oryginale działa a na tym nie. Gruntownie rok temu na nim działałem i wszystko grało wiec pewnie coś z wgrywanym programem ale skoro daje sie programować na oryginalnym STlinku to nie będę sobie robić problemów z tym chińskim. Pod spodem podaje kod wygenerowany przez Stm32CubeIde z dopisanymi 4 liniami moimi czy miganie...
Embedded boot loader The embedded boot loader is located in the System memory, programmed by ST during production. It is used to reprogram the Flash memory with one of the available serial interfaces: ● In low-, medium- and high-density devices the bootoader is activated through the USART1 interface. ● In XL-density devices the boot loader...
Ok no to zaczynamy na początku (po konfiguracji itp.) powinieneś mieć coś takiego: [syntax=c] if (BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5) /* Sprawdzamy czy trzeba ustawić zegarek */ { /* Zawartosć licznika RTC nie jest prawidłowa, należy ustawić zegar */ /* Konfiguracja oscylatora, preskalera itp. */ RTC_Configuration(); /* Funkcja w której ustawiasz...
Jeszcze chwila a przepełni Ci się licznik pomógł! Pamiętasz co napisałem o sprawach będących dla Ciebie tak oczywiste jak oddychanie? Wspomniałeś o możliwości grzebania w cfg i proszę-pomogła zmiana adresu lpt w pliku cfg. Teraz mam juz coś takiego-może parę słów komentaża, żebym mógł zacząć poszukiwania pełniejszej wiedzy. Open On-Chip Debugger 0.2.0...
Witam bardzo serdeczenie, pisząc bibliotekę na akcelerometr ADXL345, na mikrokontrolerze STM32F103C8T6 (BluePill), napotkałem problem. Tak jak w temacie chodzi o "UsageFault_Handler" w który to program wskakuje zaraz po obsłudze funkcji "ADXL345_readReg " lub "ADXL345_writeReg " . Właściwie to tyle co udało mi się ustalić jak do tej pory :). Zwykle...
Eclipse CPP Juno SR1 - świeżo wypakowane od nowa Katalog Workspace - Wyczyszczony Projekt wypakowany do innego katalogu niz Workspace Odpalamy Eclipse Ustawiamy Workspace na C:\_Prog\Workspace Zamykamy ekran powitalny. File->Import->General->Existing Project into Workspace Wskazuję plik z archiwum projektu. Projekt został dodany Sprawdzam ustawienia...
Możesz podać jakiś przykład tego układu 4021? Wszystkie jest opisane w linkach krok po kroku. Z Arduino (CHIP ATmega32u4) Leonardo/Micro Pro za pomocą 5 kabli (GND -masa, Vcc +5V, Clock, CloCK, Q8-dataPIN, P/SC )podłączasz do układu 4021 (rejestr przesuwny). W taki sposób oszczędzasz wolne piny na Arduino(ATmedze). Mozesz do jednego układu 4021 podłączać...
Hmm, tylko że ja korzystam z OpenOCD i eclipse więc tam nie ma za dużo opcji (nie mogę wybrać ani JTAG ani SWD ani pozostałych parametrów o których piszesz. Myślałem, że to coś jest źle skonfigurowane w eclipse. Wszystko o czym napisał BlueDraco można skonfigurować w OpenOCD. Wielkie dzięki za naprowadzenie. Zacząłem przeglądać configi i faktycznie...
Biblioteka Arduino do obsługi Rtc dla Nucleo. Dodano po 2 Aby obsłużyć RTC (Real-Time Clock) na płytce Nucleo przy użyciu Arduino, zalecam skorzystanie z biblioteki STM32RTC , która jest specjalnie zaprojektowana do pracy z mikrokontrolerami STM32, w tym płytkami Nucleo. Poniżej znajdziesz szczegółowe kroki, jak zainstalować i używać tej biblioteki....
Mam mikrokontroler stm32f103rb. Chciałbym wystawić stan wysoki na pin PA10. Oto kod: [syntax=cpp] #include "stm32f10x_conf.h" #include "stm32f10x_gpio.h" #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" #include "misc.h" GPIO_InitTypeDef GPIO_InitStruct;//inicjalizacja void clock_init(void) ; int main(void) { clock_init()...
Tylko tego keila nie potrafię za bardzo okiełznać. CoIde wydaje się prostszy. W sumie trzeba tylko wskazać mu ścieżkę do toolchaina. Jak dla mnie może być i Keil, tylko żebym wiedział po kolei co i jak zrobić dla mojego procka, tj 302, gdyż nie czuję się na siłach jeszcze skorygować definicję modułu RCC (nawet nie wiem, co to jest?) dla ST32F429. Producent...
good day i m catch signal for NSS and SCK . It works in wrong way http://obrazki.elektroda.pl/7826648700_1... What should i do? description programm:NSS -low , delay then NSS-high OSC yellow - NSS. blue - sck. When i push Reset button clock is going, when i realise button - clock is stopping, NSS -low, delay, up
Panowie mam chyba zaćmienie , pomroczność jasną albo skutki Covid-19. Procesor STM32L552 STM32CugeIDE i HAL Mam zmierzyć częstotliwość sygnału prostokątnego ok. 2,8 – 3,1 MHz FCPU 100 MHz Licznik Tim2 kanał 1 Clock source - InternalClock Channel 1 - Input Capture direct mode Tim2 global interrupt - enabled. Przerwanie działa void HAL_TIM_IC_CaptureCallback(TIM_Handl...
Witam, Jestem dość początkujący jeśli chodzi o STMy dlatego proszę o wyrozumiałość. Do pamięci flash procesora wrzuciłem kod, który prawdopodobnie zawiesza procesor. Od tego momentu nie mogę się połączyć z uC używając OpenOCD. Komunikat j/n: D:\ARM\openocd-0.5.0\bin>openocd-... -f interface/olimex-arm-usb-ocd.cfg - f target/stm32f1x.cfg...
Witam, a więc działam sobie na płytce ZL31 z kamami, w wersji z odłączonym st-linkiem, za programator i debugger służy mi jtag-arm z andtechu, jest to urządzenie na bazie ft2232. Soft to toolchain skonfigurowany podług tutka freddiego chopina. Wszystko ładnie działało jak trzeba do dzisiaj, gdy w którymś momencie zauważyłem, że skompilowany program...
Witam, Nie wiem co kryje ta funkcja: [syntax=c]gpio_pin_cfg(GPIOA, GPIO_Pin_4, GPIO_AF5_PP_50MHz); // NSS[/syntax] ale jak używasz SPL to GPIO_Pin_4 =4 a nie [syntax=c]#define GPIO_Pin_4 ((uint16_t)0x0010[/syntax] albo napisz np tak: [syntax=c] /* Connect SPI pins to AF5 */ GPIOA->AFR[0]&= 0x000FFFFF; GPIOA->AFR[0]|= 0x55500000;[/syntax] albo [syntax=c]gpio_pin_cfg(GPIOA,...
Ok, zegar i podtrzymanie działa. Problem tylko jest taki, że od 16 do teraz (6h) zegar "zgubił" jakieś 10 sekund. Da się temu jakoś zaradzić? Ponadto muszę zrobić mniej więcej 10ms opóźnienia (widoczne w kodzie), bo bez tego czasami zegar nie rusza. Jest jakieś wyjaśnienie na to i lepsze rozwiązanie niż sztywny delay? Teraz mój kod inicjowania RTC wygląda...
Już to kilka razy wrzucałem, ale u siebie mam tak: [syntax=C] io_pin_cfg(SDA_GPIO, SDA_pin, m_GPIO_MODE_CNF_value(GPIO_CRx_MODE_OUT_... GPIO_CRx_CNF_ALT_OD_value));// SDA - alt output, open-drain, 10M io_pin_cfg(SCL_GPIO, SCL_pin, m_GPIO_MODE_CNF_value(GPIO_CRx_MODE_OUT_... GPIO_CRx_CNF_ALT_OD_value));// SCL - alt output, open-drain, 10M...
Witam. Ostanio próbuję uruchomić obsługę wyświetlacza ILI9341 na STM32. Pod STM32F072 działał wyśmienicie, lecz na STM32F103 już nie. Największym problemem było to że wcześniej ST inaczej rozumiało ideę pinu NSS, więc musiałem zrealizować go programowo, ale to dalej nie pozwala mi na prawidłową komunikację z wyświetlaczem. Za pomocą analizatora stanów...
Witam. Posiadam STM32F4-discovery, do którego chciałbym podłączyć kartę SD poprzez interfejs SDIO. [syntax=c]#include "stm32f4xx.h" // Device header int main(){ //////////////// SDIO ////////////////// // USED: // PORTC -> AF12 -> PC[12:8] // PORTD -> AF12 -> PD[2] ////////// GPIO CONFIG ////////// ///// Enable clock for SDIO ports RCC->AHB1ENR...
Reference manual: 8.2.8 RTC clock whereas the HSE and LSI clocks are not .
Witam niedawno rozpocząłem przygodę z STM32. Korzystam z zestawu uruchomieniowego olimexp103 w którym zamontowany jest przycisk normalnie otwarty podpisany "wake up". Chciałbym go użyć do moich prostych programików, jest to możliwe czy jest on przeznaczony do innych celów? Jeżeli jest możliwe użycie go do prostych programów to poniżej opisuję mój problem,...
Boję się, że sąsiednie bity portu doznają krzywdy. Zaproponowany kod nie zmieni ustawienia pozostałych bitów, więc tu się nie musisz obawiać. Przy każdym najdzikszym zastosowaniu / zaprogramowaniu, na wyjscie / odbiór / open dren / trzeci stan i co wszyscy święci wymyślili ? ? W czasach dinozaurów (rodzina Inte 8080 / kontrolery 85xxx) to były konteksty,...
Tak już widzę te tłumy czychające na Twój kod z polskojęzycznej strony. Jak poszukasz to znajdziesz np. tłumaczenia na rosyjski. Jeden z przykładów: https://radioparty.ru/device/stm/693-clo... z tego tematu: https://www.elektroda.pl/rtvforum/topic3... Autor ze schematu usunięty. Wskaż mi tylko jeden taki przykład w którym ktoś...
Witam, próbuję uruchomić program napisany przez Freddie'go Chopin'a, na procku STM32F103R wlutowanym w moduł MMstm32F103R http://www.propox.com/products/t_174.htm... na płycie ewaluacyjnej EVBmm http://www.propox.com/products/t_183.htm... Zainstalowałem oprogramowanie, sterowniki, Eclipse, openocd itp. według instrukcji umieszczonej na stronie Freddiego....
Witam Mam problem z obsłużeniem enkodera w programie - brak jakiejkolwiek odczytanej wartości. Enkoder to (201935): http://www.maxonmotor.com/medias/sys_mas... [syntax=c]void encoder_timer_config(void) { gpio_pin_cfg(ENCODER_PORT, ENCODER_LEFT_A, ENCODER_PORT_MODE); gpio_pin_cfg(ENCODER_PORT, ENCODER_LEFT_B, ENCODER_PORT_MODE);...
Czyli w poniższym artykule są błędy? [url=link]https://forbot.pl/blog/kurs-st... Jest tam wzór: INT_FREQ = TIM_CLK/(ARR+1)(PSC+1)(CKD+1) Tak jest TIM_CLOCKDIVISION_DIV w CubeMX zdefiniowany:[syntax=c]#define TIM_CLOCKDIVISION_DIV1 0x00000000U #define TIM_CLOCKDIVISION_DIV2 (TIM_CR1_CKD_0) #define TIM_CLOCKDIVISION_DIV4...
Sprawdzalem, co jest w rejestrach SystTicka: Pod adresem 0E000E010 jest wartosc 07 00 00 00 (po skonfigurowaniu) i 07 00 01 00 (po odliczeniu czasu) - czyli OK Może ktoś ma pomysł o co chodzi? Czy czegoś brakuje? Nie jest OK! Zamiast 07 powinno być 03 ! SysTick control and status register (STK_CTRL) Bits 31:17 Reserved, must be kept cleared. Bit 16...
W RCC->CFGR ustaw preskaler dla głównego clocka ADC, to raz. Skąd on jest brany - RM - clock tree. Dwa - możliwe (a raczej pewne), że ADON trzeba będzie 2x ustawiać - odsyłam do opisu rejestrów w RM dlaczego. Trzy - sampling time: szukaj w RM "channel-by-channel programmable sample time", aczolwiek nie jest to krytyczne. Cztery ustaw odp. kanał w SQR1...3...
Witam wszystkich serdecznie! Potrzebuję pomocy z pewnym zadaniem z systemów wbudowanych, 4 rok studiów. Programuję w języku C środowisku CooCox CoIDE procesor STM32F103ZET6 użyty w module HY-RedBull_V3 posiadający 3,5-calowy ekran dotykowy TFT LCD HY35A (kontroler LCD SSD1963, kontroler ekranu dotykowego ADS7843 lub XPT2046), który ma wykonać poniższe...
Wyłączyłem optymalizacje. Wprowadziłem zmiany w startup. http://obrazki.elektroda.pl/7964964200_1... Main wygląda tak: [syntax=c]int main(int argc, char* argv[]) { // At this stage the system clock should have already been configured // at high speed. int x=0; x+=10; // Infinite loop while (1) { ++x;// Add your code here. } }[/syntax]...
Podaj zawartości jeszcze rejestrów od zegara itp, to tajemnica 72MHz się wyjaśni :) Oto kod inicjalizacji SPI1 void spi_init (void) { SPI_InitTypeDef SPI_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; /* Configure SPI1 pins: SCK, MISO and MOSI ---------------------------------*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_7;...
witam ponownie, po dłuższym czasie walczenia z uruchomieniem mikrofonu i odtworzeniem nagranego dźwięku niestety nie udało mi się osiągnąć zamierzonego celu. Po poszukiwaniach w internecie znalazłem pomoc na forum ST pewnego użytkownika jednak również po jego instrukcjach występuje kilka błędów. Instrukacja zgodnie z którą próbowałem uruchomić mikrofon...
Według noty powinno być 0x04 dla HSI, dla HSE jest 0x08. Ja używam HSI, tj. 16MHz. Kod: /** * (at)brief Returns the clock source used as system clock. * (at)param None * (at)retval The clock source used as system clock. The returned value can be one * of the following values: * - 0x00: MSI used as system clock * ...
Witam wszystkich, Jestem nowy jeśli chodzi o ARM, dlatego proszę o wyrozumiałość. Jako środowisko w którym chciałbym rozpocząć naukę programowania stm32 wybrałem corssworks. Kupiłem JTAG-lock-pick od Freiddiego i płytkę ewaluacyjną z STM32F103. Niestety nie mogę się połączyć z procesorem. JTAG został zainstalowany pomyślnie, crossworks go wykrywa jako...
Udalo mi sie napisac dzialajaca bibloteke. Problem byl jedynie z obsluga urzadzenie, jego statusu, configu. Jednak dla mnie to nie byl maly problem i ciesze sie ze w koncu to rozwiazalem. Oto kod i krotki film: https://filmy.elektroda.pl/51_1352475444...
Cube nie wygenerował odpowiednio kodu funkcji: [syntax=c]static void MX_GPIO_Init(void)[/syntax] na podstawie starannie "wyklikanej" konfiguracji. Funkcja do inicjalizacji GPIO powinna wyglądać następująco: [syntax=c] static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE();...
Rozwiązaniem problemu, może być pytanie czy jest sens tak wysokich częstotliwości z tych PLL. Te PLL są dedykowane, układy na nich pracujące zapewne nie będą pracować i tak powyżej pewnej częstotliwości, albo nie ma to sensu. z rm • PLLI2S is used to generate an accurate clock to achieve high-quality audio performance on the I2S, SAIs and SPDIFRX...
Niestety nie pomogło EDIT: Spróbowałem wygenerować za pomocą STM32CubeMX i napisać w HAL'u kod który by wysyłał cyklicznie dowolną ramkę CAN. Oto mój kod napisany w AC6 System Workbench: http://obrazki.elektroda.pl/9453638400_1... Przy okazji: 1. Jak wgrać program przez JTAG'a w AC6? 2. Da się dodać bibliotekę HAL do COIDE CooCox'a?...
zujnik jest podłączony bez rezystorów wzmacniających, ponieważ odczytałem ze schematu, że nie są potrzebne(próbowałem także z rezystorami 4k7). Przy sprawdzeniu bufora z danymi w programie Stm Studio, nic się nie zmienia a flaga busy jest ustawiona jedynie przy odłączeniu kabla SDA od czujnika. Proszę o pomoc w znalezieniu przyczyny braku odczytu i...
U siebie I2C konfiguruje tak: io_pin_cfg(SDA_GPIO, SDA_pin, m_GPIO_MODE_CNF_value(GPIO_CRx_MODE_... GPIO_CRx_CNF_ALT_OD_value));// SDA - alt output, open-drain, 10M io_pin_cfg(SCL_GPIO, SCL_pin, m_GPIO_MODE_CNF_value(GPIO_CRx_MODE_... GPIO_CRx_CNF_ALT_OD_value));// SCL - alt output, open-drain, 10M...
Witam, modyfikuję bibliotekę pod klawiaturę matrycową 4x4. W funkcji "Keypad4x4_ChangeColomn" dla określonego warunku należy zmieniać ustawienia pinów z PushPull na Oped Drain. Wszystko funkcjonuje dobrze : dla pierwszego warunku "if(colNum_0_to_3==0)" bity w rejestrze zostają ustawione poprawnie, jednak dla kolejnych warunków pozostają one bez zmian,...
Witam. Ubuntu + eclipse + openocd + arm-none-eabi-gdb Płytka jak tu: http://www.microcontroller-project.com/g... Programator jak tu: http://propix.com.pl/pl/p/ST-LINK-V2-SWD... Wersja działająca: Uruchamiam openocd tak: [syntax=bash]openocd -f /usr/local/share/openocd/scripts/interfa... -f /usr/local/share/openocd/scripts/target/...
Chyba coś średnio, bo mówiłem, że mieszasz kontrolę software'ową z hardware'ową i dalej tak masz. Skoro sterujesz pinem SS ręcznie, to powinieneś bit SSM ustawić i do tego jeszcze ustawic bit SSI. U siebie mam ustawione tak jak poniżej, tyle że korzystam z DMA. [syntax=C]io_pin_cfg(GPIO_SPI_MISO, SPI_MISO_pin, m_GPIO_MODE_CNF_value(GPIO_CRx_MODE_IN_v...
Pracuje obecnie na tym nowym discovery z F7 na pokladzie, chociaz rejestry z tego co widze ma te same co F4. Przyszla pora na uruchomienie RTC za pomoca wbudowanego tam kwarcu 32.768 khz i zupelnie nawet nie moge go wlaczyc. Moglby ktos zerknac co robie nie tak? HSE i glowne PLL dzialaja dobrze [syntax=c] void RCC_Init() { RCC->CR = RCC->CR = RCC_CR_HSITRIM...
To sprawdź jak to jest w tym układzie, wprowadzę odpowiednie zmiany do mojego RTOSa jeśli faktycznie by się nie dało ustawić tego "reference clock". Wygląda na to, że w tym temacie wśród producentów uC opartych na Cortex-M panuje dowolność. Źródło: TEXAS INSTRUMENTS Stellaris LM4F120H5QR Microcontroller DATA SHEET Clock Source (CLK_SRC) Value Description...
Odnawiam ten post, bo zrezygnowałem ze sprzętowej komunikacji SPI1 na rzecz jej programowego odpowiednika. Sztuka się udała wszystko działa jak należy. Mam tylko jedno pytanie odnośnie częstotliwości. W PDF żyra wyczytałem ze maksymalna częstotliwość to 10MHz a u mnie idzie w pętli na pełen zegar 72 MHz i tutaj pojawia się to pytanie najważniejsze jak...
Biblioteki ? Nie, na pewno nie :) Ale możesz użyć makr dostępnych w CMSIS. Wygląda to mniej więcej tak: [syntax=c] RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; // enable clock for alternate function AFIO->EXTICR[0] = AFIO_EXTICR1_EXTI3_PA; AFIO->EXTICR[2] = AFIO_EXTICR3_EXTI8_PA; NVIC->ISER[0] = NVIC_ISER_SETENA_9 | NVIC_ISER_SETENA_23; EXTI->IMR = EXTI_IMR_MR3...
Spróbowałem maski, ale też wspomniałem, że dokładnie takim samym błędem kończy się poszczególne ustawianie bitów jak robię to na całej reszcie rejestrów. Salmona widziałem, z tym, że on korzystał z STM32 C031, co prawda dokumentacja z której korzystał jak na razie pokrywa się, tak jemu sterowanie diodą zadziałało od razu, tak mi już nie działa. Inna...
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...
Ciągle nic. Nie mogę zacząć debugowania ba cały czas dostaje śmieci jak poniżej. Może Freddie masz pomysł co jeszcze mogę pozmieniać? G:\arm\openocd\tcl>openocd -f interface/rlink.cfg -f board/stm32f10x_128k_eval.c fg -c "jtag_khz 300" Open On-Chip Debugger 0.4.0 (2010-07-27-20:27) Licensed under GNU GPL v2 For bug reports,...
dzięki za podpowiedź choć akurat dla STM32F107 jest to troszkę bardziej pogmatwane, konfiguracja z uwzględnieniem magistrali dla I2S wyszła tak, ale pytanie czy tak jest na prawdę pozostaje otwarte.... [syntax=c][/syntax]void RCC_traktowanie(void) { //reset ustawien do wartoci domylnych RCC_DeInit(); /*właczanie rezonatora zewnetrznego*/ RCC_HSEConfig(RCC_HSE_ON);...
Witam, Na początku chciałem zaznaczyć ze jestem początkujący jeśli chodzi o procesory typu ARM, a tym bardziej o obsługę FreeRTOS. Mam problem z obsługą magistrali CAN pod tym system. Wykorzystuje biblioteki pobrane ze strony www.freertos.org . Niby wszystko ładnie się kompiluje ale na magistrali nic się nie pojawia . Odpaliłem proste zadania typu miganie...
Po podłączeniu dostaję takie błędy od OpenOCD: Open On-Chip Debugger 0.5.0-dev (2011-06-07-18:11) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxyge... Info : only one transport option; autoselect 'jtag' 1000 kHz adapter_nsrst_delay: 100 jtag_ntrst_delay: 100 #0 : stm32.flash...
Wykonałem próbę pracy z watchpoint-ami, za pomocą nowej (rozwojowej) wersji OpenOCD 0.4.0-rc2 i telnetu. Już wykonanie komendy: "wp 0x20000e04 4 r 10 0xffffffff" (gdzie 0x20000e04 adres zmiennej typu int), powoduje błąd: openocd-0.4.0-rc2.exe -f interface/kt-link.cfg -f target/stm32.cfg -c "jtag_khz 1000" Open On-Chip Debugger 0.4.0-rc2 (2010-02-14-10:00)...
(at)Piotrus_999 Tak masz racje patrzyłem na STM32F401RE. Ale i tak problem jest dalej z USART3. Poruszałem już ten temat tylko że z tego co pamiętam to jest jakiś problem na NUCLEO i nie uruchomie usarta3 na pinach PB10 i PB11. Konfiguracje mam taka: Dodano po 3 Próbowałem zrobić na alternatywnych pinach PC10 i PC11, w konfiguracji zmieniłem na port...
Faktycznie, a to ciekawa sprawa, bo te fragmenty kodu są wygenerowane automatycznie przez STM32CubeMX. Automatycznie owszem, ale ja bym tu jednak rozważył "czynnik ludzki" w błędnym wskazaniu portu w CubeMx. Ale może przemilczmy to. Spróbowałem zmienić wszędzie zarówno na GPIOD jak i na GPIOB, w żadnym wypadku dioda się niestety nie zaświeciła. Diody...
Zerknij na "Clock tree" w RM. Sygnał zegarowy dla liczników TIM2,3...7 przechodzi przez bloczek podwajający częstotliwość jeśli preskaler dla APB1 jest różny od 1. http://obrazki.elektroda.pl/3624660300_1...
Nawet przy czytaniu rejestrów flash, np. READ_BIT((FLASH->ACR), FLASH_ACR_LATENCY) wyrzuca hard_fault. Przecież ten kod generuje Cube, Clocki zmieniałem wewnętrzne HSI, zewnętrzne HSE. Taki sam objaw, Dodano po 1 Udostępniam w załączniku pusty projekt z tym problemem. Cały kod wygenerowany tylko przez CubeIde. Pomóżcie :).
wpisuje 1600000. Częstotliwość układu 62,5MHz. Z tego wynika że częstotliwość mrygania to 39Hz ( co można zaobserwować szybkim mryganiem). Natomiast jeśli by dzieliło przez 8, częstotliwość mrygania byłaby znacznie mniejsza. Znalazłem coś takiego: Indicates whether the device provides a reference clock to the processor: 0 = reference clock provided...
Szanowni Forumowicze, Mam problem z Virtual Port COM. Używam procesora STM32F103VBT6. Na nim chcę zrobić taki sterownik uniwersalny kilka wejść wyjść oraz USB do wysyłania komend i odczytu stanu wejść i wyjść. Chcę zrobić to tak że np mam wyjście powiedzmy PA0 i jest tam podłączona dioda i po wysłaniu komendy "LEDON" włączy się. Niestety mając do dyspozycji...
Kod: [syntax=c] /************************* * stm32 uart main.c *************************/ #include "stm32f10x.h" #include "stm32f10x_flash.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include "stdint.h" #include "misc.h" #define CLK_FREQ 36000000 /* User defined function prototypes */ void GPIOA_Init(void);...
stm32 clock stm32 external clock stm32 system clock
farelka wiatrak makro tabela przestawny sterowniki plyty głównej
telefunken czarny ekran mikrokomputer cobra1
Wyświetlacz Frigo - problemy i rozwiązania Brak obrazu, dźwięk i znak Polsatu - przyczyny