1. Przeczytaj dokładnie w manualu co robi ten bit. Kilka stron wcześniej masz obrazki które doskonale pokazują po co on jest. On tylko włącza bądź wyłącza buforowanie, a nie przeładowywanie czegokolwiek. 2. Rejestr ten w Twoim przypadku nie ma wpływu na częstotliwość, bo jego wartość ustawiona jest po prostu na połowę okresu timera, równie dobrze mogłaby...
Pokaż log kompilacji po zrobieniu "clean".
Debouncing w przerwaniu - tylko nie mów, że robisz to przez aktywne oczekiwanie wewnątrz przerwania. Jeśli tak, to zauważ, że to, że skasowałeś flagę przerwania i jesteś w przerwaniu wcale nie oznacza, że flaga nie może zostać ustawiona ponownie. Możliwy jest taki scenariusz: wciskasz przycisk, pojawia się zbocze opadające które ustawia flagę a więc...
Ten temat może pomóc w rozwiązaniu tej zakręconej kwestii http://www.elektroda.pl/rtvforum/topic14... pozdr.
Olej te ich dziwaczne wywody na temat obliczania wartości do rejestru odpowiedzialnego za baudrate i po prostu wpisz do tego rejestru wartość równą PRĘDKOŚĆ_ZEGARA_UART / BAUDRATE. Te całe zabawy w część stałą i ułamkową właśnie do tego się sprowadzają, chyba ktoś kto pisał dokumentację miał nadmiar fantazji. Wg tegoż BRR powinien być równy 6666 czyli...
W deskryptorach masz niespójne numerowanie EP. Pierwszy deskryptor znakowy jest błędnie przypisany dla kodu producenta oraz konfiguracji.
Reasumując: 1. Włączasz zasilanie = nie działa 2. Wykonujesz reset STM'a = działa ? Mógłbyś jeszcze "main'a" pokazać, albo najlepiej odchudź kod do obsługi tylko SPI i wrzuć cały projekt.
z tego co rozumiem żeby dokonać jakiejkolwiek zmiany w rejestrze AIRCR należy tam również wpisywać 0x5FA po to by zapis nie został odrzucony. Chyba że źle kombinuje:P Dobrze kombinujesz, wcięło mi ten zapis :P SCB->AIRCR = AIRCR_VECTKEY_MASK | (3<<8); gdzie: #define AIRCR_VECTKEY_MASK ((uint32_t)0x05FA0000) Chociaż...
Rzuc kawalkiem swojego kodu to sprobuje zerknac, urzadzenia USB moga wymagac pewnych szczegolnych operacji jak chociazby wybranie konfiguracji.
Twoje pytanie niewiele ma wspólnego z UART. Chodzi Ci po prostu o to, jak przesłać coś, co ma więcej niż jeden bajt. Rozbij to na bajty - sposobów jest wiele (np. unia typu, jaki chcesz przesłać i wektora bajtów), a potem wysyłaj bajt po bajcie.
1. Przeczytaj początek tego: http://docs7.chomikuj.pl/492704393,0,0,0... 2. W systemie Windows istnieje funkcja wyszukiwania pliku o określonej nazwie. Czy użyłeś jej do zlokalizowania potrzebnego pliku ?
Nie bardzo wiedziałbym jak tego użyć. Chyba że jakiś przykład miałby ktos, kto to już robił. A może tak: [syntax=c] #include <time.h> ... struct tm * loctim ; // struktura zawiera pola typu tm_year czy tm_min time_t tt ; // odczytywanie licznika tt = RTC->CNTH; tt = tt << 16; tt = tt | RTC->CNTL; loctim = localtime(&tt) ; ......
Ale teraz jeszcze problem, czy w tym przypadku pin PA0 jest pinem, którym powinienem mierzyć napięcie ? Musisz zajrzeć do datasheeta Twojego układu - jeśli to F100, to jest to plik [url=http://www.st.com/internet/com/TECH...
Ok po pierwsze zdecyduj się czy używasz kanału 1 czy kanału 2 DAC bo odpalasz DMA dla kanału pierwszego DAC ale w rejestrze DAC_CR odpalasz kanał drugi. Do tego aby działał trigger inny niż software'owy musisz ustawić bit TEN1 oraz bity TSEL1[2:0] w zależności od źródła wyzwalania. Więc dla TIM6: [syntax=c]DAC->CR = DAC_CR_DMAEN1 | DAC_CR_TEN1 |...
Zakładając, że te wszystkie magiczne numerki są odpowiednimi bitami (tj dobrze je wpisałeś), to wszystko jest ok.
Przecież jak zaznaczysz je jako General Purpose CNF Bit 9 SSM: Software slave management When the SSM bit is set, the NSS pin input is replaced with the value from the SSI bit. 0: Software slave management disabled 1: Software slave management enabled Próbowałeś tego, jak wisi w powietrzu i masz ustawiony jako slave (chyba)? Chyba, że jako...
Dla mnie mało czytelne są te gotowe biblioteki STM32. To nie są funkcje z biblioteki STM32 przecież... Proponowałbym pinu ustawić na funkcję alternatywną, a nie na out/in. Ewentualnie RX może zostać na in, ale TX musi być "ALT". 4\/3!!
Hmm... dziwne. Fakt PC10, PC11 i PC12 tolerują 5V, ale R/W, RS i E to wejścia więc nawet jakby były podciągnięte do 5V to diody zabezpieczające wejść 3,3V ściągnęły by potencjał do 3,9V. Natomiast D4-D7 mogą być wyjściami i dołączenie ich do wejść innych niż tolerujących 5V mogłoby uszkodzić te wejścia. Powinieneś uważać na PC0-3. To była jednak wina...
1. Ustawiłeś sobie sprzętowe sterowanie pinem SS, a sterujesz nim ręcznie - generalnie raczej Twoje ręczne zabiegi nic nie dają. 2. Odbiór danych MUSI być poprzedzony nadaniem czegoś, a ty tylko odczytujesz rejestr DR, w którym nic nie ma. Najpierw sprawdzasz, czy możesz coś nadać, potem wpisujesz do DR cokolwiek, czekasz aż będzie coś do odbioru i...
Spróbuj tak: [syntax=c]//GPIO_EXTILineConfig(GPIO_Por... GPIO_PinSource13|GPIO_PinSource15); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC... GPIO_PinSource13); GPIO_EXTILineConfig(GPIO_PortSourceGPIOC... GPIO_PinSource15);[/syntax]
tak to są makra, ale chodziło mi o używanie tych które są już zadeklarowane w nagłówkach a nie tworzenie swoich. Łatwiej nam będzie analizować kod po makrach niż po wartościach z kosmosu. Może ktoś bardzo biegły w głowie to przetrawi jak zna wszystkie bity kofiguracyjne, ale raczej mało kto po zapisie 0x3492 wysnuje to o co chodziło.
Czy działa Systick to łatwo sprawdzić w debuggerze. Zresztą wiele spraw można sprawdzić. Ja bym zaczął od tego czy właściwe rejestry podlegają zmianom. To nie jest nic trudnego, w krokowym trybie Też jaka wartość jest SystemCoreClock, to zmienna globalna. Może ląduje gdzieś w HardFault, zaraz po uruchomieniu. EDIT. Często problemem przy kopiowaniu plików,...
Skoro nie masz problemu z timerem, to po co w ogóle o nim pisać i po co testować program który ma też przerwania od timera? Niemniej jednak na początek brawa za to, że NIE używasz słynnego i popularnego badziewia (; Wg mnie (skoro chodzi o pin zerowy), powinieneś konfigurować rejestr AFIO->EXTICR[0], a nie 1. Problemem jest manual niezgrany z plikiem...
W tablicy wektorów zupełnie nic nie zmieniasz (jak zwykle) - system masz połączony ze sprzętem poprzez te 3 definicje: #define vPortSVCHandler SVC_Handler #define xPortPendSVHandler PendSV_Handler #define xPortSysTickHandler SysTick_Handler Mam nadzieje że masz je w jakimś pliku dołączonym do port.c, np FreeRTOSConfig.h 4\/3!!
A nie PSC = 1124 ARR = 63999 zgodnie z wzorem Timx_hz = 72MHz / ((PSC+1) * (ARR +1))
Skoro STM nigdy nie jest slave, to sprawa się upraszcza. Tak jak pisałem, linie SS (ale tylko AVR i STM) łączysz razem. Dzięki temu i STM i AVR mogą być masterem w stosunku do SD, i masz wykrywanie konfliktu. STM może być masterem także w stosunku do AVR, ale nigdy nie odwrotnie. W takim razie od STM do AVR dajesz drugą linię, podłączoną pod IRQ AVR....
Witaj :) Co do wgrania, jeżeli używasz System Workbench for STM32 to tam trzeba na projekcie w drzewku nacisnąć prawym myszy, wybrać "Debug As" -> "1 Ac6 STM32..." i po odpaleniu wybrać: Debug device: ST-Link-V2 Debug interface: SWD Tutaj masz obrazki: http://forbot.pl/blog/artykuly/programow...
Będzie działać. Na początku - dla swojego bezpieczeństwa - możesz zrobić tak że port przestawiany jest np. po 10s od uruchomienia urządzenia - wtedy przed pierwsze 10s nie trzeba w ogóle kombinować. Bylebyś nie wyłączył resetu!
A musisz te dane pchać cyklicznie co jakiś czas czy generalnie kiedy tylko się pojawią? Jak źle kombinuję to mnie poprawcie, ale nie lepiej byłoby wykorzystać tu FSMC i pisać po prostu pod odp. adres?
daj "monitor reset halt" zamiast osobnych komend. Ale nie mam pojęcia czy to pomoże...
Nie napisałeś w jakim formacie masz ramkę. Zakładam, że RGB565. Jeśli tak, to na początek niepoprawnie rezerwujesz miejsce na taką ramkę. W RGB565 1 piksel obrazu zajmuje 2 bajty(jak sama nazwa wskazuje). Czyli na przykład aby odebrać ramkę o rozdzielczości 160x120 potrzebujesz 160x120x2 = 38400 bajtów, dla 320x240 to już jest 153600 bajtów. I tak dalej....
Globalne definicje przekazuje się przez kompilator, odpowiednimi parametrami. Powiem Ci w sekrecie, że wszelkie poszukiwania błędów w kompilatorze, szczególnie z takimi trywialnymi sprawami, są z góry skazane na śmieszność, tak więc to czy brnąć dalej w zaparte to już Twoja decyzja. Co z tego, że ty sobie w main.c zdefiniujesz, skoro pliki od UARTu...
Źle to skonfigurowałeś, tutorial Freddiego jest trochę out-of-date :) w okienku wpisz tylko [syntax=bash]monitor reset halt[/syntax] zaznacz load image + wybierz use project library (albo use file i wybierz elfa ręcznie) zaznacz load symbols + j/w zaznacz set breakpoint at: main zaznacz resume Upewnij się, że jest wybrane "Using Standard GDB Hardware...
w HAL wszystko co łatwe, robi się trudne. Myślisz, że na podstawie tych obrazków, ktoś coś odpowie? Masz nucleo i debugger. Badaj co się dzieje. Tak w ramach podpowiedzi - musisz czekać na callback, kiedy się pełny cykl skończy. Szukaj takich rzeczy w HAL.
Cześć, Dzieki za odpowiedź:) Tak, laptop jest moim komputerem z którego chcę prowadzić development. To jest dokładnie ta płytka: [url=https://kamami.pl/stm32-discovery/5... Płytkę dostałem na targach. Ma ona wgrany stockowy bootloader oraz demonstracyjną aplikację pisaną...
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...
Nie radziłeś sobie z najłatwiejszym środowiskiem, więc przesiadłeś się na trudniejsze, nie próbując zrozumieć podstawowych kwestii dotyczących samego mikrokontrolera? To raczej nie wróży dobrze na przyszłość.
1. na discovery i2c2 piny są zajęte przez jakies ustrojstwo. 2. tu masz kod z cuba dla i2c1 i 3 zegary są niepokonfigurowane (bo rozumiem że to zrobiłeś)
Tylko czemu chciałbyś wywołać taką funkcję? Nie można naprawdę zajrzeć do manuala i machnąć tymi kilkoma bitami na krzyż, tylko od razu wywoływać jakieś dziwne funkcje z dziwnej biblioteki? Jak własnie widzisz - nie załatwia ona za Ciebie wszystkiego... 4\/3!!
Użyj OpenOCD skompilowanego przeze mnie i wyłącz ten debug level 3, bo ja w sumie nie widzę co się dzieje... Tak w ogóle to nie wiem czy wiesz, ale OpenOCD wymaga innych sterowników do RLinka niż Ride - sterowniki te dołączone są do paczki z OpenOCD z mojej strony. 4\/3!!
Problem mam w zrozumieniu jak liczą się linie EXTI_Linex, która odpowiada danemu portowi. Przykładowo przerwania obsługiwane przez void EXTI0_IRQHandler(void) obsługują piny PA0, PB0, PC0, PD0, PE0 z tym że nie jest chyba tak iż przerwania na tych pinach obsługuje linia EXTI_Line0 bo jak rozróżnić który pin wywołał przerwanie. Piny "0" ze wszystkich...
(at)szewcu12 Możesz skorzystać z bilbioteki E-Mail Client Library ([url=https://github.com/mobizt/ESP-Mail... dla ESP8266. Ale uwaga, wymaga to napisania programu dla ESP z użyciem Arduino Core ;) ESP może "nasłuchiwać" komunikaty z STM i po jego otrzymaniu dalej wysyłać jako maile. Alternatywnym rozwiązaniem jest wykorzystanie firmware AT...
Ten fragment obwodu po lewej (z jednym zwojem, opisany IN przez który płynie prąd +-Ip) to przewód na którym chcę wykonać pomiar, tak? Tak. 0V,5V to zasilanie OUT i ref to styki pomiarowe
Zdziwiłbym się gdyby pomogło ;-) Dalej nie masz definicji GPIO_TypeDef. W innych projektach może działać, jeśli w plikach źródłowych przed dołączeniem omawianego pliku dołączysz plik, który toto definiuje. Najlepiej znajdź który to i explicite dołącz na początku. Albert
A może byś tak włączył pull-up? Domyślnie masz pull-down. Wskazówka - Tabela 20 w sekcji 9.1. ;)
I Zylin I GDB Hardware Debug korzystają z OpenOCD jako serwera GDB. OpenOCD odpalam jako: openocd.exe -f interface/jtag-lock-pick_tiny_2.cfg -f target/stm32f1x.cfg -c "adapter_khz 1000; reset_config trst_and_srst separate; $_TARGETNAME configure -rtos auto" W gdb hardware debugging: DSF Launcher, komendy inicjujące: monitor reset halt, monitor poll,...
Co znaczy raz działa raz nie? Po za tym jaki to konkretnie stm? Pin 6 to który? Jaka jest częstotliwość SPI? Jaka jest odległości pomiędzy uC a rfm22?
Skąd wiesz, że ustawia się na 4800 skoro nie wiesz czy nadajesz? Ta magiczna funkcja UsartInit skądś musi wiedzieć na jakiej częstotliwości chodzi jego APB. Sprawdź czy nie ma tam definicji od RCC. U Ciebie powinno być 8MHz bo nie konfigurujesz nigdzie HSE ani PLL.
www.st.com - tyle że nie interesuje Cię datasheet, a manual. Było o tym pisane ze sto razy. 4\/3!!
Pinów GPIO nie trzeba przypadkiem skonfigurować na funkcję alternatywną? 4\/3!!
Witam, staram sie wykorzystac karte SD do przechowywania danych uzywanych przez wyswietlacz (bitmapy etc). Korzystam z biblioteki FATfs i komunikacja SPI. Aby moc tego dokonac modul FATfs korzysta z sygnalu zegarowego, ktory co 10ms bedzie wywolywal funkcje [syntax=c]disk_timerproc()[/syntax] Do cyklicznego wywolania tej powyzszej funkcji staram sie...
(1 << 27) Tego nie będę rozszyfrowywał. I przy okazji nie mieszaj kodu HAL-a z rejestrami - w tch samych funkcjach - no chyba że dokładnie wiesz co te halowe robią na poziomie rejestrów (ja np poza kilkoma nie wiem i nie chce mi się grzebać) Procedurę masz opisaną w RM Reception using DMA DMA mode can be enabled for reception by setting the DMAR...
Sterowników nie odinstalowałeś przypadkiem? Pokaż screen z okna konfiguracji.
Jest coś takiego, jak WiFiManager : [url=https://github.com/tzapu/WiFiManage...
Z tego co mi się wydaje przed odczytaniem wartości z licznika należałoby sprawdzić flagi które mówią o tym czy w liczniku cokolwiek sensownego się znajduje... 4\/3!!
Zrobiłem to w taki sposób że w przypadku wystąpienia nieprawidłowosci wpisuję I2C2->CR1 |= I2C_CR1_SWRST; I2C2->CR1 &= ~I2C_CR1_SWRST; następnie konfiguracja
czy lepiej wymienić na płytkę STM z wbudowanym interfejsem Wszystko zależy od kilku czynników: Czy planowana aplikacja dla data logera tj. tego mikrokontrolera centralnego (pewnie takiego "mastera" w sieci CAN) jest bardzo wymagająca obliczeniowo czy nie(bo STM32F7 to dość wypasione mikrokontrolery pod tym względem). Czy oprócz zapisu danych ma być...
Pokaż swój kod.
AFIO->EXTICR Druga linijka nadpisuje to co zrobiłeś w pierwszej. Dalej nie patrzyłem.
Podłączenie przez kondensator faktycznie pomaga, jednak jest to sygnał który zmienia się ~200 razy na sekundę, dlatego niestety odpada. 200Hz? Przecież to prąd stały... Kondensator 100n z rezystorem 10k mają stałą czasową odpowiadającą częstotliwości 1kHz, z rezystorem 100R już jest 100kHz, więc gdzie tutaj jakiś problem? Tak jak już rb401 napisał...
0. Skasuj flagi TCIE, HTIE, TEIE, DMEIE w rejestrze DMA_SxCR lub odpowiednim DMA_xIFCR. 1. Ustaw CCR1_EN w odpowiednim DMA_SxCR. Kolejna transmisja powinna zostać rozpoczęta. Poszczególne strumienie pozostają w ostatniej konfiguracji, łącznie z adresami.
Błąd jest gdzieś tu: .data : { _data_begin_ = .; *(.data) _data_end_ = .; } > FLASH Myślę, że w tym małym kawałku widać go od razu [; 4\/3!!
Witam RUN->Run/Debug Configurations->AC6 STM32 ... dla stworzonej konfiguracji zakładka Debugger Show generator options Reset mode: Software system reset https://obrazki.elektroda.pl/7593618200_... Pozdrawiam
A mógłbym poprosić trochę więcej podpowiedzi dotyczących tych zmian? Albo jakiś link gdzie mogę o tym doczytać? Opis nagłówka STM32_Init jest dość obszerny, tylko nie wiem skąd wziąć poprawną konfigurację.
Nikt nie pomoże??
Ostatnio przechodziłem "tą ciernistą drogę" kompilacja i poprawne wgranie pierwszego programu zajęło mi chyba 3 dni. Ale dałem radę sam (choć już miałem pytać na forum). Generalnie to dzięki szczywronek za poradnik! jesteś miszcz! A co do środowiska. Zaczynałem z pluginem i tam całe środowisko chodziło z tym że zaciągane są biblioteki a nie o to mi...
Pliki .ld, startup.S/startup.c/startup.s [nie wiem jak się nazywają], syscalls.c albo podobny. I co konkretnie nie działa?
A co "mówi" debugger? Program dochodzi do końcowej pętli? Może siedzi w hard-fault'cie?
w RxData jednak zawsze znajduje sie wartość różna od tej co wysłałem z PC. Wysyłam np 100, otrzymuję 49. Wysyłam 10 otrzymuję także 49. a jak wyślesz 2xx to otrzymujesz 50?
CYTAT "Kurs bazuje na darmowym środowisku System Workbench for STM32" https://forbot.pl/blog/kurs-stm32-3-plyt...
Witam, mam problem z poprawną konfiguracją modułu Bluetooth. Chodzi o to, że na przetwornik ADC wyzwalany timer1 podaje sygnał z GPIOB i chcę próbkować go wg ustawień timera z częstotliwością co najmniej 500Hz. Dane pobierane są z rejestru ADC przez DMA do zadeklarowanego wcześniej buforADC (unsigned short int buforADC buforTx (unsigned char buforTx[4]={0};)...
Procek: stm32f101 Scalak SPI: AD7322 (zewnętrzne ADC, 12bitow + znak), załączam pdf Control register (22 strona pdf): uint16_t reg=0; reg |= (1<<15); // Write reg |= (0<<14); // Zero reg |= (0<<13); // Register Select reg |= (0<<12); // Zero reg |= (0<<11); // Zero reg |= (1<<10);...
Kiedyś wgrałem program do STM32 który zmieniał konfigurację pinów SWDIO i SWCLK . Potem nie mogłem połączyć się z mikrokontrolerem poprzez STLink. Pomogła opcja "Connect under reset". Musiałem przy łączeniu na starcie przytrzymać przez chwilę reset mikrokontrolera. Parę prób i połączył się.
Cześć piszę aplikację pod silnik krokowy wysyłam paczkę Period, Repetition Counter, 50 % Pulse. Bez konfiguracji USARTA program działa bez zarzutu inkremntowana jest wartość bufora DMA i przesyłana do timera. Jak mam konfigurację USARTA to nagle przestaje działać i silnik kręci się o stałych obrotach. Czy mógłby mi ktoś powiedzieć co robię nie tak ?...
STM32f4 64KB RAM. Właśnie się przekonałem, że wiele zależy od konfiguracji pamięci.
Witam, mam problem, mianowicie czy jest możliwość wyzwalania np. przez TIM2 w STM32 przetwornika ADC? Analizuje reference manual i nie mogę znaleźć konkretnej informacji. Każdy kanał timera może generować zdarzenie, ale nie do końca wiem jak zmusić ADC by na nie reagował. Korzystam z funkcji bibliotecznych. Włączyłem wyjście kanału OC2, przetwornik...
Dlaczego setup hardware masz PO can init? Nie powinno to byc odwrotnie, że najpierw włączasz zegar peryferium a dopiero potem wymagasz aby ono działało ;]
No bo wciąż ustawiasz rejestr IMR "odwrotnie" - zajrzyj do manuala co oznacza 0, a co oznacza 1. I w ramach testów zrezygnuj z ustawiania jakichkolwiek priorytetów przerwań czy czegokolwiek z nimi związanego. 4\/3!!
Najfajniejsze, że kompilacja przechodzi bez problemu. To jakie środowisko sugerujesz? Z Eclipsem podczas konfiguracji na windows miałem problemy, bo pomimo wielu starań nigdy nie udało mi się poprawnie skonfigurować środowiska. Jak nie wiesz jak coś skonfigurować to pytaj po prostu na forum. http://www.elektroda.pl/rtvforum/topic13... http://www.elektroda.pl/rtvforum/topic13...
Jeśli faktycznie TIM2 jest taktowany z częstotliwością 42MHz to Twoje przerwanie powinno być wywoływane co 10ms (konfiguracja RCC). Niemniej jednak kasowanie flagi przerwania powinno być pierwszą czynnością jaką przerwanie wykonuje a Ty kasujesz flagę raz na 100 wywołań. Poza tym umieszczanie funkcji USART_putint i USART_SendData wewnątrz przerwania...
Ponawiam prośbę/zlecenie.
Sygnał REF_CLK powinien być generowany przez cały czas, gdy chcesz mieć aktywny interfejs Ethernet. Najpierw konfigurujesz układ MAC (zegary, typ interfejsu MII/RMII), następnie aktywujesz taktowanie PHY za pomocą REF_CLK. Gdy zamienisz kolejność (najpierw taktowanie PHY, później ustawiasz w STM interfejs MII/RMII) to program zawiesi się w pętli: [syntax=c]...
Witam, chciałem skonfigurować przetwornik ADC, tak, żeby jego konwersja była wywoływana programowo. Włączyłem zegar i skonfigurowałem pin jako AIN. Chciałem, żeby przetwornik był pierwszy w kolejce w trybie regular sequence. Moja konfiguracja przetwornika: [syntax=c] //ustawienie channel1 ADC1->SMPR2 |= ADC_SMPR2_SMP1; //sample time 239.5 cykla ADC1->SQR1...
Wykorzystując timer 16-bitowy oraz preskaler 65535 chciałbym wywołać przerwanie co 1 minute(59,6 sekundy) i w efekcie naprzemiennie zapalać i gasić diodę: [syntax=cpp] void Clock_init(void); void GPIO_init(void); void Tim1_init(void); int main(void) { Clock_init() ; GPIO_init(); Tim1_init(); while(1){;} } void Tim1_init(void) { TIM_TimeBaseInitTypeDef...
Mam taką konfigurację (też w Keilu): static void RCC_Configuration(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/ /* Enable HSE */ RCC->CR |= ((uint32_t)RCC_CR_HSEON)... /* Wait till HSE is ready and if Time out is reached exit */ do...
"Poprawi" kod na Twoją wersję i nic to nie zmieni, więc...? Brak argumentów dla obrony "cudownej" biblioteki i już od razu żegnam Tak czy siak przydałoby się zobaczyć pełną konfigurację projektu i cały kod. 4\/3!!
Witam, Czy jest możliwa konfiguracja modułu OTG FS w procesorach Conectivity Line (w moim przypadku stm32f105xx) bazując na wewnętrznym osc. 8MHz? Wnioskując po diagramie zegarów w tych procesorach (RM0008 rev.14 strona 123) to nie ma takiej możliwości. Proszę o potwierdzenie lub zaprzeczenie (to drugie z wyjaśnieniem :)) Pozdrawiam.
problem rozwiązany po wysłaniu danych na spi nie czekałem na zakończenie transferu
Witam, Mam mały problemik ze skonfigurowaniem przetwornika ADC i DMA. Założenia są takie aby odczytywać 6 kanałów za pomocą ADC1. Procek to STM32F103Vx kanały ADC_IN10 - 15 podłączone do PC0-PC5. Problem jest taki, że w tablicy do której powinna być przesyłana wartość z przetworników są ciągle zera, ale sporadycznie na pierwszej pozycji pojawia się...
STM32F10xxx I2C optimized examples AN2824
Odpowiednie przeróbki robisz w pliku sd_spi_32.c - konfiguracja peryferii. Natomiast w comm.c określasz interfejs dla terminala znakowego dla uart.
a pamiętałeś żeby włączyć RCC dla tych portów w konfiguracji zegarów? RCC_APB2PeriphClockCmd(RCC_APB2Periph_GP... ENABLE); Gdzie x to port.
Pin najprościej odłaczyć od timera zmieniając jego typ z alternate na inny. Na przykład GPIOx -> MODER |= 3 << (pin * 2); Albo wyzeruj bit PE w CCMRx. Albo ustaw wypełnienie 0 albo 100%. itd itd.
Wyświetlam sobie wyniki pomiaru w terminalu przez usart i są one poprawne także nie wiem, wydaje mi się, że mi się nie wydaje. A reszta konfiguracji jest poprawna?
bo trzeba też mierzyć Vref Dlaczego zawsze trzeba mierzyć Vref? Dodano po 1 najsensowniej jest używać DMA, zaprogramowanego jednorazowo w trybie "dookólnym" (circular). No i oczywiście dużo łatwiej zrobić to bez HAL niż z HAL. Przesada https://forbot.pl/blog/kurs-stm32-f4-5-p...
To gdzie kolega wetknął tą sondę dokładnie...na magistralę CAN czy między transreciver a STM32? Magistra CAN to magistrala różnicowa więc pomiar względem masy nie jest tu najbardziej adekwatny. Jak wygląda na magistrali sprawa terminacji? Nie jest jej może za dużo lub wcale? Magistrala powinna na swoich końcach tj. najbardziej oddalonych punktach posiadać...
Witam A dokładnie w czym problem z konfiguracją? Jeśli masz DM-LCD35RT to pewnie na SSD2119 Czyli w LCDConf.c: [syntax=c]void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLO... GUICC_M565, 0, 0); Config.Orientation = GUI_SWAP_XY |GUI_MIRROR_X; LCD_SetSizeEx...
Dzięki, za szybki odzew. Jednak tutaj raczej jest jakiś problem na poziomie "warstwy fizycznej". Chodzi o to, że samo połączenie Tx od ESP z pinem PC11 od STM32 (wyjście Rx dla UART3, którego używam), powoduje natychmiastowe zawieszenie się ESP (zanim się zawiesi ESP wysyła około 20x komunikat ERROR). Dodam, że sprawdzałem komunikacje w konfiguracji:...
Uruchamiając projekt migania led, led14 miga ładnie, natomiast ta obok (led15) leciutko się świeci... czym to może być spowodowane? Np. włączonym pull-down'em przy konfiguracji portów.
A masz jakieś urządzenie podłączone do tego I2C? Wysyłasz jakieś dane?
stm32 konfiguracja bibliotek konfiguracja licznik stm32 eclipse konfiguracja stm32
sonda piekarnika amica citroen xsara centralny zamek whirlpool zasilacz
filtr piaskowy szuflada kuchenna
Lagujący Notatnik - przyczyny i rozwiązania Radio samochodowe pika podczas słuchania - przyczyny i rozwiązania