extern "C"... C++ name mangling
A pisałem, żeby nie ruszać _NIC_ poniżej SysTick włącznie... Jeśli weźmiesz tablicę dla STM32F4 bez ŻADNYCH zmian, to Twoje przerwanie zadziała, bo ten obszar tablicy jest identyczny dla tych dwóch rodzin. 4\/3!!
http://www.elektroda.pl/rtvforum/topic22... PM0214 SysTick jest jeszcze prostszy w obsłudze niż GPIO :D
Przykład z biblioteką SPL: [syntax=c] static __IO uint32_t TimingDelay; //--------------------------------------... void SysTickConfig() { RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000);// 168MHz/1000=168000/s (1ms) } //--------------------------------------...
można jeszcze jedno z definicji ustawić z atrybutem "weak" Po co? ale pewnie wymagałoby to dodatkowego uzasadnienia oraz dodatkowej opcji kompilacji, a właściwie chyba linkera... nie wymagałoby
Witam, Próbuje skomunikować ze sobą STM32F4 z Arduino UNO po UARTcie. Skonfigurowałem UART1 i płytka komunikowała się bez problemu z Arduino. Lecz do mojego projektu potrzebna jest komunikacja przez UART2 (piny PA2-TX i PA3-RX), po skonfigurowaniu UART2 i podłączeniu do do Arduino nie mogę odczytać żadnych danych. Jeżeli podłącze UART1 z UART2 na płytce...
Ok, poszedłem o krok dalej. Zmieniłem całą funkcję inicjalizacji SPI, na taką którą ja rozumiem. [syntax=c] RCC_APB1PeriphClockCmd(RCC_APB1Periph_SP... ENABLE); //taktowanie dla SPI2 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GP... //taktowanie dla B // GPIOB - PB11( CS ) to na pewno dziala GPIOB->MODER |= GPIO_MODER_MODER11_0; GPIOB->OSPEEDR |=...
Wiesz co ja dopiero zaczynam z programowaniem stm ale jedna sprawa rzuciła mnie się w oczy. twoja funkcja jest prawie funkcją z biblioteki której definicja i rozwinięcie znajduje się w pliku core_cm4.h [syntax=c] __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { if ((ticks - 1) > SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible...
To prawda, coś się dzieje, tylko że poza miganiem diody TX niewiele się zmienia jeśli chodzi o działanie programu... coś jeszcze musi być nie tak EDIT: Błąd znaleziony! Okazało się że nie wystarczy domyślny opis pinu LED_BUILTIN, a PC13 to oznaczenie dla płytki STM32F4. Prawidłowe oznaczenie to PB12, płytka wstała.
200 tysięcy przerwań na sekundę to nie jest żaden problem dla STM32F4. Rozwiązaie z timerem programowym przy już działającym SysTick to 3 linijki kodu; ze sprzętowym bez przerwań timera - jakieś 7..8 linii. Więcej czasu zajmuje pisanie tych postów, niż implementacja tego w taki sposób, jaki podałem. Rozwiązujesz dziwne i nieistniejące problemy.
Witam, otóż mam problem, a mianowicie chciałbym obsłużyć przerwanie z pinu ALRT z przetwornika ADS1115 w celu wyeliminowania opóźnienia które teraz stosuje przy odczycie każdego z kanału (delay(20)) dokumentacja: https://cdn-shop.adafruit.com/datasheets... z góry dziękuję za pomoc mój dotychczasowy kod: [syntax=c] /* Includes ----------------------------------------...
Tylko pytanko - czy wystarczy opcja : ./configure --enable-stlink przy konfiguracji? Raczej niezbyt. Konieczne jest jeszcze włączenie trybu "maintainer-mode" przy kompilacji źródeł z repozytorium. Jak z obslugą USB? ? EDIT: Rozwiązanie zostało znalezione, oczywiście błąd u mnie - nie czytać tego co pisze niżej! (; Ja natomiast mam pytanie do was, dotyczące...
Cześć, Próbuję się skomunikować pomiędzy RPi i stm32f4. Na RPi korzystam z biblioteki bcm2835 a na stm32f4 z HAL. Być może nie do końca rozumiem zasadę działania SPI i sta te problemy. RPi jest masterem i co 1000ms wysyła dane w postaci tablicy o rozmiarze równym 4 elementy. Te dane są w poprawny sposób odbierane na stm32f4. Na stm32f4 korzystam z DMA,...
Jak się bawisz Keilem, to prześledź sobie działanie programu w symulatorze jak nie masz debuggera. Zobacz też czy masz zdefiniowane przerwanie od systick i co ono robi, jak nie grzebałeś nic w pliku konfiguracyjnym, to z automatu on jest włączany na wartości domyślne.
Dodałem: [syntax=c]__enable_irq();[/syntax] Nic nie pomogło. Dodałem sekwencję: [syntax=c]__disable_irq(); __enable_irq()[/syntax] Również bez zmian. Pobrałem i zainstalowałem Atollic TrueStudio for ARM. Wygenerowałem czysty projekt, sprawdziłem wektory, startup, plik linkera - nie różnią się w istotny sposób od moich (są niemal identyczne). Debugowałem...
Tych kroków jest trochę więcej, na przykład włączenia zegara dla domeny RTC. Poniżej daję kod do analizy (STM32G0xx) i czekam na krytykę. [syntax=c]/** * Brief This function configures RTC. * Param WakeUp period * Retval error code (0 = no errors) * PrereqSysTick serves as timebase for timeouts */ __INLINE uint8_t rtcInit(uint16_t timeToWake) {// set...
Peryferia na pewno wszystkie się mieszczą (prócz takich cudów jak systick etc), a nagłówek ssie :) ale to w końcu wielkie i szanowane ST , wszyscy korzystaja z StdLib i tego nagłówka a my się tylko czepiamy. Też mi się tak wydaje, że to nagłówek, ale wolę sprawdzić i być pewny, niż wysuwać osąd na podstawie złych doświadczeń z innymi produktami ST...
Ile taktów zegara trwa 'while(nCount--)' ? chyba nie jeden? Dodano po 6 Jak na razie wydaje mi się że nie masz dobrego sposobu określenia rzeczywistej prędkości taktowania. Zapuść jakiś timer albo SysTick i na tym zrób delay, bo to łatwo policzyć. Dodano po 1 A czemu SystemInit(); masz przed main()? Dodano po 2 Wyłącz wszystkie PLL itp. i włącz tylko...
Mnie właśnie przydałby się sam scheduler, bo koncepcja działania peryferiów często bardzo zależy od użytego układu i samego projektu. Może powinieneś rozdzielić ten projekt na dwa, jeden to czysty scheduler i drugi projekt to cały system który z kolei jest oparty o ten pierwszy projekt. Zauważ, że im bardziej rozbudowany będzie ten projekt, tym trudniej...
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...
[syntax=C]void SysTick_Handler(){ SysTick_Config(prescaler_systic);[/synta... W jakim celu w obsłudze przerwania od SysTick, ponownie konfigurujesz licznik? Logika podpowiada, że raz uruchomiony działa i nie trzeba nic więcej robić. Jeżeli po odliczeniu czasu, przyjmujesz przerwanie, przechodzisz do ustawiania i na nowo startujesz licznik, to częstotliwość...
Przesadzacie trochę z tym SPLem. To że ktoś nie potrafi skonfigurować SysTick to nie wina biblioteki. Jak masz ustawione zegary? w SPLu plik system_stm32f4xx.c (jest makro w excelu do generowania tego pliku dostępne na stronach ST) Jaki masz kwarc i jaką wartość ma stała preprocesora HSE_VALUE ?Obsługę przerwań masz w pliku stm32f4xx_it.c Te trzy linijki...
No wiem, że to jest jakaś funkcja "standardowa" (za często używasz tego słowa), ale wklej może jej wnętrze jeśli możesz. Ty podajesz jej adres struktury ale nie widzę nigdzie , żebyś jakieś jej pola konfigurował wcześniej, a co za tym idzie to może i ta funkcja operuje na tej strukturze ale w jej środku będą same śmieci. Na przykład tu: [syntax=c] SysTick_Config(RCC_Clocks.HCLK_Frequency...
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...
[syntax=armasm]g_pfnVectors: .word _estack .word Reset_Handler .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler .word UsageFault_Handler .word 0 .word 0 .word 0 .word 0 .word SVC_Handler .word DebugMon_Handler .word 0 .word PendSV_Handler .word SysTick_Handler /* External Interrupts */ .word WWDG_IRQHandler /*...
Wydaje mi się że świecenie diody trwa dłużej niż 1s... raczej jestem przekonany. 1) Masz błędy w konfiguracji zegarów 2) Nie masz żadnej pewności że rdzeń chodzi na 168MHz... 3) Nie wiesz co jest wpisywane do systick'a 4) Wiesz, że takt RTOSa nie wynosi 1ms Na podstawie powyższych punktów ogarnij sprawę zegarów
Bardzo fajnie, że wreszcie coś na STM32 się pojawiło Na tych prockach sporo się dziej tylko zwykle jest mało czasu na sam projekt co dopiero na jego ew upublicznienie ;) W zeszłym tygodniu bawiłem się połączeniem STM32F103(HY-mini)+SSD1963 sterujący panelem TFT AT070TN92. Niby procek szybki bo 72MHz a samo czyszczenie ekranu jednym kolorem również...
Witam, mam krótkie pytanko. Od jakiegoś czasu korzystam z bibliotek HAL i ostatnio stwierdziłem, fajnie by było posprzątać w main.c. HAL po wygenerowaniu kodu podpina w mainie wszystkie funkcje konfiguracyjne np. [syntax=c] void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct; RCC_ClkInitTypeDef RCC_ClkInitStruct; /**Configure the main...
Dobra, nie ma się co pastwić. Znajdź jedną i tylko jedną różnice, więcej nie szukaj: [syntax=c]SysTick -> LOAD |= SYSTICK_F/1000000 - 1; [/syntax] [syntax=c]SysTick -> LOAD = SYSTICK_F/1000000 - 1; [/syntax]
1. Deinicjalizujesz RCC, PLL i pozostałe zegary 2. Resetujesz i wyłączasz Systick 3. Wyłączasz przerwania wcześniej zerując flagi 4. Ustawiasz wskaźnik stosu na początek pamięci bootloadera 4. Skaczesz do adresu pamięci bootloadera +4 Wszystko jest analogiczne do poniższego przykładu dla F4: https://stm32f4-discovery.net/2017/04/tu...
Witam, mam problem z generacją PWM z tablicy z wykorzystaniem DMA. Wcześniej ten sam projekt działał na STM32F103 ale po przejściu na Cortex M4 coś nie działa. Konfiguracja peryferiów wykonana w Cube, wszystko analogicznie do tego co działało mi na F103. W debuggerze cały czas wartości rejestrów CCR mają 0, czyli jakby DMA nie chciało przesłać z tablicy...
Witam, Napisałem prosty kod w Keilu: http://obrazki.elektroda.pl/2538882800_1... http://obrazki.elektroda.pl/8553934200_1... Oscyloskop: 2 V /DIV 0.05 us /DIV
No to otwórz ten plik i zobacz czy masz tam zdefiniowane w tablicy wektorów adresy funkcji obsługi. Dodano po 6 SysTick_Config(SystemCoreClock / 800); 800 razy na sekundę - ten układ peryferyjny wyrobi tyle odczytów?
Ale kod czego... funkcji sin i arm_sin_f32 ? Przecież ja tych funkcji nie pisałem ;) A funkcja obliczająca czas wykonywania oparta jest o timera systicka takowany zegarem z SYSCLK (168Mhz): [syntax=c] A = 1241.332423; B = 0.3225; time = SysTick->VAL; C = A / B; div_time = time - (SysTick->VAL - 2); time = SysTick->VAL; C = sqrtf(B); sqrtf_time = time...
Bardzo dziękuje za zainteresowanie. Jeśli chodzi o wartość ARR to się pomyliłam użyte wartości to : ARR - 99 PSC - 99 CKD - 0. Konfiguracja zegara: Funkcja inicjalizacji timera : Funkcja do sterowania: [syntax=c]void pwm_tim3_set(uint16_t duty) { if (duty < 1) { pwm_duty = 0; TIM3->CCR4 = 0; } else if (duty > 99) { pwm_duty = 99; TIM3->CCR4...
Załączam pliki startowe. Może coś w nich jest źle? entry.s .syntax unified .thumb .global vectors .global defaultHandler .section .isr_vector, "a" // Lista wektorow przerywan vectors: .word _end_stack .word resetHandler .word NMI_Handler .word HardFault_Handler .word MemManage_Handler .word BusFault_Handler .word UsageFault_Handler .word...
Ok, dzięki w takim razie zacznę pisać programy nie korzystając z gotowych funkcji, ale mam jeszcze jedno pytanie o role plików _write.c i _inictialize_hardware.c które dodawane są do moich projektów nie zależnie czy wybrałem projekt z dodanym przykładowym programem na świecenie diodami czy nie, o ile widzę w drugim pliku inicjalizacje PLL to pierwszy...
Do wstępnej konfiguracji korzystam puki co z SystemInit() dostarczonego przez ST z uwzględnieniem przeze mnie rzeczywistej prędkości zegara (8mhz). Funkcja opóźniająca oparta na SysTick wydaje się że działa dobrze (stan diody zmienia się co 1s): [syntax=c]void Czekaj_ms(int ms) { int i; for( i=ms; i; i--) { SysTick->LOAD = (21000)-1; SysTick->VAL =...
Może najpierw Ty zobacz w RefMan, jaka jest domyślna wartość RCC->CFGR, który sam zmieniasz przełączając zegar na HSE. U mnie przed wykonaniem pierwszego kroku wygląda to tak: https://obrazki.elektroda.pl/5321417800_... Więc tak jak napisałem w komentarzu do pierwszej linijki kodu : //Przełaczamy sys clock na 16MHz z HSI i ustaiamy...
Teraz nie wiem czy mam błąd w RCC, czy w konfiguracji Systick'a ? To pierwsze. Przyjrzyj się w manualu jakie są dopuszczalne wartości PLLP, zwracając uwagę na fakt, że to pole ma tylko 2 bity.
Przepraszam, że się nie odzywałem, ale coś mi wypadło i nie mogłem zajmować się tym układem. Niebawem podam więcej informacji. Dodano: Sprawa się wyjaśniła, gdy zamiast S wpisałem najpierw 19,a potem (uin32_t)19UL i program ruszył i wygląda na to,że działa normalnie. Po zajrzeniu do pliku, gdzie to nieszczęsne S było zdefiniowane, okazało się, że wpisałem...
Witam Staram się podłączyć wyświetlacz oled Waveshare 0.96 cala (A) na sterowniku SSD1306 do mikrokontrolera STM32F401RE. Wyświetlacz posiada 8 wyprowadzeń i może komunikować się zarówno poprzez i2c jak i spi. Chcę połączyć się z nim poprzez i2c i móc wyświetlać na nim tekst czy też figury. Mój kod wygląda aktualnie tak: /* Includes ----------------------------------------...
Witam, Mam problem z uzyskaniem dokładnego czasu z timera. To mój kod: [syntax=c] #include "stm32f407xx.h" int main(void){ // flash //FLASH -> ACR |= FLASH_ACR_DCRST | FLASH_ACR_ICRST; FLASH -> ACR = FLASH_ACR_DCEN | FLASH_ACR_ICEN | FLASH_ACR_PRFTEN | FLASH_ACR_LATENCY_5WS; //while((FLASH -> ACR & FLASH_ACR_LATENCY) != FLASH_ACR_LATENCY_5WS);...
Witam forumowiczów! Po przesiadce z AVR na STM32 chciałbym powtórnie napisać kod pod I2C do czujników, ale coś stoi na przeszkodzie. http://obrazki.elektroda.pl/3517599900_1... http://obrazki.elektroda.pl/6433591700_1... Dana którą odczytuję jest niezgodna ze stałą rejestru "who_am_i", przy czym zbieżna z SLAVE ADR+R/W...
Cześć, Kilka dni próbuję coś zapisać jak i odczytać z eeprom at24c256. Problem polega na tym że program zatrzymuję się na [syntax=c]while (!(I2C1->SR1 &(SR1_ADDR))){}[/syntax] w funkcji i2c1_burst_write. Sprawdzałem rejestr DR i adres jest dobry. Pamięć eeprom ma adres 0x50 sprawdzałem skanerem i2c. Dodałem nawet przerwy czasowe pomiędzy inicjalizacja,...
Albo użyj timera w tybie enkodera z włączoną filtracją, albo testuj stan enkodera programowo z częstotliwością np. 100 Hz w przerwaniu timera (SysTick lub dowolnego innego, którego i tak używasz). Nie potrzebujesz żadnych RC, jeśli to samo można osiągnąć tylko przez odpowiednie programowanie.
Witam, chciałem wykorzystać kartę microSD do odczytu obrazków w projekcie zawierającym wyświetlacz LCD, natomiast pojawił się pewien problem z funkcją f_open() w FatFs. Podczas testowania program gładko przechodzi f_mount() zwracając FR_OK, natomiast wykrzacza się przy f_open() zwracając błąd FR_NOT_READY. Przeczytałem zarówno na forum jak i w czeluściach...
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...
Od kilku dni walczę z ćwiczenie 8.4 z kursu: http://www.elektroda.pl/rtvforum/topic31... W kursie jest kod dla F103, ja próbuję to przerobić dla wersji F407. Niestety bezowocnie. Sam timer, kiedy wyzwalać go sygnałem zegarowym, działa prawidłowo i włącza/wyłącza diody w procedurze przerwania. Niestety kiedy ma zliczać impulsy na pinie...
Spoko, do układu dorobię sobie łatkę z gotowego modułu wzmacniacza klasy D Stereo, jak pokazałem poniżej: http://obrazki.elektroda.pl/6085773000_1... A stronka fajna, są tam nawet kody źródłowe rożnych dźwiękowych wynalazków na STM32F4. Co do mojego kodu, to wyglądałoby to tak: [syntax=c] #include "stm32f4xx.h" #define S 22 uint32_t...
Witam wszystkich, Po dwóch a może trzech tygodniach poszukiwań znalazłem błąd. Nie odkryłem samodzielnie tylko znalazłem tu na forum : [url=http://www.elektroda.pl/rtvforum/to... - I2C na przerwaniach Piszę w SystemWorkbench for STM32. Przy tworzeniu kodu w STM32CubeMX (czyli na bibliotekach HAL) program dodawał za mnie...
Witam! Mam problem przy generowaniu sygnału komplementarnego na timerze 1 w mikrokontrolerze STM32F427ZIT6 (płytka STM32F429I-DISCO) przy pomocy bibliotek HAL. Udało mi się wygenerować sygnał komplementarny ale nie udaje mi się skonfigurować deadtime-ów. [syntax=c] /** ****************************************... *...
Hm... W pętli for mam np. wysyłanie odczytów ze stacji meteo do internetu po przekroczeniu licznika zwiększanego w systicku, dlatego jeżeli resetowało by IWDG to to też powinno działać. Zresztą w momencie zwisu sterownik przestaje się np pingować co świadczy o tym, że jednak wisi na amen. Fakt, faktem, że jego zasilanie jest brane z ładowarki USB do...
Pokaż resztę kodu bo tam jest pewnie blad Wartość Q=7 jest niepoprawna, powinno być 6. No chyba że niepoprawnie rozgryzłem tego hala... Nie wiem czy istotne jest ustawienie dla USB z którego nie korzystam ? Dodano po 30 Pokaż resztę kodu bo tam jest pewnie blad Wartość Q=7 jest niepoprawna, powinno być 6. No chyba że niepoprawnie rozgryzłem tego hala......
Program zachowuje się gdyby chciał a nie mógł skorzystać z SysTick_Handler. Najpierw kod: http://obrazki.elektroda.pl/6717645500_1... Przy zmniejszeniu ilości taktów na przerwanie w systicku i debugowaniu po kroku przerwanie w ogóle nie występuje. A gdy przy w/w kodzie ma być wywołane przerwane (via step to line) program wiesza się w...
Jak stworzyć zwykły stoper który zaczyna liczyć przy wciśnięciu przycisku i kończy przy jego zwolnieniu? Użyć do tego tych najprostrzych timerów czyli tim6 lub tim7? Rdzeń ARM posiada swój własny timer SystemCoreClock to częstotliwość zegara systemowego. Zliczanie: [syntax=c]void SysTick_Handler(void) { if(przycisk_naciśnięty)licznik_milisekun...
Witam Mam zdaje się banalny problem - mianowicie chcę zamigać diodą - procesor STM32F103RBT6 :P O ile na STM32F4 nie miałem z tym problemów to tutaj nie mogę sobie z tym poradzić od kilku godzin. [syntax=c]void RCC_Config(void) { RCC->CR |= RCC_CR_HSEON; FLASH->ACR |= FLASH_ACR_PRFTBE | (1<<2); //konfiguracja flasha (latency = 2 takty) RCC->CFGR...
Udało mi się odpalić UARTA, ale sypie krzakami zamiast konkretnych znaków. [syntax=c]void USART_Conf(void) { RCC->APB1ENR |= RCC_APB1ENR_USART2EN; RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; //TX - PA2/AF7//RX - PA3/AF7 GPIOA->AFR[0] = (7<<8); //str 60 DS<<4*pin GPIOA->MODER |= (2<<4); GPIOA->MODER &= ~(2<<6); //APB1/4...
Rozwiązania bywają różne ale dla tamtego konkretnego przypadku ja np zastosowałem cos takiego [syntax=c] timeout = SysTick->VAL; while( !( I2C2->SR1 & I2C_SR1_ADDR ) ) { if (STCLK_MS*10 < (timeout - SysTick->VAL)) return 2;} dummy = I2C2->SR2;flag[/syntax] zaobserwowałem że program zatrzymuje sie zawsze w jednej i tej samej pętli,...
Nie jestem pewien czy dobrze zrozumiałem Twoją radę. Dołączyłem do projektu GUI pliki znajdujące się w projekcie czujnika, stworzyłem drzewo katalogów w Keilu tak aby było połączeniem drzew z obu projektów, dodałem w zakładce C/C++ adresy do plików nagłówkowych, po skompilowaniu zniknęły błędy związane z dołączaniem plików, ale pojawiło się mnóstwo...
Chciałbym podzielić się swoim tworem DS18B20 + STM32F4 Discovery po niecałych 2 miesiącach obcowania z poradnikiem. Zaczynając od zera jeśli chodzi o znajomość mikrokontrolerów z podstawową znajomością C. [syntax=c]#include "stm32f407xx.h" void delay(uint16_t time) { TIM2->CNT = 1; while (TIM2->CNT<= time); } static void reset (void) { GPIOB->MODER...
Witam, Próbuje uruchomić wyświetlacz oparty o ILI9341 z wykorzystaniem SPI. Wyświetlacz sprawdzałem pod Arduino i działa, jest sprawny. Próbuję podpiąć go do STM32F407ZET6. SPI działa, widać że są przesyłane dane na oscyloskopie. Zaczerpnąłem procedurę inicjalizacji wyświetlacza z Adafruit dla Arduino ale wyświetlacz jak był biały tak jest po wgraniu...
Witam Pracuje obecnie nad projektem odbiornika sygnały DMX512. Sprawa wygląda następująco: -Sygnał danych czytany jest z urządzenia zwane Kwamatik USB2DMX, obsługiwane przez program Q Light Controller. „Po drodze” do uC trafia jeszcze na driver RS485 a potem na PIN RX UART1 oraz PIN PB9 skonfigurowanego jako wejścia dla Timera 11 pracującego...
Witam. Po kilku długich latach wracam do programowania i mam następujący problem. Próbuje uruchomić pomiar z kilku kanałów przetwornika ADC1 i umieszczać ich wyniki w tablicy za pomocą kanału DMA. Niestety otrzymuje cały czas zera. Wyprowadzenie PA1 bezpośrednio do 3V. Program: [syntax=c] char tab_TX[100]={"0"}; unsigned int tab_ADC[100]; RCC->APB2ENR...
Witam. Rozpocząłem przygodę z programowaniem układów STM32F4. Nabyłem płytkę XNUCLEO-F401RE (kompatybilną z NUCLEO-F401RE) oraz skorzystałem z kursu który znajduje się pod tym linkiem [url=http://forbot.pl/blog/artykuly/prog...
Ja też uważam problem za sztuczny. Skoro jest sobie linijka CMOS i do niej przypięty ADC, to jest jakiś interfejs; szeregowy, równoległy czy jakiś abstrakcyjny. Jeżeli przetwarzanie obrazu ma być tylko dla wciśniętego przycisku, to jaki problem w przerwaniu np. SysTick czytać ten magiczny przyciski i jeżeli jest zgodność, to wywołać funkcję CMOSReadStart();,...
(at)ElektrodaBot Dzień dobry, zmagam się z nietypowym problemem. Zepsuł mi się ostatnio moduł I2S2 MOD podłączony do stm32f407, który zawierał zarówno ADC jak i DAC działający po I2S. Kupiłem coś tańszego - jako ADC PCM1808, oraz jako DAC PCM5102. Wcześniej działałem na full-duplexie, teraz jestem zmuszony działać na half-duplexie. Napisałem prosty...
To może wgraj oryginalną zawartość z Nucleo F411 jaka jest w nówkach na dzień dobry, by przynajmniej sprawdzić Nucleo plus ST-link. On tam miga i reaguje na przycisk może pamiętasz: No jest jakiś postęp chociaż nie wiem czy można to nazwać postępem. Wgrałem ten program, wyrzucił mi jakiś błąd elf loadera ale ostatecznie znalazł się w pamięci: Dodano...
Strona 249, tam jest o Systick'u.
Hej :) Staram się zaprogramować przerwanie, które powoduję że cyfry na poczwórnym wyświetlaczu mrugają, lecz niestety mi to niewychodzi :( Czy ktoś mógłby sprawdzić gdzie ja popełniłem błąd? [syntax=c] #include <stm32f4xx.h> #include <stm32f4xx_rcc.h> #include <stm32f4xx_exti.h> #include <stm32f4xx_tim.h> #include <stm32f4xx_gpio.h>...
Z HAL'a nie korzystałem, ale taki kod z SPL działa w 100% - wystawia na DAC'a po kolei, cyklicznie próbki z tablicy z częstotliwością kontrolowaną preskalerem TIM1->ARR - fragment prostego generatora opartego na STM32F4: [syntax=c] GPIO_InitTypeDef GPIO_InitStructure; RCC_ClocksTypeDef RCC_Clocks; DAC_InitTypeDef DAC_InitStruct; DMA_InitTypeDef DMA_InitStruct;...
Mam funkcję sin(x) zapisaną w tablicy y_sin_obl[100] czyli 100 próbek (przeliczone na wartości 0-4094 żeby do DAC można było od razu wpisać). Konfiguruję PLL: void pll_init(void) [syntax=c]{ // HSI enable RCC->CR|=RCC_CR_HSION; // HSI enable while(!(RCC->CR&RCC_CR_HSIRDY)); // wait for HSI ready RCC->CFGR |= RCC_CFGR_SW_HSI; //Select HSI...
inicjalizacja /*--------------------------------------... * L3GD20 SPI *---------------------------------------... #define L3GD20 GPIO_BSRR_BS_1 #define L3GD20_SS_ENABLEGPIOA-> BSRRH |= (L3GD20) //Reset #define L3GD20_SS_DISABLEGPIOA-> BSRRL |= (L3GD20) //Set...
Witam serdecznie. Zacząłem się bawić PWM w smt32f4 w trybie DMA. Korzystałem z tego kursu tutaj: https://forbot.pl/blog/kurs-stm32-f4-8-z... Generalnie wszyto działa, ale jak chciałem sobie zmienić kierunek DMA (czyli nie zpamieci do peryferiów), ale na odwrót - z peryferiów do pamieci to w zmiennej duty mam cały czas...
Niestety nie posiadam oscyloskopu. A tutaj kod: lib_ina219.c [syntax=c] #include "lib_ina219.h" extern I2C_HandleTypeDef hi2c1 ; uint16_t ina219_powerDivider_mW; uint16_t ina219_currentDivider_mA; uint16_t ina219_powerDivider_mW; /***************************************... /*! (at)brief Sends a single command byte over...
Dzięki za odpowiedź:) Negacja składowych GX, GY jak najbardziej wynika z orientacji sensorów. Na płytce ewaluacyjnej (Rysunek 3) Widać, iż osie X,Y żyroskopu L3GD20 mają są przeciwnie zorientowane względem założonego układu współrzędnych i co do tego nie mam wątpliwości. Zastanawia mnie natomiast oś Z, a właściwie potrzeba zanegowania GZ. Dziwi mnie...
Po czym poznajesz że przerwania od Systicka nie działają? Próbowałeś bez FreeRTOSa migać diodkami? Bez FreeRtosa przerwania działają, z FreeRtosem nie. Próbowałem też wkleić do folderu z projektem pliki freertosa, następnie wskazać kompilatorowi ścieżki do tych plików http://obrazki.elektroda.pl/7435613900_1... Próbuję kompilować i...
Nie, procek się nie grzeje Zworek nie ruszałem, St-link (oba) na dole JP2 i JP3 też i na górze JP1 zwarte jak były Programuję w środowisku Keil v5 #include "delay.c" #include "delay.h" #include "stm32f4xx.h" void GPIO_Config(void) // konfiguracja portow gpio { GPIO_InitTypeDef GPIO_InitStructure; //tu nalezy...
Nic nie wspomniałem, że używam dwóch przerwań jednocześnie. Po prostu chciałem zrozumieć działanie przerwań zewnętrznych, nie od timera, nie od czegokolwiek innego tylko i wyłącznie przerwanie zewnętrzne. Napisałem, że wiem jak używać testowania przycisku przez przerwanie od timera, notabene SysTicka. Chciałem tylko zrozumieć konfigurowanie oraz używanie...
Dzień dobry, Dopiero zaczynam swoją przygodę z uC, mniej więcej ogarniam język C i stanęło przede mną zadanie napisania kodu sterownika do diod WS2812B. Wiem, że na temat tych diod było już sporo wątków na forum, więc będę się streszczał. Sercem sterownika ma być docelowo mikrokontroler z serii STM32F0 lub STM32F4, w zależności od tego jak dużo będę...
Cały plik main. [syntax=c]/** ****************************************... * File Name : main.c * Description : Main program body ****************************************... * * COPYRIGHT(c) 2016 STMicroelectronics * * Redistribution and use in source and binary forms, with or without...
Skorzystałem z zamieszczonych przez Was kodów i ciągle coś mi nie wychodzi =/ Poniżej zamieszczę kody źródłowe, może Wy znajdziecie jakieś błędy. Wątpię żeby wszystkie kody które wykorzystałem do tej pory były złe - więc albo popełniam jakieś błędy podczas inicjalizacji ssd1963(chodzi mi tutaj o parametry czasowe vertical i horizontal sync mimo, że...
Wiem że może. Dawno nie ruszałem ST32 tak ze sobie odswierzam pamiec. Na drugą płytke wycisnałem asynchronicznie ~3.8Mbps. Tak byem ciekaw jak szybko mozna do pc-ta uzywajac J-linka jako USB <> COM Ale jak chcesz kod. USART2 na 45MHz. [syntax=c]USART2 -> BRR = (((FCLK / (8UL * SPEED)) << 4) | FRAC(FCLK, SPEED)) ; USART2 -> CR1 = (USART_CR1_TE...
ok, odblokowałem, odkomentowałem, lecz pojawił się kolejny problem, z którym naprawdę nie wiem co zrobić: .\obj\gpio_test.axf: Error: L6218E: Undefined symbol TimingDelay_Decrement (referred from stm32f4xx_it.o). Jak otworzylem plik stm32f4xx)it.c to odnośnie timingDelay zobaczyłem tylko takie coś: [syntax=cpp] void SysTick_Handler(void) { TimingDelay_Decrement();...
Witam, od dłuższego czasu walczę z tym problemem i nie potrafię znaleźć rozwiązania. Mam projekt, który pochodzi z anglojęzycznego tutoriala: [url=http://www.mind-dump.net/configurin... Wrzucony do Keila i skompilowany działa jak powinien. Problem w tym, że próbuję przenieść go na wykorzystanie bibliotek HAL, z których...
https://www.olimex.com/Products/ARM/ST/S... [syntax=c]/** ****************************************... * File Name : main.c * Description : Main program body ****************************************... * * COPYRIGHT(c) 2016 STMicroelectronics * *...
Oto i plik konfiguracyjny: [syntax=c] /* FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd. All rights reserved VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. This file is part of the FreeRTOS distribution. FreeRTOS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public...
Próbuję bawić się systemem FreeRTOS. Mam problem, gdy uruchomię tylko jedno zadanie led lub tx to wówczas one działają. Gdy próbuję uruchomić 2 zadania, nie działa nic. Próbowałem zmieniać rozmiar stosu, priorytety zadań i nic. [syntax=c]#include <stm32f4xx_usart.h> #include <misc.h> #include "stm32f401_discovery.h" #include "usart.h" #include...
Cześć Wiem że temat jest delikatnie mówiąc już nie świeży, ale pomimo postów które znalazłem w internecie nie mogę do tego dojść samodzielnie. Korzystam z Semihostingu na uC STM32F411 płytka Discovery, programowana przez ST-Link. Semihosting udało mi się uruchomić: Flagi w Properties->C/C++ Build->Settings->MCU G++ Linker -> Miscellaneous : Linker flags:...
Witam, mam problem z odczytem danych z rejestru SPI->DR a dokładnie ostatni bit danych jest często przekłamany(niezgodny z tym co obserwuję analizatorem stanów logicznych: na analizatorze 1, w rejestrze 0 i vice versa). Nie wydaje mi się, żeby był to problem hardware-owy, gdyż dzieje się tak tylko w przypadku jednego bitu słowa. Dane są odczytywane...
Witam Was mam taki problem i nie wiem jak sobie z nim poradzić. Słowem wstępu Mk: stm32303vct6 zestaw discovery podłączony kwarc tak jak poniżej http://obrazki.elektroda.pl/9922777300_1... zwarte SB17 SB18, rezystor już był, dolutowałem C23, C22 - 22pF (nie miałem 20pF) SB12 do MCO nie ruszałem, jeszcze nie wiem do czego mogę MCO użyć...
Podepnę się do tematu bo mam ten sam problem, ale wasze rozwiązania nie pomogły: Próbuję uruchomić projekt z powyższej strony na STM32F4 na Eclipse. Utworzyłem nowy projekt i skopiowałem do niego pliki źródłowe i nagłówkowe. Wywaliłem systemową bibliotekę z przedrostkami "hal" i zamieniłem ją ściągniętą ze strony ST: STM32F4xx_DSP_StdPeriph_Lib_V1.3.0....
(at)sulfur Dopiero teraz znalazłem czas żeby dalej zająć się CANem. Ustawiłem tak jak mówiłeś i dalej nic. Nie mam pomysłu co sprawdzić . Tak jak wcześniej wspomniałem mam przejściówkę USB/CAN za pomocą której próbuję przetestować CANa. Program do obsługi tej przejściówki w ustawieniach transmisji wygląda następująco : http://obrazki.elektroda.pl/8802608800_1...
Witam od paru dni mam problem z poniższym kodem. Program ma zliczać impulsy generowane przez SysTick - macha on nóżką PA8 i po zliczeniu 20 uruchomić przerwanie TIM1, co spowoduje zmianę stanu załączenia diody ( Pin PA5 ). Niestety dioda wg się nie załącza. uC STM32f411RE. Proszę o wyrozumiałość dopiero zaczynam przygodę z ARM. [syntax=c] #include "stm32f4xx.h"...
Aktualnie najważniejsze pliki programu wyglądają następująco: main.c: [syntax=c]#include "main.h" //definicje stalych #define LINENUM 0x15 #define FONTSIZE Font12x12 #define LED1 GPIO_Pin_13 #define LED2 GPIO_Pin_14 #define PRZYCISK GPIO_Pin_0 //zmienne - definicje void Delay(__IO uint32_t time); extern __IO uint32_t TimmingDelay; unsigned short regVal;...
zrobilem taka funkcję która odczytuje plik, plik slyszłe odtwarzany jest cały ale niestety są ścinki jakby przycinało transfer, ustawiałem preskalery na rozne sposoby ale nic to nie daje, liczbe bufora również. wrzucalem mp3 , 96kbps,128 kbps, 320kbps to samo, nie moge uzyskać płynności. do vs mam podlaczony oscylator kwarcowy 12.288 MHz, [syntax=c]int...
Jednak jak ja patrzałem w dokumentację, to HSE jest podłączony i ma 8MHz Owszem ale jeśli HSE pochodzi z zewnętrznego sygnału a nie z kwarcu (oznaczonego na Twojej płytce jako X3, zabacz czy go masz), to trzeba w RCC->CR ustawić również bit HSEBYP. Bez tego bitu może działać ale nie wiadomo do końca jakie są tego skutki. Najdziwniejsze jest to,...
Za dużo tego jest :^( Z tego merge wynika, że zostało dodane/zmienione 55 plików :^O No widzisz, tak to właśnie wygląda (; Niemniej jednak z tych 55 plików 17 związanych jest z paczką CMSIS dla serii STM32F1 (external/CMSIS-STM32F1), a 9 związanych jest z wsparciem dla płytki NUCLEO-F103RB. Zostaje więc 29 (; Z tych 29 można wyodrębnić absolutne minimum,...
Witam, Programuje w CooCoox, toolchain arm-none-eabi. Na STM32F4discovery udało mi się odpalić freeRTOSa (z ripo CooCox) oraz odzielnie projekt urządzenia USB klasy HID. Oba moduły oddzielnie działają dobrze. W obydwu tematach jestem początkujący. Problem pojawia się,kiedy chce połączyć obydwie części. Nie działa;/ Prawdopodobnie winne są ramy czasy...
Witam Mam problem z płytką portem usb w trybie cdc (inne też nie działają) w stm32 z bibliotekami HAL. Próbowałem go uruchomić (używam płytki stm32f429i-disco) ale komputer wogóle nie widzi że został podłączony. main.c [syntax=c] /** ****************************************... * File Name : main.c * Description : Main...
systick interrupts systick handler stm32 systick
odpalanie styków nagrzewnica suszarni zmiana czasu letni zimowy
migająca kontrolka świecy zarowej płyta indukcyjna tranzystory
Renault Celtis - brak przepływu oleju na hamulce przyczepy Brak zasilania na zaworze w Peugeocie Partner 1.6 HDI