Kanał pierwszy tego timera generuje mi przerwania więc timer działa, tutaj jest tylko część kodu, mogę wrzucić cały program ale chciałem żeby kod był czytelny, i rzeczywiście pominąłem jedną linijkę: RCC_APB2PeriphClockCmd(RCC_A... ENABLE); Ale u mnie w programie jest...
Witam, mam następujący problem: na samym początku programu inicjalizuję wyświetlacz a następnie touch panel. Podczas inicjalizacji touch panela powinienem odbierać pewne dane z układu sterującego po uarcie. Jednak dopiero po uruchomieniu scheduler'a zgłaszane są przerwania z lini rx. Przeglądając...
a do jakiego układu chciałbyś podpiąć ten wyświetlacz ?, jeśli np do stm32f407, to poszukaj na propix (tam gdzie kupiłeś LCD) takiego zestawu Open407V-D [url=]Link Tam jest schemat podłączenia wyświetlacza itp "gadżetów" oraz przykładowe programy
Męczę się nad sposobem zaproponowanym przez dziechu. Nie wiem jak zrealizować przesył danych Z DCMI. To ma być DMA_Circular czy Normal Mode? Chodzi mi o to, że chyba DCMI nie może zostać wyłączone w czasie działania programu
Witam W nadchodzącym tygodniu zlecę wykonanie dla siebie płytki rozszerzeń JB LCD TFT STM32F4-Discovery Shield do 50-60 zł brutto + koszty wysyłki ( przy większej ilości płytek cena może ulec znacznej zmianie ) W razie pytań proszę pisać
Witam ! Chciałbym się nauczyć programować mikrokontrolery STM32. W tym celu zakupiłem płytkę testową STM32F4 DISCOVERY. Zainstalowałem wszystkie sterowniki, program do obsługi programatora ( gotowe programy wgrywają się i działają ), środowisko IDE - w moim przypadku CooCox oraz toolchain....
Witam, Chciałbym zaprezentować wszystkim swoją konstrukcję, która była również tematem mojej pracy inżynierskiej. Jest to LED Cube 4x4x4, który mruga w rytm muzyki. Układ sterowany jest za pomocą mikrokontrolera STM32F4Discovery. Sześcian można podzielić na cztery kolumny...
Siemka! Doszła paczka z płytką, cały zadowolony odebrałem, wchodzę do domu, rozpakowuje, SUPER! Czas to jakoś podłączyć... I tu zaczynają się schody. Próbowałem zrobić tutorial "freddiechopin" Eclipse + OpenOCD + GDB. Udało mi się zainstalować Sourcery G++, ale OpenOCD już nie......
Witam Od kilku dni staram się uruchomić pewien tajwański tani szmelc o nazwie HY_TFT320_262K ze sterownikiem (rzekomo) ili9320. Problem w tym, że cała dokumentacja i przykładowe programy, które do niego dostałem są w krzaczkach lub całkowicie nie dotyczą mojego modelu wyświetlacza. Stąd...
Potrzebuję wygenerować trzy sygnały do sterowania rejestrem: 1MHz, impulsy co 64. okres z 1MHz i podobnie 128. Mniej więcej wyglada to tak: __ __ __ __ __ __ __ __ __ | |__| |__| |__| |__| |__| |__| |__| |__| |__ 1MHz __ ...
Dzień dobry. Do układu wgrałem przykładowy program, PWM input obliczający częstotliwość, dostarczony do STM32F4-Discovery. Zamiast licznika TIM4 wykorzystałem licznik TIM5. Układ działa prawidłowo. Oblicza właściwą częstotliwość Inicjalizacja licznika: 2. Configure the...
Nie znalazłem tego problemu ani na elektrodzie ani na googlu, nawet po angielsku Jakiś czas temu zacząłem bawić się płytką stm32f4 discovery, mam wszystko skonfigurowane pod mini USB, pierwsze proste programy napisane, działające, itp. Dzisiaj pojawił się problem, jako, że bawiłem...
Witam, Próbuję przeportować projekt STM324xG-EVAL_USB_Host_HID na płytkę stm32f4-discovery bo tylko taką posiadam z tym procesorem. Potrzebuję wreszcie uruchomić hosta USB w moich projektach bo inaczej SBC na linuxie mnie niedługo wygryzą. Zmiany ograniczają się właściwie do: - usunięcia...
Witam, mam problem z funkcją wysyłającą dane przez SPI w STM32F4 a dokładnie ze sprawdzaniem flagi RXNE. Program zawiesza się na pętli sprawdzającej tą flagę mimo, że warunek jest spełniony...nie wiem o co chodzi, tutaj jest kod funkcji: void LIS35_WriteRegister(char addr, char v) { ...
Dałem ci link a erratą z odniesieniem do konkretnego pkt. Tak, tak, czytałem. Musze też potestować program, bo chyba jeszcze coś innego jest nie tak. Dodano po 8 Coś znalazłem. Działa taka sekwencja: [syntax=c] void LCD_WriteByte(uint8_t byte) { SPI1->DR=byte; while(TXE_bb...
Cześć, Projekt zaraz będę konfigurował od początku. Fakt, podałem za mało danych, wybaczcie, skrajna nerwica mnie na to wzięła. Od początku: Używam SW4STM32, ale chciałbym od tego odejść mocno, bo za dużo automatów i za mało szczegółów, może dlatego, że nie potrafię tego...
Bawiłem się ostatnio CAN'em na STM32F103. Program "demonstracyjny" nie został w pełni ukończony ale działa. Można by poeksperymentować z filtrami bo na początku konfigurowałem wszystkie (albo więcej niż wszystkie). Załączam ważniejsze pliki. Cube nie robi niestety wszystkiego. Sama konfiguracja...
Najpierw musisz określić jak chcesz odbierać dane w PC. Czy to co odbierzesz z sensorów ma służyć jako wirtualna mysz albo joystick (wtedy korzystasz z interfejsu HID) czy chcesz po prostu wyświetlać i/lub rejestrować surowe dane za pomocą jakiegoś programu i wtedy korzystasz z Communication...
Edit: DMA nie działało bowłączałem DMA2 a nie DMA1. Napiszę jak dalej pójdzie :] Cześć, mam pewne problemy z I2C, bazowałem na zmodyfikowanym kodzie od ST (jak mnie pamięć nie myli) najpierw używałem samych przerwań na najwyższym priorytecie jak ST przykazało, niestety od czasu do...
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...
Witam serdecznie Mam problem z okiełznaniem przetwornika DAC w wymienionym w tytule układzie. Zanim pokażę kod powiem, że już brak mi pomysłów, moim zdaniem robię wszystko identycznie jak w przykładowym programie "DAC_SignalsGeneration" z taką różnicą, że nie wykorzystuję mechanizmu...
Witam Chcę skomunikować się z DAC po magistrali I2C. Niestety nie wychodzi mi to. Program zawiesza się w tej pętli:[syntax=c]while(!I2C_CheckEvent(I... I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECT... tego co wiem jest to sprawdzanie czy adres się już wysłał, ale gdy zakomentuje...
To poczytaj sobie o pisaniu bootloaderów. Tu tematów było kilka. Po co marnować aż 512kB na bootloader? 1. start programu (jest lub nie) przy takiej wersji bootloadera zakładam ze będzie wgrywany razem z jakąś wersją aplikacji. 2. aplikacja na jakieś polecenie reaguje i wywołuje bootloader...
Witam, Mam następujący problem. Próbuję zaimplementować filtr Mahony/Madgwick służący do estymacji orientacji obiektu. Korzystam z procesora stm32F401 z akcelerometrem/magnetometrem LIS303DLHC oraz żyroskopem L3GD20 . Fragmenty not katalogowych akcelerometr/magnetometr Żyroskop ...
Witam Żeby nie zakładać nowego tematu. Jeżeli nie jestem w dobrym miejscu to proszę przenieść. Mam problem z TIM3 z częściowym remapowaniem. Proc. STM32F050C6 Po prostu nie działa. Proszę kolegów o zerknięcie na ten kod. Siedzę trzeci dzień i już mnie coś trafia. Pewnie jakaś drobnostka...
Hej, mam problem, z którym walczę od dłuższego czasu. Posiadam przetwornik A/C, z którego dane (słowa 16 bitowe) wypuszczane są w postaci szeregowej (bit za bitem). Próbuję zebrać te dane za pomocą przerwania od GPIO, które wyzwalane jest zegarem generowanym przez przetwornik (inna linia...
Ciężko coś powiedzieć, pokaż może funkcje main, sprawdziłbym dodatkowo jeszcze raz połączenia, jeśli jest to gotowy soft (całkowicie i nie modyfikowany przez Ciebie) to powinien działać, bo nikt w zasadzie nie udostępnia niedziałających projektów. Jeśli coś robiłeś sam to sprawdziłbym...
Witam, chciał bym zrobić prosty filtr cyfrowy oparty na stm32F4 Discovery, częstotliwość próbkowania ustalana była by za pomocą jednego z timerów w tym przypadku TIM1 (oczywiście może być inny). Niestety mam problem z ustawieniem wyzwalania przetwornika ADC1 przy pomocy timera TIM1. Poniżej...
Cześć, Mam problem z inicjalizacją macierzy przy wykorzystaniu biblioteki CMSIS podczas pisania programu dla Cortex M4. Postępuje według algorytmów opisanych na stronie producenta (dokładniej - zakładka - Matrix Initialization): wykorzystuje do napisania funkcję: void arm_mat_init_q31...
Witam. Zakupiłem płytkę STM32F4-Discovery z procesorem ARM. Mam zrobić projekt ale nie mogę sobie poradzić z podpięciem płytki z kompem i zaprogramowaniem jej. Czy ma ktoś jakiś poradnik od podstaw? Jaki kompilator użyć i jak krok po kroku wgrać pierwszy program?
Witam, Posiadam płytkę DISCOVERY z STM32F4 i próbuję uruchomić USB w trybie device. Napisałem prosty program w C# do wysyłania danych i wygląda to tak, że mogę wysłać jedynie 72 paczki danych. Steruję zapalaniem diod na płytce za pomocą strzałek na klawiaturze po 72 kliknięciu transmisja...
Stworzyłem kod konfiguracji zewnętrznego przerwania EXTI0 na PB0, reagującego na zbocze opadające. Niestety nie chce on działać. Próbuję już to uruchomić od wczoraj, niestety bez skutku. Czy mógłby mi ktoś wskazać w którym miejscu popełniam błąd. Program ma działać w taki sposób,...
Właśnie próbuje zapoznać się z płytką stm32f4-discovery i utknąłem przy akcelerometrze MEMS. Przykładowe aplikacje nie działają :( Na schemacie płytki jest układ LIS302DL na mojej natomiast "coś" o oznaczeniu: 8326 DSH 046PR W przykładzie ze strony jest: [syntax=c] /* Read...
Witam, rozpoczynam swoją przygodę z STM32F4 Discovery korzystając z książki "STM32. Aplikacje i ćwiczenia w języku C" Przy ćwiczeniu 0 tworzona jest funkcja RCC_Config(), gdy chcę jej użyc w swoim projekcie mam kilka błędów void RCC_Config(void) //konfigurowan... sygnalow taktujacych{ ...
Witam, chciałbym przesyłać dane przez USART za pomocą DMA (STM32F4). DMA jest aktywowane w przerwaniu od TIM2 w odstępach co 100 ms. Program wykonuje się, natomiast dane nie są przesyłane. Wiem, że na pewno przerwanie od TIM2 działa poprawnie. Jeśli ktoś wie gdzie może być błąd/braki...
Jest to możliwe - to że dany kanał jest przyporządkowany - przykładowo - do Timera, nie oznacza że może on wysyłać/odbierać dane tylko do/z timera. Niemniej jednak jeśli chcesz wysyłać dane do UART przez kanał DMA wyzwalany normalnie timerem, to musisz coś wymyślić, żeby nie przepełnić...
chciałem poćwiczyć z stm32f4 i mam problem z PWM na tim1. Zrobiłem to tak [syntax=c] #define PreloadEnabe_PWMmode1 ((uint16_t)0x0068) #define Tim1Af ((uint32_t)0x00080000) //pin PE9 alternate function motor::motor() { //pwm init RCC->AHB2ENR|=RCC_APB2ENR_TIM1EN; // zegar na timer1 RCC->AHB1ENR|=RCC_AHB1ENR_GPIOE...
Czy można skopiować jakiś program bezpośrednio z jednego urządzenia na drugie (STM32F4 Discovery)? Trochę mało konkretne to pytanie. Jeśli przypadkiem Ci chodzi o skopiowanie programu z jednego Discovery do drugiego (tego samego typu), to nie ma problemu (jeśli akurat nie jest ustawiona...
Witajcie! Kupiłem sobie taką śliczną płytkę jak w temacie i postanowiłem nauczyć się jej używać. No i wyszedł następujący problem, a może nie problem tylko ten typ tak ma: Ściągnąłem ze strony ST zip'a z różnymi przykładowymi firmware'ami i na początku chciałem pomrugać diodkami,...
Witam, jestem początkującym użytkownikiem atollica i mam z nim problem. Posiadam płytkę stm32f4discovery i próbuje podłączyć niego wyświetlacz hd44780, ale jest pewien problem. Tworząc nowy projekt w atol licu automatycznie mam tworzone pliki: Main.c Startup_stm32f4xx.s inne systemowe,...
Generalnie wygląda to tak, że program zatrzymuje się w tej pętli i nie może z niej wyjść: while(!(USART6->SR & USART_SR_RXNE)); Wygląda jakby nic nie było wysyłane, bo jak rozłącze PA9 i PC7 w momencie, gdy program znajduje sie w tej pętli to automatycznie przechodzi do kolejnych instrukcji,...
Swego czasu po instalacji: st-link_v2_usbdriver, STM32 ST-LINK Utility_v2.3.0 oraz libusb-win32-bin-debug-1.2.6.0 mogłem za pomocą programu STM32 ST-LINK Utility połączyć się z płytką i m. in. przejrzeć zawartość pamięci. Po odstawieni zabawy z płytą i wróceniu do niej po kilku miesiącach...
Witam. Napotkałem na dziwny problem który zachodzi podczas wywołania printf z dodatkowymi parametrami. Program na początku przez pewien okres działa i toleruje wywołania printf z parametrami a po jakimś czasie wstakuje w hard fault z tego powodu. jeśli wywołam samo printf na początku...
Witam Piszę program, który będzie musiał się synchronizować z siecią 230V. konfiguracja Timera: [syntax=c] TIM8->PSC = 168-1; TIM8->CR1 |= TIM_CR1_ARPE; TIM8->ARR = rotor_period; //20000-1+5000; TIM8->DIER |= TIM_DIER_UIE | TIM_DIER_CC1IE; TIM8->EGR |= TIM_EGR_UG;...
Witam. Mam następujący problem. Po kompilacji poniższego kodu za pomocą Eclipse z CodeSourcery otrzymuję częstotliwość Timera wynoszącą 18kHz, natomiast za pomocą programu Keil 53kHz. Wartości te zostały sprawdzone za pomocą oscyloskopu oraz analizatora stanów logicznych,...
Ok, doszukałem się, jest to TIMx Update Interrupt. Tyle, że Update Event nie jest generowany przy każdej zmianie CNT w trybie Encoder. Czyli jeśli dobrze rozumiem, np. Channel 5, Stream 4 może być wyzwolony poprzez TIM3_CH1 lub/oraz (?) TIM3_TRIG. TIM3_CH1 oznacza, że np. Output Compare zostanie...
Z góry uprzedzam, że jestem początkującym w programowaniu µC, jak i w języku C. Uruchomiłem już przerwanie od przepełnienia Timera 7. Działa prawidłowo, np. mogę mrugać diodą. Chciałbym teraz zwiększać w tym przerwaniu zmienną "i", a następnie korzystać z niej w głównej pętli...
Witam, próbuję zaprogramować mikrokontroler na powyższej płytce, używając CooCox'a wszystko się kompiluje ale kiedy chcę wgrać program jedyne co się pojawia w konsoli to: C:\...\drugi>"C:/CooCox/... program STM32F407VG "C:/.../bin/drugi.elf"...
Ten błąd kompilacji to przekroczenie rozmiaru pamięci ROM. Twój program jest za duży i się nie mieści a to jest dość dziwne bo F4 ma aż 1M pamięci ma program. Poszukaj sobie "AN3997 Audio playback and recording using the STM32F4DISCOVERY" . Do tego wbudowanego mikrofonu masz bibliotekę...
Używam środowiska, w którym dostępne jest coś podobnego do FreeRTOS. W moim programie używam przerwań od DCMI, Wywołują się one dość regularnie i uaktywniają wątek przetwarzający dane. Wszytko w zasadzie działa zgodnie z moimi przewidywaniami. Jednak bardzo sporadycznie następuje długa...
No i już wiemy - procek skacze pod 0 czyli nazwyczajniej niezainicjalizowany wskaźnik na funkcję. Czegoś nie inicjalizujesz...;] ..albo zbyt rozbudowany program i brak miejsca w RAM, odchudź program tylko do czyszczenia ekranu jakimś kolorem. To że FlexColor jakoś działa to nic jeszcze...
Witam, Mój problem polega na tym,że mam mikroprocesor STM32F407VG na płytce discovery. Napisałem krótki program testowy (CoIDE),który na płytce discovery normalnie się odpala i miga diodami. Po przelutowaniu mikroprocesora na moją płytke prototypową,układ nie chce wystartować. Daje się...
Witam, podłączyłem do mojej STM moduł Bluetooth, następnie chcąc wysłać do płytki przez program RealTerm dane np, liczbę 1 , zostaje ona zapisana w pamięci uC jako 254, 2 jako 252, 3 jako 254 itd. Dopiero przy 8 następuje zmiana na 254 , a później ponownie wraca naprzemiennie 252 i 254...
Witam ponownie. Chyba niechcący włożyłem kij w mrowisko... Ja nieraz z premedytacją używam SPL-a i nie wstydzę się tego... Mój profesor od informatyki ( kieeeedy to było... ) mówił zawsze tak: "lepszy jest program źle napisany, ale taki, który działa, od najlepiej napisanego, który...
Siema, jak sprawdzasz czy działa ci przetwornik, w jakim programie piszesz (chce pomóc ale nie wiem w którym momencie masz problem, bo kilku rzeczy na pewno brakuje) 1) zdefiniuj buffer w taki o to sposób (jako tablicę o 1 wartości): uint16_t buffer[1] = {0xFFF} a kod uruchomienia powinien...
Aby było prościej to zrezygnujmy z DMA. Przy zwykłym wysyłaniu stringa efekt jest taki sam. Wysyłam tak: GCC HOME: C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2014q4\bin compile: [mkdir] Skipping C:\CooCox\CoIDE\workspace\DMA\dma\De... because it...
Heh nawet nie wiedziałem że są dwa programy Cube i CubeMX Edit : Ok już widzę zwykle cube to nie program tylko pakiet softu
Nie chciałem zakładać nowego tematu bo wiem z doświadczenia, że jest to męczące dla zaawansowanych użytkowników i sprawia problemy w późniejszym szukaniu. Otóż. Posiadana przeze mnie płytka to nie Discovery, ale Nucleo F429ZI. niestety jestem początkujący ;( a za zadanie dostałem...
W oknie debugera możesz zobaczyć ile czasu wykonują się poszczególne fragmenty programu.
Małe podsumowanie, miałem nadzieje znaleźć coś gotowego, prostego w konfiguracji co mocno przyspieszyło by mi robienie prostej automatyki. Niestety jak na razie nie ma czegoś takiego, natomiast jest kilka opcji, żeby to zmienić. LDmicro - spoko program ale niestety do STM32F40x i F10x (bluepill)....
Witam, Korzystając z makefile of projektu FreddiegoChoppina z STM32 blink... po drobnych modyfikacja flagi kompilacji na m4 oraz ścieżki dostępu do pliku linkera konsola wyrzuca mi taką informację: [syntax=actionscript] ***... Build of configuration Default for project bob **** cs-make all...
W moim kodzie jest (w zasadzie będzie bo to testy na razie) dużo skoków i odczytywania stałych z pamięci. Rozumiem działanie waitstat-ów, których zadaniem jest "dopasowanie" wolniejszej pamięci Flash do szybkiego rdzenia, pobierającego dane z większą szybkością niż ta na to pozwala. Niestety...
Takie graficzne konfiguratory czy automaty do pisania programow, to nie kwestia lenistwa itp. w końcu tylko bawię się tym programowaniem i nikt za to mi nie płaci. To raczej kwestia czasu, kosztów itp. Firmy maja coraz mniej czasu na przygotowanie nowych produktów, jest taki dość dziki wyścig,...
while(!(I2C3->SR1&I2C_SR1_ADDR)); program nie wychodzi z drugiej pętli Drobna rada - jeśli robisz to krokowo w debuger to nie zatrzymuj się w pętli while tylko przeskakuj za nią, naciąłem się na tym ostatnio. Nawet przy działający programie jeśli się zatrzymasz w while to się...
Witam, mam napisaną następując biblioteke do obsługi HD44780, Wyświetlacz jest podłączony do portu E do linii 7-13. Pisze następujący program: [syntax=c]GPIO_InitTypeDef GPIO_InitStructure; void Delay(__IO uint32_t nCount); int main(void) { NVIC_SetVectorTable(NVIC_VectTab_FLAS...
Witam. Mam problem ze znalezieniem dokumentacji do procesora która będzie precyzowała jak obsługiwać porty I/O. Od wczoraj próbuje coś znaleźć z marnym skutkiem. Jedyne co, to na podstawie analizy przykładowego programu ustaliłem gdzie w pamięci są obszary odpowiedzialne za poszczególne...
Z plików Pana Freddiego utworzyłem sobie plik RCC.c dodałem go oraz katalog hdr. W programie [syntax=c] #include <RCC.c> #define CRYSTAL 8000000ul #define FREQUENCY 168000000ul .... fpu_enable(); pll_s... FREQUENCY);[/syntax] Wszystko się kompiluje bez problemu...
Witam, do tej pory pisałem program w którym F4 komunikowała się z zewnętrznym przetwornikiem DAC AD5724 poprzez SPI, gdzie funkcja wysyłania oparta była o sprawdzanie flagi TXE oraz BSY. Przy takim sposobie komunikacji mikrokontroler nie potrzebnie oczekiwał w pętli while na koniec transmisji...
Nie pomogło, bo nie zainstalowałeś dobrych sterowników. Jak zainstalujesz libusb-win32, to ST-LINK GDB serwer przestanie działać, a OpenOCD zacznie. Obydwa te programy NIE MOGĄ działać na tych samych sterownikach. 4\/3!!
Trzeba kupić pełną wersję Keila (bez ograniczeń) albo zacząć używać darmowego i OTWARTEGO oprogramowania bez ograniczeń. A jak się program zmniejsza? To proste - wykasuj parę linii (szczególnie takich z wywołaniem jakichś funkcji) i program się zmniejszy (; 4\/3!!
Witam. Próbuje połączyć enkoder z drukarki z procesorem. Posiadam 2 różne typy jeden z 4 wyprowadzeniami połączyłem go tak jak na rysunku. Oraz taki z 6 wyprowadzeniami tutaj mam problem ponieważ diodę jeszcze podłącze ale z pozostałymi 4 nie mogę sobie poradzić tutaj też przydała...
Dzięki. Niestety kod nie działa tak jak i tamte licznik cały czas 0. Jako odczyt stosuje w pętli while Dodano po 49 Dziwne port E sie uszkodził piny PE0,1 nie funkcjonują teraz sprawdzam na pinach PE2,4 programowo mogę sprawdzać stan na nich niestety przerwania od tych pinów nie...
Witam, jakoś nigdy nie zagłębiałem się bardziej w temat System handlers i Fault handlers ale teraz powstało parę pytań. Załóżmy że zbudowałem urządzenie, które ma być skierowane do produkcji. Zostało ono prze zemnie przetestowane i działa prawidło. Stąd czy powinienem jakoś zwrócić...
Witajcie, Posiadam płytkę STM32F4DISCOVERY z procesorem STM32F407VG. Używam pakietu Eclipse + linaro + openOCD skonfigurowanego wg opisu Freddiego Chopina. Uruchomiłem również przykładowy program stm32f4_blink_led. Chciałem dołożyć obsługę USART1. Konfigurację napisałem w pętli main. [syntax=c] int...
nie totalnie, ale początkującą. Etapy podane przez Ciebie nie są tajemnicą :P wiadomo że samo się nie napisze. Nie oczekuje też epopei narodowej. Tak jak pisałem wyżej. wykaz poszczególnych kroków , nie musi to być odrazy mp3 player, może być wave. Widziałem przykład wave player, jednak...
Od kilku dni zabawiam się kamerką OV7670, próbuję pobrać z niej obraz w formacie RGB565 i o mało ambitnej rozdzielczości QCIF(bo taki zmieści się w całości w RAM). Program, który napisałem ma za zadanie w przerwaniu pobrać obraz do pamięci, zatrzymać przerwanie i zapisać zawartość...
W moim programie mam tak i działa: [syntax=c] unsigned char spi_send(unsigned char byte) { unsigned char spi_rx; SPI2->DR = byte; while(!(SPI2->SR & SPI_SR_TXE)); while(SPI2->SR & SPI_SR_BSY); spi_rx = SPI2->DR; return spi_rx; } [/syntax]
Nie używam asemblera, a program staram się pisać by był jak najprostszy.
Zerknij do asemblera to będziesz wiedział dlaczego. Już na etapie kompilacji kompilator sobie stwierdza "tu nie ma czego liczyć podczas wykonywania programu" .Procesor nie robi żadnego dzielenia, nie liczy także żadnych sinusów tylko sobie podstawie wartości do zmiennych i nic innego nie...
Zkąd to się wzięło? Czytamy uważnie, bo już o tym pisałem... 15 Paź 2012 19:22 - to zaledwie wczoraj, kilkanaście godzin temu. Też jest problem tego rodzaju że jeśli omyłkowo zapomnę gdzieś ";" to oczywiście wykryje to kompilator. Normalnie powinno być tak, że po poprawieniu...
Witam. Postanowiłem sprawdzić oprogramowanie CooCox (CoIDE) na mojej płytce stm32f4Discovery. Po zainstalowaniu: CooCox CoIDE Version: 1.5.1, gcc-arm-none-EABI-2012q2-4_6-20120614 i ustawieniu w tolchain ścieżki. Mogę bez problemu kompilować programy mogę je też wgrywać niestety gdy nacisnę...
Bazować będę na moim przykładzie dla STM32F4. W skrypcie linkera masz na górze definicje pamięci - regionów. Skoro chcesz korzystać z RAM, to po pierwsze kasujesz w ogóle region odpowiedzialny za flash. Czyli z czegoś takiego: MEMORY { rom (rx) : org = 0x08000000,...
Funkcja do wysyłania stringa nie korzysta z RTOS. Debugger też posiadam. Wydaje mi się że zadanie nie utkwiło w żadnej pętli, bo popierwsze prześledziłem wszystkie funkcje wystepujące w zadaniu i w żadnym potencjalnym miejscu program nie "wisi". Pozatym zadanie diagnostyczne ma o wiekle nizszy...
Witam, by zaznajomić się z uC wybrałem zestaw STM Discovery na Cortex M4, zainstalowałem MDK-ARM Keil uVision 4.60. Chciałem przerobić program demo, tak by naciśnięciu przycisku USER zapalały się LED'y. Takie o proste na początek. Przy kompilacji wyskoczyły mi dwa błędy: error: #20:...
Freddie, ja uważnie czytam, raczej wydaje mi się ze Ty nieuważnie czytasz co ja piszę... Wszędzie piszę że konfigurację robię dla największego możliwego kwarcu. przedstaw obliczenia które pokazują że PLL ustawione dla 8MHz będzie działać z kwarcem 25MHz. Gdybyś mnie zrozumiał...
Witam, Czy jest jakiś sposób aby przesyłanie programu z Keila wprost na discovery odbywało się tylko przyciskiem "load" ? Pozdrawiam,
Witam Napisałem taką procedurę przerwania od AWD [syntax=c] extern volatile int counter; extern volatile int timer; void ADC_IRQHandler() { volatile int AdcVal; AdcVal = ADC_GetConversionValue(ADC1 ); if (AdcVal <= 700) { ADC_AnalogWatchdogThresholdsConfig(... 2000, 0); counter++; timer...
Facet czego się czepiasz, wyraźnie po raz 4 mówię kod sprawny!! działał na stmf103. wcześniej na avr. A dla zaspokojenie twej ciekawości adres obsługi przerwanie to : 0x80008f1 A kompilacja przebiega bez ani jednego warninga. przerwanie wywoływane jest poprawnie. Wstawienie pętli...
Używam szablonu projektu Freddiego zmodyfikowanego pod biblioteki od ST wg opisu ze strony. Poniższy przykład się kompiluje pod Linaro, sterownik wzięty z przykładów, w debuggerze wyraźnie się wykonuje, LEDem sprawdzam, czy się poprawnie inicjalizuje i tak jest. Wszelki inny kod się poprawnie...
Czy naprawdę nie łatwiej wgrać w mikrokontroler gotowy program, który robi dokładnie to, co ten konwerter, ale za darmo? Radosna twórczość... Przecież po to jest USB w uC, żeby z niego korzystać, kiedy się chcemy połączyć przez USB.
Dziękuję bardzo wszystkim za odpowiedzi. Zacząłem od skonfigurowania Eclipse z Open-ocd 0.6.1. Niestety z procesu debugowania wynika nadal że procesor się ciągle restartuje. Dzisiaj około 19-20 postaram się odczytać rejestr przechowujący "source reset". Piotr Piechota : Według mnie...
Pokaż program. Używasz SPL? Ustawienia zegarowe generujesz z arkusza kalkulacyjnego dostępnego na stronie STM (clock configurator się to chyba nazywa) - ten arkusz generuje Ci plik z konfiguracją zegarów. Potem dla ustawienia baudrate poprzez SPL musisz dodatkowo w linii poleceń kompilatora...
Witam udało mi się zainstalować i skonfigurować CooCox + linaro + STM32F4 Discover Board. Wiem, że najpierw tworzy się nowy projekt, wybiera procesor i można w zakładce repository zaznaczyć co będziemy używać np. GPIO. I to działa bez problemu. Nie rozumiem tylko gdzie w takim przykładzie...
Na początek proponuję nie różnicować priorytetów, czyli ich nie ruszać. Uruchom parę programów z "płaskimi" przerwaniami, a potem dopiero grzeb w priorytetach, jeśli naprawdę musisz.
Dzięki Wam jestem o krok dalej :-) Teraz próbuje odczytać 6 rejestrów zawierających dane o przyśpieszeniu z każdej z osi (dla każdej z nich po 2 bajty. Funkcja odczytu: [syntax=c] void i2c_read(uint8_t adres, uint8_t reg_adres, uint8_t * dane, uint8_t len ) { uint32_t dummy; I2C1->CR1...
Witam wiem, że to trochę śmieszne pytanie ale niestety walczę z tym już drugi dzień. Ściągnąłem przykładowy program ze strony Freddiego pod ten procesor. Jako edytora używam Eclipse. Niestety nie potrafię dodać stworzonych przeze mnie plików z rozszerzeniem *.c oraz *.h do projektu....
Jak dopisuję tą linijkę: [syntax=c]SysTick -> LOAD &= ~(SYSTICK_F/1000000 - 1); [/syntax] to program zawiesza się w miejscu wywołania delay'a. Nie mogę nawet podejrzeć wartości load w debugerze.
Witam mam za zadanie napisać program odczytujący dane z 4 wejść 12-bitowego przetwornika ADC MCP3208 . Przetwornik komunikuje się po SPI. Dane potrzebuję odczytywać z częstotliwością ok. 100-200Hz. Najpierw do układu trzeba coś wysłać, dopiero potem odbieramy nasze wartości. I teraz...
Uproszczenie opcji nic nie dało. A te opcje "-Wl,--start-group -lgcc -lc -lc -lm -Wl,--end-group --specs=nano.specs -u _printf_float" są z readme.txt do linaro żeby użyć nanolib. Ze standardową biblioteką też są te błędy. Z manuala do gcc -fwhole-program Assume that the current compilation...
Generalnie to wygląda to trochę tak jakby po wejściu do funkcji xTaskCreate program się zawieszał i z niej nie wychodził.
Witam, standardowo akcelerometr na płytce przeznaczony jest dla komunikacji SPI, ale wydaje mi się, że nie powinno być problemu, żeby skonfigurować go pod I2C. 1. Ustawienie czujnika w tryb I2C po przez ustawienie stanu wysokiego na nożce CS podpiętej do pinu PE2 lub PE3 (PE3 jest raczej...
Chciałem zapytać jak to jest z VID i PID, że dane urządzenie jest widziane dla przykładu jako klawiatura a inne jako mysz? Mam gotową bibliotekę HID która działa z terminalem w programie. Co zrobić jeżeli chciałbym by urządzenie było widziane jako port COM?
Witam. Jestem nowy jeżeli chodzi o ARM'y wszelkiej maści :) Planuję napisać program wysyłający dane do kompa z dużą prędkością (~120 Mbps i więcej jakby się udało ;) ), narazie znalazłem bibliotekę umożliwiającą komunikację z PC za pomocą wirtualnego portu COM, nie wiem tylko...
Przesyłam gotowy program na PC i kod do STM32F4-Discovery na USB HID. Kto jest zainteresowany kodem wyślę na pocztę.
ma ktoś może przykładowe programy z wszelkimi potrzebnymi nagłowkami i plikami źródłowymi do wyświetlacza LCD do tej płytki str 21 :( bo te z książki coś nie trybią :( <a href="">tu jest właśnie anchor text linka</a> edit: ściema w dokumentacji...
Witam Zacząłem się bawić ARM, no i postanowiłem napisać sobie funkcję której będę używał do wstępnej konfiguracji zegarów. Problem jest następujący, gdy kompiluje kod bez dodania funkcji do main.c, to wszystko się ładnie składa bez błędów. Natomiast gdy tylko dodam funkcję do...
Dodam, że działanie w programie fliczba=1.234+2.457; działa prawidłowo.
No dobra, co do problemu z wczoraj to doszedłem do tego że wykorzystywałem definicje zmiennych np: uint_8 bez nagłówka "stdint.h". Generalnie działa ALE... Teraz zmienna pm (do której zapisuje wynik z ADC1) ma wartość od ~5100 do ~65520 - w zależności od położenia potencjometry. To znacznie...
Witam Co nie tak robię we fragmencie programu czekającego na niski stan na linii 12 portu GPIOB: [syntax=c] #define DRDY_bb bitband_t m_BITBAND_PERIPH(&GPIOB->ODR, 12) // makro Freddeiego Chopina while( DRDY_bb == 1 ); // tak nie działa a podobało by mi się while( GPIOB->IDR...
Próbuje ostatnio samemu zainicjalizować USB. Problem w tym, że niby ustawienia rejestrów są zgodne z dokumentacją, PCet wysyła paczkę SETUP (wnioskuję to na podstawie rejestru OTG_FS_GRXSTS) i w tym momencie mam problem, albo nie potrafię odczytać tego co dostaję, albo dostaję jakieś śmieci. [syntax=c] RCC_AHB1ENR_GPIOA...
Witajcie, W celach ćwiczebnych napisałem sobie krótki programik, którego zadaniem jest wysłać tekst przez UART'a. Niestety z nieznanych mi powodów UART wysyła tylko jeden lub dwa znaki, a dokładniej rzecz biorąc to z tekstu "test UART4" w terminalu widzę jedną z liter i zawsze 4. Przykład: ...
Dziękuję za odpowiedź. Postaram się dzisiaj coś napisać. Jak będę miał problemy to się jeszcze zgłoszę:) Niestety na tym samym I2C wisi jeszcze żyroskop ITG3200 który także muszę odczytywać z tą samą częstotliwością:/ Jeśli ktoś ma jeszcze coś do powiedzenia, jakąś podpowiedź...
Dzień dobry, Posiadam STM32F4-Discovery (STM32F407VG) oraz DP83848, na stronie producenta znalazłem przykładowe programy demo, projekty które są stworzone pod Keila. Podczas próby kompilacji wyskakuje błąd ograniczenia. W jaki sposób mogę skompilować te kody żeby się "pobawić" tymi...
Muszę przyznać, że Chcesz programować w C++, RTOS? ARM = tak, AVR = nie. bardzo mnie zachęcił. Znalazłem zestaw czy taki zestaw będzie dobry na początek? Proszę Was, wypowiedzcie się, nie chcę podejmować decyzji na podstawie jednej opinii :D. Nie chodzi o pieniądze, majątek...
Zaraz zaraz koledzy... nikt nie mowil tutaj o jakims dokladnym odliczaniu czasu... bylo to powiedziane orientacyjnie, nawet niech ten while pojdzie w dwoch instrukcjach assemblera (odejmowanie i skok) to zrobi sie z tego 2*15MHz czyli 30MHz a nie 168MHz... a zaloze sie że 32bitowy ARM ogarnie to w...
napisalem kod do komunikacji poprzez spi jednakże odczyt nie zawsze jest poprawny. daltego mam kilka pytan : 1. czy powinienem miec jakies podciagniecia pinow miso/mosi/sck 2. kiedy powinienem zmienia stan pinu na lini SS (jestem masterem) 3. jak powinna wygladac krokowo komunikacja aktualnie mam 1.inicjalizacja...
Witam, w pliku konfiguracyjnym od systemu mam taką stała: [syntax=c]#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIO... wywołam w przerwaniu o priorytecie ustawionym z przedziału 0-4 funkcję xQueueReceiveFromISR, program zawiesza się. Wychodzi na to, że mogę ustawiać...
Rozumiem i widzę, że każdemu to wpajasz ale spójrz na kod który zamieściłem i jeśli możesz to wyprowadź mnie z błedu bo ja to widzę tak. Funkcja odbioru [syntax=c]void xmit_spi (BYTE Data) // Wyslanie bajtu do SD { while( !( SPI2->SR & SPI_SR_TXE )); SPI2->DR = Data; } static BYTE...
Witam! Mam problem z którym się dotąd nie spotkałem. Mam w pliku .c zadeklarowane i jednocześnie zainicjalizowane zmienne globalne. Dla jasności poniżej fragment wadliwego kodu. [syntax=c] const float a=1.0f; const float alfa=1.0f; const float T=0.01f; const float gyroNoise=1.0f; ...
Czołem W ramach studiów muszę przygotować projekt, którego elementem jest akcelerometr obsługiwany po I2C. Producent dostarcza przykładowy program do STM32F1xx który ja staram się przeportować do mojego STM32F407VG. Kod producenta wygląda następująco: [syntax=c]void IIC_Start(void){ SDA_OUT();...
Akurat "zarządzanie pamięcią" pod Windows ma niewielki związek z programowaniem mikrokontrolerów, podobnie jak typowe struktury programów, które pisze się na komputery osobiste. Podszkol się lepiej z przerwań i pisania programów w konwencji automatów.
Chyba zlokalizowałem źródło problemu. Niestety nie wiem jak je usunąć. Chodzi o funkcje zwracające czas w mikrosekundach i milisekundach - read_ms() oraz read_us(). Po wysłaniu poprzez USART do PC wartość którą wpisuję jako argument do funkcji kalman_calculate tj. (read_ms()-timer) pokazały...
Swoją drogą macie może pod ręką jakieś dobre i sprawdzone źródła (nie chodzi mi tylko o gotowe kody ale także o opisy lub artykuły np. w czasopiśmie - więcej mogę zrozumieć :)) na temat wyświetlania .bmp oraz .jpg? Z tymi pierwszymi jest łatwiej, z tego co słyszałem, ze względu na...
Witam, chcę stworzyć 1000-elementową tablicę floatów: [syntax=C]int main(void) { SystemInit(); float x_sin[1000]; while (1) { i++; } }[/syntax] jednak program nie dochodzi do pętli while, a zatrzymuje się w funkcji static void Default_Handler(void). Mój IDE to Coocox,...
Witam Posiadam zestaw STM32F4-Discovery i próbuję uruchomić projekt, który na wyświetlaczu LCD będzie wyświetlał odczyty z akcelerometru. Program jest z ksiązki p. Marka Galewskiego (zmieniłem konfigurację portów GPIO, żeby była kompatybilna STM32F4; w książce opisywany jest akcelerometr...
Witam. Mam pewien problem, miałem podłączony STM32F4 do laptopa, który pracował na baterii, pisałem sobie spokojnie program, gdy nagle wyskoczył komunikat o niskim stanie baterii w laptopie, a towarzyszył temu dźwięk "odpinanego" urządzenia z USB ( ten z Windowsa, pracuję na W7 ). Gdy pare...
Dzięki za zainteresowanie. FSMC w ogóle nie dotykałem. Napisze tak jak to rozumuje, a mogę to źle rozumować także zaraz mnie poprawcie jak coś. FSMC nie dotykałem, po mimo, że wiem, że STM ma właśnie FSMC co służy do wspomagania transmisji z LCD. Ale chciałem sie oprzeć na...
Witam wszystkich forumowiczów. Nie chciałem zakładać kolejnego tematu, a problem może dotyczyć wszystkich zaczynających swoją przygodę z tą płytką dlatego też napisałem tutaj. Programuje na STM32F407Vgt od tygodnia, wliczając w to budowę środowiska(Eclipse + OpenOCD 0.7.0 + GNU ARM eabi)....
Witam, próbuję napisać program, który łączy się z czujnikiem temperatury. Nie jestem specjalistą, więc proszę o pomoc. Moja funkcja inicjująca SPI: [syntax=C] void SPI1_Init_ML(void) { GPIO_InitTypeDef GPIO_InitStruct; SPI_InitTypeDef SPI_InitStruct; // enable clock for used...
Witam Posiadam płytkę STM32F4 Discavery chciał bym uruchomić USART6 ale przesyła mi złe dane. Sprawdzałem już zegary ustawienia usart ale nic mi już nie przychodzi do głowy. Zegary ustawione są przy pomocy funkcji SystemInit(). Cały plik sytem_stm32f4xx.c generowałem przy pomocy narzędzia...
Rezystancję termistora mam mierzyć względem temperatury pomieszczenia. Dokładność wyników nie ma znaczenia za bardzo. Przyznaję, że nie rozumiem co masz na myśli. Z tego co wiem, to termistor o ujemnym współczynniku temperaturowym (NTC) jest elementem służącym do pomiaru temperatury...
Dobra po lekturze częściowej manuala dla linkera. Zaczynam powoli przerabiać swój skrypt: Dodano po 14 PROVIDE(__stack_end = __stack_end); } > ccm_ram AT > ccm_ram chyba dopiero teraz udało mi się przenieść stos.
Witam wszystkich, Opisana konstrukcja jest częścią mojej pracy magisterskiej. Urządzenie ma za zadanie sterować wszelkimi silnikami PMSM wyposażonymi w enkoder inkrementalny. Zakres możliwej do ustawienia prędkości jest płynny od zera do nominalnej prędkości silnika z rozdzielczością...
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...
Witam! Potrzebuje pomocy w napisaniu programu do obsługi telnetu. Nie wiem jak zrobić żeby komputer połączył się z mikroprocesorem oraz żeby STM wysłał/odebrał cokolwiek. Muszę zaimplementować "jakiś" stos. Udało mi się uruchomić ten przykład polegający na tym, że przeglądarka...
To może lepiej zacznij trochę odwrotnie, mianowicie zacznij od takiego projektu jak "Template" i na jego podstawie modyfikuj program.
Brak. Bo kolega krru ma rację. Jak zmienna lokalna będzie miała volatile to każdy dostęp do tej zmiennej będzie wymagał LDR'a. Zresztą wygenerowanie listingu assemblerowego to dowodzi. Edit: SeerKaza, spróbuj porównac listingi przy różnych optymalizacjach. U mnie na O3 listingi są niemal...
Dzięki m.ki za odpowiedz. Właśnie się tak spodziewałem że tak jest. Oznacza to że w komendzie : SDA do pinu PB7, SCL do pinu PB6. I cały kod z definicjami i resztą.
Witam, Chciałbym skorzystać z dobroci posiadania jednostki FPU w moim procesorze. Po przeczytaniu kilku opisów i postępowaniu zgodnie z nimi myślę, że udało mi się uruchomić FPU. Testy przeprowadzam na poniższym kodzie: [syntax=c] volatile float fLiczba = 124573.73465; int...
Niezależnie od programu dioda LD8 od micro USB jest zapalona (over-current), a dodatkowo odbiór danych z UART na pinie PC11 jest niemożliwy zarówno dla UART3 i 4. Sterować tym pinem można, ale napięcie dla stanu wysokiego to tylko 2,4V. Jaka może być przyczyna, ma ktoś pomysł? Dziwne bo...
Witam, Podłączając zaprogramowaną płytkę do zasilania często muszę zresetować układ, aby kod programu zaczął się wykonywać. Nie przeszkadza to jakoś bardzo, ale na dłuższą metę staje się męczące. Czy jest sposób, aby zlikwidować ten problem?
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ć...
Witam, potrzebuję pilnie pomocy. ST Link na mojej płytce Discovery nagle odmówił współpracy. Działał bez zarzutu, debugowałem program, aż tu nagle przy kolejnej próbie zaprogramowania przestał działać. CooCox wyrzuca błąd, że nie może się połączyć, ST Link Utility daje "Internal...
Witam. Zacznę może od faktu, że jestem bardzo początkująca w tej dziedzinie i pewnie pytanie okaże się banalne. Posiadam płytkę STM32F4 Discovery i środowisko Atollic TruSTUDIO. Za jego pomocą wgrałam do mikrokontrolera przykładowy program ze strony STM, standardowe miganie diod, wszystko...
Posiadam płytkę STM32F429 i termistor LM35, za pomocą których mam zrealizować odczyt temperatury. Posiłkując się przykładowymi programem dotyczącym konfiguracji ADC udało się skonfigurować pin PF4 na odczyt analogowy. Wynik wyświetlany jest bieżąco na LCD, ale nie są skalowane w żaden...
więc... więc masz pewną filozofię konstrukcji programów, która nie jest filozofią powszechną. Ja dostosowuję strukturę programu do potrzeb, np. dla urządzeń zasilanych z sieci itp. nie zajmuję się sprawami poboru energii, a co za tym idzie nie używam tych funkcji procesora (chyba że...
Co robi takie cudo w wywołaniu funkcji: (uint8_t *)&img_buffer wystarczy po prostu: &img_buffer , nazwa tablicy jest również wskaźnikiem na pierwszy [0] element. Nie analizowałem całego programu, być może operujesz gdzieś na przypadkowym fragmencie pamięci.
Witam, podłączę sie pod ten wątek bo tytuł najlepiej oddaje moje uczucia, a nie chcę zakładać osobnego wątku "jak zacząć". Poszedłem za poradami na wikimarek.referata.com/wiki/Programo... po wielu perturbacjach udało mi się zainstalować kompilator debugger...
Cześć Przyszła pora na konfigurację USARTA i pojawił się problem polegający na tym, że nie dostaję tego co chcę przy odbiorze danych przez stm'a. W przerwaniu chcę odebrać ciąg znaków np. "Ala ma kota\n" i zapisać do bufora, jednak odbieram tylko "A" po czym program już nie wchodzi...
Witam Mam problem otóż od kilku godzin borykam się z problemem braku komunikacji pomiędzy procesorem a PC. Procesor to STM32F407VGT6 (STM32F4 Discovery), używam przejściówki na FT232RL (Pod AVR działa) [syntax=c]void RCC_Conf(void) { RCC->CR |= RCC_CR_HSEON; while(((RCC->CR)...