Tu na pewno jest błąd: if(released & btn == btn) to to samo co: (poprawiłem) if(released & 1) Jeśli nie masz nieblokującej obsługi LCD w przerwaniu timera, to skoro już bardzo chcesz pisać coś na LCD w przerwaniu - obniż priorytet tego przerwania.
W NVIC oblokowałeś przerwanie? Callback obsłużony odpowiedni?
[syntax=c]while (1) { // start/stop - GPIOC, GPIO_Pin_12 if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_12)) { // kod dla wciśniętego przycisku } // cała reszta kodu }[/syntax] przerwanie wyłączyłem: BUTTON_MODE_EXTI = 0
Ktoś zliczał impulsy przerwać programowo? Jaką częstotliwość maksymalną można zliczyć?
A masz jakieś przerwania? Bo na Cortex-M3 mogą być DWA stosy i to że jeden się nie przepełnia jeszcze o niczym nie świadczy... 4\/3!!
Próbuję uruchomić USART2 w STM32F0-Discovery, chodzi mi tylko o odebranie danych za pomocą przerwania i gdy wyślę z komputera jaką literkę to natychmiast ląduje w Default_Handler. Próbowałem różnych konfiguracji i nic. Konfigurację mam taką: [syntax=c]RCC->APB1ENR |= RCC_APB1ENR_USART2EN; RCC->AHBENR |= RCC_AHBENR_GPIOAEN; gpio_pin_cfg( GPIOA, 15, GPIO_AF1_PP_10MHz_PULL_UP...
Zaczynam zabawę z STM32F0 Discovery. Zacząłem od manuala i analizy różnych przykładów z sieci. Niestety każdy konstruuje projekty na swój sposób i przebrnięcie przez niektóre przykłady doprowadza niemal do szału. Każdy gdzie indziej obsługuje przerwania, konfiguruje przerwania i peryferia,... Do tego jedne przykłady są z użyciem SPL, inne bez, inne...
Ja mam zestaw z STM32F0 wygrany w konkursie organizowanym przez kamami. Wcześniej programowałem już ARM'y ATMELa. W przykładzie jak powyżej wykorzystywany jest System timer tick. U atmela normalnie ustawiałem zezwolenie na przerwania od SysTick, a tutaj tego nie widzę. W RM od tego procesora µC w tabeli wektorów przerwań nie widzę, żeby SysTick...
Witam W ramach poszerzania wiedzy i umiejętności postanowiłem rozpocząć zabawę z architekturą ARM i natrafiłem na problem - nie potrafię poradzić sobie z transmisją UART przez kanał DMA, w trybie polling wszystko działa. Napisałem program w oparciu o CooCox IDE i HAL drivery. Transmisja w trybie poling śmiga, zaś próbując wysłać coś przez DMA - kiszka....
Przeszukiwania "internetów" oraz debugowania nic nie dało. Otóż natknąłem się na podobny problem jak tutaj w tym zamkniętym temacie: http://www.elektroda.pl/rtvforum/topic26... STM32f0 po przerobieniu projektu: http://www.tkjelectronics.dk/uploads/STM... na f0, poprawieniu rzeczy opisanych przez autora: -skonfigurowaniu pinów...
Niestety nie wiem, jak skonfigurować przerwanie zewnętrzne, gdyż nie mogę nigdzie znaleźć pod która linie EXTI jest ono podłączone. Manual, rozdział 26.5 RTC interrupts .
Tak więc migacz diodą z distortosem da się realnie "skompresować" do czegoś w rejonie 8 kB flash + ~4.3 kB RAM (w tym 1 kB na stos dla main, 1 kB na stos dla przerwań i 256 B na stos dla idle). To w dzisiejszych czasach chyba najmniejszy problem? Wystarczy spojrzeć na ceny np. STM32G0 czy STM32F0. Nie kosztują niewiadomo ile a dostajemy już sprzęt...
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!!
Witam, Dodaj jeszcze bibliotekę stm32f4xx_syscfg. A to wywołanie: GPIO_EXTILineConfig(GPIO_PortSourceGPIOA... GPIO_PinSource0); to powinno być: SYSCFG_EXTILineConfig(EXTI_PortSourceGPI... EXTI_PinSource0); Pzdr
Audio Serial Data Bus Supports I2S
O przyczynach się nie wypowiadam bo nie chcę głupot nagadać ;) Niech ktoś mądrzejszy kombinuje. Co do diody: bazuję na informacjach ze [url=http://www.st.com/web/en/catalog/to... st. Dioda D2 jest wpięta szeregowo pomiędzy linię +5V gniazda usb-stlink a szynę 5V na płytce. Strzelam, że jest spalona i przy zasilaniu...
arm.com: Cortex-M4 Technical Reference Manual ARMv7-M Architecture Reference Manual Co do timera: prawdopodobnie chodzi o opóźnienie kasowania zgłoszenia przerwania. Jeśli skasujesz pod koniec procedury, to po jej zakończeniu znacznik będzie jeszcze ustawiony i spowoduje powtórne zgłoszenie przerwania. Do sterowania NVIC proponowałbym jednak użyć pseudofunkcji...
To jakiś cud, biorąc pod uwagę, że pokazany program nic przez UART nie wysyła. Czy zweryfikowałeś częstotliwość zegara procesora (np. miganie diodą w przerwaniu timera)? Na rejestrach BSRR i BRR nie wykonuje się operacji logicznych, bo nie ma to żadnego sensu.
Wysyłanie: Przygotuj dane do wysłania. Włącz przerwanie TXE; Jeśli nie trwa nadawanie zostanie od razu wyzwolone przerwanie. W przerwaniu: Sprawdź czy przerwanie od TXE jest włączone. Sprawdź czy flaga TXE jest ustawiona. zapisz daną do wysłania do DR; Jeśli to była ostatnia dana do wysłania wyłącz przerwanie TXE. Przerwanie w NVIC ma być zawsze włączone....
/* Setup SysTick Timer for 1 µsec interrupts */ Następny... Czy naprawdę uważasz, że przerwanie co jedną MIKROsekundę to jest dobry pomysł? Twój program się "zatrzymuje", bo po prostu w kółko wchodzi i wychodzi do przerwania (które zresztą nie jest nikomu do niczego potrzebne, ale...). Jeśli do tego próbujesz pracy krokowej, to już w ogóle Twój...
Dla enkoderów ze stykami mechanicznymi, jeśli nie podłączasz go do uC za pomocą prostego filtru RC, wykorzystywanie timera czy przerwań to ślepa uliczka. Z racji, że takie enkodery nie generują impulsów o dużej częstotliwości, to najlepiej zrealizować odczyt programowo, np. cyklicznie w systicku sprawdzać czy mamy stan wysoki przez minimalny czas i...
[syntax=c]//============================... // TIM3 Interrupt Handler //======================================... void TIM3_IRQHandler(void){ if(TIM3->SR & TIM_SR_UIF) // if UIF flag is set { TIM3->SR &= ~TIM_SR_UIF; // clear UIF flag } }[/syntax] AND zbyteczny az prosi...
Jeśli korzystasz z stm32f4 discovery, to sprawdź czy masz dobrze ustawionego st-linka. Musisz mieć zainstalowany w systemie sterownik do niego, Keil nawet zaktualizuje w nim soft jeśli zajdzie taka potrzeba. Jeżeli chodzi o konfigurację st linka w Keilu, wszystko znajdziesz w dokumentacji u ST na stronie. Nie wiem też czy dobrze się zrozumieliśmy. Debug...
Witam. Na początku muszę zaznaczyć, że jestem raczej początkującym w temacie mikrokontrolerów i ogólnie elektroniki. Kupiłem sobie stm32f0 discovery oraz termometr ds18b20, podłączyłem wszystko jak trzeba - pin 1-wire do pc7, oraz piny zasilania odpowiednio do 3v i GND na płytce. Korzystam z IAR Embedded Workbench EWARM. Termometr działa, bo procedura...
No ale co nie działa? Nie miga dioda, nie wchodzi do przerwania, wiesza się, ... ? Włączyłeś GPIO w RCC? 4\/3!!
https://obrazki.elektroda.pl/9151185000_... Autor poniższego zestawienia jest inżynierem i konsultantem wsparcia dla systemów wbudowanych. W swojej karierze poznał on szereg różnych architektur mikrokontrolerów, różniących się wydajnością, wyborem peryferii, poborem zasilania etc. Wybór odpowiedniego układu stanowi zawsze o sukcesie...
Na pewno funkcja delay zlicza takty zegara? Jak ona wygląda? Wykorzystałeś jakiś timer, przerwanie, pokaż ją.
Widzę dane chcesz pobierać jak przyjdzie przerwanie z memsa. Niestety mam ten sam problem. Ten akcelerometr nie chce wysyłać przerwań. Zobacz na razie zrób odczyt wyzwalany timerem wtedy będziesz wiedział czy komunikacja działa. Bo z tymi przerwaniami coś jest nie tak.
Wejście w procedurę obsługi przerwania, wykonanie paru instrukcji i powrót - to min. 50..60 cykli procesora. Przerwania zgłaszasz tak często, że procesor zajmuje się wyłączueni ich obsługą i obsługuje je wolniej, niż są one powtarzane. Proste? Zamiast odlicczać prpgramowo dwa miliony przerwań, przeprogramuj timer np. na 1000 Hz i odliczaj 1000 lub 500...
W trybie circular DMA może generować przerwanie jeżeli jest w połowie bufora i jeżeli jest na końcu bufora. Jeżeli masz przerwanie DMA "połowa bufora" pierwszą połowę bufora zapisujesz nowymi danymi, jeżeli masz przerwanie "koniec bufora" nowymi danymi zapisujesz drugą połowę bufora. U mnie wszystko bardzo ładnie działało, dźwięk dobrej jakosci.
Mój tok rozumowania: przerwanie wykonuje się kiedy licznik osiąga 10000 i się zeruje - tam diodę gaszę. W pętli głównej gdy licznik osiągnie 5000 diodę zapalam. Nie potrafię dopatrzeć się hazardu choć obserwacja zaprogramowanego Discovery na to wskazuje.
Dziwi mnie trochę, że konfigurujesz linię RX jako wyjście. Twoje funkcje fgetc i fputc wraz z procedurą przerwania mają błąd w obsłudze (zresztą całkowicie zbędnych i szkodliwych) liczników bajtów - od czasu do czasu będą głupiały - gubienie danych, zawieszanie itp.
(at)JarekC 1. Ponieważ po wyłączeniu trybu debuggera, żadne przerwania zewnętrzne, wejścia nie odpowiadają, podczas debuggingu wszystko fajnie działa. 2. Nie, nie ma żadnych pułapek. A czy to nie jest spowodowane wyczyszczeniem pamięci flash, bo kiedyś to robiłem poprzez ST-Link, może jakieś rejestry się wyczyściły czy coś?
Witam, korzystam z toolchaina od freddiego i Eclipse Luna pod stm32 discoveryf4. Debugowanie ogólnie działa jednak mam problem z breakpointami postawionymi w taskach od FreeRTOSa. Otóż są one jakby ignorowane, program nigdy się w nich nie zatrzymuje chociaż program wykonywany jest poprawnie. Jeśli postawię breakpoint w innym miejscu (przerwanie lub...
https://obrazki.elektroda.pl/9151185000_... Druga część artykułu o najtańszych nowych mikrokontrolerach z roku 2017. Ekosystem developerski Środowisko developerskie mikrokontrolera ma ogromny wpływ na jakość pracy z nim i w konsekwencji - na produktywność. Na to składają się różne czynniki – jakość IDE, dostępne biblioteki, płytki...
Sam sprawdź. Masz funkcje do odbioru. Odbierz odpowiedzi modułu na komendy AT i przeczytaj. Po pierwsze: Skoro nie wywołuje się funkcja przerwania USART1, to żadne dane nie zostaną na pewno odebrane, o ile dobrze rozumiem (w funkcji przerwania dopisałem zapalenie diody, która w żadnym wypadku się nie zapala). Nie wiem dlaczego nie jest nigdy wywoływana...
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_APB2Periph_TI... ENABLE); Ale u mnie w programie jest to wszystko zawarte w kilku funkcjach inicjujących. Po prostu spodziewałem...
Nie należy odliczać na timerze sprzętowo 5 sekund, bo i tak musisz odliczać na timerze czasy krótsze do innych celów - 5 s odliczysz programowo w przerwaniu timera zgłaszanym np. z częstotliwością 100 lub 1000 Hz. Preskaler wygodnie jest ustawić tak, żeby okres zegara wejściowego timera wynosił np. 1 us lub 10 us - wtedy łatwo liczy się i programuje...
Witam, Próbuje skonfigurować timer w mikrokontrolerze STM32F3 Discovery: [syntax=c] RCC_APB1PeriphClockCmd(RCC_APB1Periph_TI... ENABLE); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Prescaler = 8000 - 1; TIM_TimeBaseStructure.TIM_Period = 20000; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_RepetitionCoun...
Witam, Bawię się zestawem STM32F3 Discovery i konfiguruję przerwanie od PC0. Po skonfigurowaniu nie działa przerwanie od PC0 tylko od PA0 (user button). [syntax=c] RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO... ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO... ENABLE); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIO... ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8...
Witam wszystkich serdecznie. Wraz z kolegą od kilku dni głowimy się nad pewnym problemem i nie potrafimy znaleźć idealnego rozwiązania. Naszym zadaniem jest zaprogramować układ STM32F4 Discovery tak, aby działał jak alarm. Otóż wymyślona przez nas zasada działania mówi, że po wykryciu ruchu (wciśnięciu przycisku) układ powinien odliczać 10 sekund dając...
Tool chain editor used tools: Cross GCC Compiler Cross G++ Compiler Cross GCC Linker Cross G++ Linker Cross GCC Archiver Cross GCC Assembler A w zakładce discovery option compiler invocation command to arm-none-eabi-gcc wiec chyba korzystam z C Dodano po 1 EDIT: A tak w ogóle to jak przerabiasz przykład (zakładam że ten dla STM32F4), to poprawiłeś już...
OpenOCD chodzi ładnie w tle. Zrobiłem według tutka. Jak konfiguruję według tutorialu: Init: [code] monitor reset monitor soft_reset_halt monitor mww 0xE01FC040 0x0002 load [\code] i zaznaczenie main i resume to wypluwa takie coś: [code] target remote localhost:3333 putpkt: write failed: Przerwany potok. monitor reset "monitor" command not supported...
ja nie korzystam z bibliotek od ST więc wszystkie operacje wykonywane są na rejestrach I badzo dobrze. Na jakim sterowniku jest ten wyświetlacz? ILI9341? Bardzo mnie bawią takie teksty, tak te liby może nie są wskazane w przerwaniach, ale np. po 5 miesiącach nie zaglądania w projekt i pisania na inną platformę nawet z obszernymi komentarzami trzeba...
Witam, dziś rano bawiłem się powyższym prockiem, zegary, przerwania, nic wymyślnego. Jednak od pewnego czasu nie mogę wgrać żadnego programu do uC, wszystko się kompiluje, ale po wgraniu efektów na uC nie widać żadnych, cały czas świeci się jednia z diód (GIPOG,13), wygląda to tak, jakby siedział tam jakiś stary program i nie chciał się nadpisać. Wiem,...
Czyli z taktowaniem mam problem. Próbuję zrobić tak jak tutaj http://stm32f4-discovery.com/2014/04/lib... U mnie jest: Core Clock = ((HSE_VALUE / PLL_M) * PLL_N) / PLL_P Niestety po takiej konfiguracji STM wariuje, nawet USART wysyła śmiecie. Jak prawidłowo skonfigurować...
Witam, od paru dni mam przyjemność kodzić STM32F4 discovery, jednak mam problem z ustawieniem właściwie tim2/3. Miałem już do czynienia z AVRami, napisałem kilka małych programów / projektów. a oto co udało mi się posklejać z internetu: [syntax=cpp]#include "stm32f4xx.h" int main(){ RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; RCC->APB1RSTR |= RCC_APB1RSTR_TIM2RST;...
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...
Bazowałem właśnie na tym samplu tworząc swój projekt. Z racji braku czasu dopiero teraz powróciłem do tego tematu. Doszedłem do przyczyny lądowania procesora w Hard Fault, otóż w pliku ethernetif.c zdefiniowałem globalny wskaźnik do struktury netif i widzę, że zaraz po inicjalizacji stosu dane z pod tego adresu ulegają uszkodzeniu. Następnie funkcja...
Ale przez co się przebijać? Chyba nie czytasz RM0090 od deski do deski? ;) Wiesz, co chcesz uruchomić, więc Reference manual dla F4, spis treści, rozdział o SPI i patrzymy na podrozdziały, a tam "Configuring the SPI in master mode", a zaraz dalej "Data transmission and reception procedures". Ledwie kilka stron do przejżenia dla interesujących cię przypadków....
Ja generalnie uważam że książki najlepiej omijać jak najszerszym łukiem a najlepszym źródłem wiedzy są dokumentacje producenta na których zresztą te książki się opierają. Czytania dokumentacji po angielsku i tak nie przeskoczysz dlatego, jeśli masz z tym problemy, to tym bardziej trzeba się do tego zabrać. Do nauki najlepiej mieć w głowie konkretny...
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 przesyłam kod programu: [syntax=c] void NVIC_initt(void); void...
1. W jaki sposób piszecie kod do obsługi peryferiów występujących pojedyńczo w mikrokontrolerze? Np RTC, LCD, RNG, czy CRC.
Odnowię temat, a problem wygląda następująco. Chciałbym odbierać informację o każdej osi, ale niebardzo wiem jak wykonać odstępy pomiędzy kolejnymi transmisjami. Zastanawiam się czy mogę to zrobić jakoś przy pomocy rejestrów np. while(I2C1->SR2&I2C_SR2_BUSY); co jest mało skuteczne, czy muszę wprowadzić swoją zmienną informującą o końcu poprzedniej...
Owszem. Ale to makro jest definiowane co najmniej na dwa sposoby, np. w konkretnych aplikacjach przykładowych z STM. Czyli widać jasno że problem znany ludziom z STM i sami panują jakoś nad tym. Starasz się ich wybielić, co jest zupełnie niepotrzebnie, bo ich dokonania na przestrzeni lat pokazują, że o programowaniu zbyt wiele nie wiedzą. Przykładowo...
Kolego ty nie szukasz discovery tylko zestawu embesta. Mam go. Ekran dotykowy służy w przykładzie do malowania po ekranie. Opcjonalnie w Kamami to maja to zadzwoń do nich. Aby to działało musisz mieć discovery, wyświetlacz i płytkę z Ethernetem. Jak odpuścisz sobie Ethernet to kup discovery 429DISCO i za chyba 130zł będziesz miał wyświetlacz a Ethernet...
Witam, otóż konfigurowałem TIM1 do zgłaszania przerwania co 2 sek ( zmienianie stanu diody). TIM1 z tego co wiem jest podłączony do szyny APB2 (72MHz) prescaler ustawiłem na 72199, 20000 taktów. Wszystko działa jak należy, dioda zmienia stan co 2 sek. Następnie, zrobiłem dokładnie to samo, lecz dla timera 2. Ku mojemu zdziwieniu diody migają w tym samym...
Witam wszystkich. Od jakiegoś czasu ćwiczę STMy. Przyszedł czas na bootloader, ale stanąłem w zasadzie na początku drogi. Mój zestaw to: - ARM GCC (Linaro) w wersji 4.7 2012q4 - CooCox - STM32F4 Discovery - przykład AN3965 "STM32F40x/STM32F41x in-application programming using the USART" Po kolei: - istniejący i działający program zlinkowałem z użyciem...
Witam, Mam problem z baudrate'm na płytce STM32F4-discovery. Mianowicie jestem pewien, że konfiguracja zegarów taktujących jest w porządku jednak terminal wywala mi tzw. "krzaki". Poniżej zamieszczam kod oraz screen z HTerm'a. Mam na celu wysyłać znak kiedy pojawia się przerwanie od TIM2, w tym samym czasie przełączam stan diody, co na płytce działa...
Ostatecznie do przesyłania danych wykorzystałem DMA1, Stream 6, ponieważ chcę sterować sygnałem PWM z TIM4 Diodą PD12 i właśnie na tym kanale TIM4 zgłasza przerwanie TIM4_UP dla DMA. Generalnie prawie wszystko działa. Tak wygląda konfiguracja DMA [syntax=c]void DMA_Config(void){ #define TIM4_CCR1_Address 0x40000834 //Adres rejestru TIM4->CCR1 DMA1_Stream6->CR...
Ważna jest znajomość położenia wektora strumienia wirnika czy stojana (w zależności od modyfikacji), stąd niezbędna jest estymacja strumienia. Nigdy sie nie zaglebialem w temat silnikow asynchronicznych ale wyglada na to ze przerobienie mojego projektu na silniki indukcyjne powinno byc proste. Wystarczy tylko dodac pare bloczkow w simulinku. Używasz...
Pozwalam sobie odgrzać temat, bo właśnie zrezygnowałem z realizacji pracy magisterskiej o podobnym temacie - tyle że z nieco innego powodu. Może komuś się przydadzą moje doświadczenia. Jeżeli chodzi o płytkę DISCOVERY, Ethernet i IP, to - owszem - są gotowe przykłady (myślę o tych udostępnianych przez ST) ale ja zabrałem się za ten temat z trochę innej...
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 |=...
http://obrazki.elektroda.pl/8464088900_1... 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 oraz cztery ściany....
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...
Stary temat ale podepnę się bo mam podobny problem. Próbuję skomunikować STM32F429 (płytka discovery disco) z Atmegą8 (nie 88). STM Master Reviever <<>> Atmega Slave Transmiter. Wzorowałem sie trochę na kodzie kolegi i trochę na tym tutorialu: http://eliaselectronics.com/stm32f4-tuto... Problem kolegi kolegi...
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ść do pliku bmp. Oto mój kod : Otw. pliku 0 Init OV7670 1 System Clock 120...
Witam, napisałem mini-programik na odczytywanie wartości prądu z dwóch kanałów ADC i zapisywanie ich przez DMA. Po wciśnięciu przycisku rozpoczyna się pojedynczy pomiar z dwóch kanałów ADC1. Po pierwszym wciśnięciu przycisku wartości zapisywane w tablicy są poprawne, jednak po następnych wciśnięciach przycisku wartości te nie zmieniają się. W manualu...
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...
Natomiast jak juz mowisz o profesjonalizmie czy to o plytce czy o srodowisku programistycznym to nie bawimy sie w zabawki tylko inwestujemy kase i tyle. Nie bardzo zgadzam się z takimi bardzo nieprawdziwymi dogmatami - jak profesjonalnie to się inwestuje i tyle. Jeżeli takie stwierdzenia nie pochodzą z księżyca, to przynajmniej z krajów bardziej rozwiniętych...
Witam, raczkuje w mikrokontrolerach i mam mnóstwo banalnych problemów z tym związanych. z tym nijak nie mogę sobie poradzic: potrzebna mi obsługa timera TM2 cortexM0 na płytce discovery, czytam manual i znajduje potrzebne mi rejestry RCC->APB1ENR |= (1<<0); //TIM2 CLOCK EABLE TIM2->CR1 |= (1<<0); //counter enable TIM2->ARR...
Witam, Przerabiam książkę STM32 Aplikacje i ćwiczenia w języku C Pana Marka Galewskiego. Dotarłem do ćwiczenia 12c, w którym do sterowania diodami mają być użyte TIM1 oraz TIM2. TIM1 może generować przerwanie ogólne oraz przerwanie z kanału Compare. Dzięki temu łatwo możemy sterować dwoma diodami. Natomiast TIM2 może generować tylko przerwanie ogólne...
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 obsługi LCD, diod LED i przycisku, - zmiany pinu enable dla VBUS,...
Witam Kolegów, Od kilku dni męczę się z pewnym problemem. Na postawie filmu z youtube https://www.youtube.com/watch?v=GYhsHJi6... próbuje wykonać sieć CAN na STM32F3 + TJA1040. Cały problem polega na tym że nie mogę odebrać danych ani w przerwaniu, ani w programie głównym. Układ bez problemu wysyła dane do innego urządzania (drugi STM32F3 + MCP2551)....
Witam wszystkich, Drugi dzień już walczę z konfiguracją tego ADC. Chcę, żeby pomiar był wyzwalany przez przerwanie od kanału 1 TIM1. Kody: Dodano po 2 Mogę napisać coś takieg [syntax=c]void TIM1_CC_IRQHandler(void) { if (TIM_GetITStatus(TIM1, TIM_IT_CC1) != RESET) { //CC1 - osiagniecie wartosci TIM_ClearITPendingBit(TIM1, TIM_IT_CC1); GPIO_ToggleBits(GPIOD,...
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 Time base unit as described in the first part of this driver, if needed, else the...
Witam skompletowałem płytkę której część przedstawiam poniżej, mam problem z wgraniem na nią oprogramowania poprzez złącze swd. Próbowałem wgrać soft poprzez Keila oraz STVP. Próbowałem dwoma programatorami ZL30PRGv2 z kamami oraz poprzez programator umieszczony na płytce stm32f4 Discovery. W żadnym wypadku nie został wykryty procesor. W przypadku programowania...
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 DMA. Po 2 dniach siedzenia nie ma wielkich postępów, na pinie wyjściowym...
stm32f0 discovery discovery stm32f0 stm32f0 przerwać interrupt
naprawa odkurzacza samsung pralka bosch logixx bęben sonda uruchomienie
Toyota Auris 1: Wyłączanie ABS przy temperaturze powyżej 10°C Jak samodzielnie sprawdzić jakość wody w studni?