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
XF16 _xradios_0ee37d864e12 rozruch do AP i połączenie klienta z dziennikiem AP: https://obrazki.elektroda.pl/7582482700_... LFS OK i utrzymuje się po ponownym uruchomieniu. szybkie ponowne uruchomienie i dołączenie do wifi. https://obrazki.elektroda.pl/6016895700_... PWM na PA21 do sterowania niebieską diodą LED na...
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!!
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....
[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...
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 .
Co może być przyczyną tego, że zamiast wysyłanego "hello" odbieram w termianlu "hhhhheeeeeellllllllllllllllllllloooooo"... Dodam, że przy wyłączonym DMA nic takiego nie ma miejsca. Nie wnikam w konfigurację DMA i USART, ale logika tego fragmentu programu jest dziwna. Mam wrażenie, że funkcja wysyłająca tekst (usart_dma_str) jest wywoływana w przerwaniu...
/* 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...
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...
1. Używaj Atollic zamiast zdychającego AC6 2. Sformatuj kod 3. wektor data[] przestaje istnieć w momencie wyjścia z procedury. Przerwanie UART będzie nadawało śmieci.
Usiłuję odebrać pakiet danych przez UART. Pakiet ma zawierać od 5-8 bajtów, kończy się znakiem '\r' lub '\n'. Robię to na uC STM32F407 ten sam co na płytce Discovery z wykorzystaniem przerwanie. UART działa bardzo dobrze, przerwanie działa, tylko prawie zawsze jakieś dane uciekają. Mam taka funkcję, która sam wymyśliłem, ale on nie jest doskonała. Myślę,...
[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
Miałem zrobić coś podobnego, nie wiem czy zrobione to było dobrze i optymalnie ale działało. Każdy task miał utworzony statycznie bufor na ok 100bajtów i w momencie potrzeby wysłania czegoś do terminala zajmowało semafor z czasem oczekiwania ok 100. Gdy udało mu się go zająć to wysyłało przez DMA stosowny komunikat i przerwanie od zakończenia transmisji...
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.
Kodu całego nie pokazałeś (np. funkcji main()), ale z tego, co pokazałeś, wynika że masz preskaler 8000 (czyli timer przy 8 MHz cyka co 1 ms) i każesz timerowi zliczać do 20000, czyli do 20 sekund. dokładnie, a dioda sygnalizująca przerwanie pali się cały czas..
ta funkcja ma obsługiwać przerwanie pomiędzy przesyłaniem danych a linijka niżej ma przesyłać dane pierwsze pole to wyjście, które wybrałem w cube potem jest miejsce z czego brać dane a jedynka na końcu że po jednym bicie
I w ten oto sposób upływa czas na dyskusji, któa od początku nie ma sensu. Chcesz sprawdzić, czy zegar działa tak, jak planowałeś - ustaw systick na 1000 lub 100 Hz, machaj nogą co któreś przerwanie i zmierz zegarkiem czas 60 mignięć albo oscyloskopem okres przebiegu, który planowo powinien mieć np. 1 kHz. To powinno zająć 15 minut. Po sprawdzeniu pisz...
Dlaczego włączasz przerwanie przed zaprogramowaniem UART? W jakim celu używasz makr do zerowania bitów, które mają wartość zero? Po co w ogóle cokolwiek robisz z rejestrem CR2? W jakim celu zaszyfrowałeś wartość wpisywaną do BRR? Odsuń instrukcje włączające peryferiale od instrukcji zapisujących do ich rejestrów - nie powinno sę tego robić w następnej...
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.
Zegar MCLK można generować w przerwaniu, czyli wysłać coś do SPI3->DR w przerwaniu od SPI3 i przerwanie skonfigurować tak aby sie wyzwalało się po każdym zakończeniu transmisji SPI3->CR2 |= SPI_CR2_TXEIE; Proces inicjacji mam troche inny. [syntax=c] i2c1_write(0x02, 0x01, 1); // Power ON i2c1_write(0x00, 0x99, 1); i2c1_write(0x47, 0x80, 1); i2c1_write(0x32,...
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. Nie o to chodzi, tm się nie mam co przejmować ;) LCD mi dziala poprawnie :) A przerwanie z wypisywaniem na LCD ma niższy priorytet ;) Tu na pewno jest błąd: if(released & btn == btn) to to samo co:...
Zrobiłem teraz oczekiwanie na timerze 6 tą przerwę (1 sek) ale nic nie pomaga: Dodano po 38 Porównałem rejestry CR przed wywołaniem kalibracji w moim i przykładowym programie. Różnica polega na tym, że u mnie włączony jest bit ADstart a w przykładzie jest wyłączony. Skąd się bierze ta różnica?
Witajcie, Chociaż STM'a używam od niedawna, wydawało mi się że temat przerwań udało mi się już ogarnąć. Wydawało, bo kiedy przyszła potrzeba wywołania przerwania od innego GPIO już PA0, okazało się że mam z tym problem. Mianowicie, moim celem jest wywołanie przerwania od rising edge, więc w tym celu ustawiłem sobie toggling LED'a w przerwaniu od timera...
- czy mógłbyś opisać łopatologicznie "algorytm" rozwiązywania problemów z Default_handler tzn. jak na podstawie dostępnych rejestrów odszukać jakie przerwanie to spowodowało lub (co raczej bardziej prawdopodobne w moim wypadku) HardFault. Ktoś kiedyś wspominał o IPSR ale ja tu widze tylko CPSR (w dodatku = 0). No i wskazówki co dalej warto sprawdzić...
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...
Witam ponownie tym razem próbuję uruchomić przerwanie od TIM7 w mikro STM32 F303VC6 na płytce Discovery F3. Napisałem konfiguracje NVIC i TIM7 po czym uruchomiłem całość i owszem to co jest w funkcji obsługi przerwania jest wykonywane ale mam wrażenie, że pełną częstotliwością a nie co 1 sekundę tj ustawiłem. Prosiłbym o jakieś wskazówki bo pierwszy...
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 niż dane). I teraz problem jest następujący: przy zegarze większym...
Witam serdecznie, Przerobiłem chyba najbardziej popularny przykład ze strony Freddie'go aby obsługiwać STM32F100RB na płytce STM32VL Discovery wraz z odpalaniem z RAMu i właściwie podstawowa funkcja - czyli nieśmiertelne mruganie diodą - działa wyśmienicie. Jeśli ktoś chce szybko uruchomić swój pierwszy program na STM32 VL Discovery przy użyciu Eclipse...
Mikrokontroler to STM32F439 Płytka samoróbka, bo niestety w discovery nie można wykorzystać do ETH. Jeśli chodzi o konfigurację zegara to wykorzystuję do tego program STM32CUBEMX. Tam jeśli coś wykracza poza jakiś zakres do jest zaznaczane na czerwono i nie można wygenerować kodu, dlatego wydaję mi się że konfiguracja raczej "ale nie na pewno" jest...
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);...
Mam uruchomioną tą kamerę też pod STM32F407IGT6 ( nie discovery ) i tam jest właśnie pod FSMC wysyłane, jednak było to głupie przekopiowanie gotowca. Nie za bardzo mogę zrobić to pod FMC bo potrzebuję obrobić odebraną ramkę w przyszłości w ramie procesora, choć teraz zależy mi tylko, żeby zobaczyć, że coś się zapisuje do mojego bufora, mam też ram zewnętrzny...
Zaletą Discovery jest gotowy układ razem z programatorem/debugerem. Do Xmegi musisz to wszystko dokupić za pieniądze większe niż cała płytka discovery. Dlatego wolałbym jak narazie unikać XMeg, bo STM32 są chyba bardziel popularne no i jak narazie mam programator do tego :) Wystarczy ci Atmega48/88/168 faktycznie, nawet Timer0 ma dwa wyjścia PWM, czego...
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...
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...
Hej, mam problem z nagrywaniem dźwięku na plytce discovery m4f. Zmieniłem wartosci taktowania na 8Mhz które w CooCox są błędne (domyślnie jest 25)- PLL_M oraz HSE_VALUE. Niestety nie mogę uruchomić nagrywania dźwięku (korzystam z bibliotek producenta)- sprawdzając sytuację na analizatorze stanów logicznych, nie jest podawany w ogóle zegar na mikrofon,...
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...
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...
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 |=...
Witam. Na początek pochwalę się kodem : Tak wygląda main: [syntax=c]int main(void) { /* This sample code shows how to use STM32F4xx GPIO HAL API to toggle PG13 IOs (connected to LED3 on STM32F429i-Discovery board) in an infinite loop. To proceed, 3 steps are required: */ /* STM32F4xx HAL library initialization: - Configure the Flash prefetch, instruction...
Witam! Zacznę od tego, że jestem raczej laikiem z programowania STM-ów. Ale nie jestem też leniem, że znajduję gotowca, kopiuję i liczę na to, że będzie działać. A jak nie działa to lipa. Staram się to zrozumieć i znaleźć problem. ;) Niestety brak wiedzy sprawił, że wymiękłem i pomyślałem, żeby zapytać na forum. Co chcę zrobić: Podłączam bluetootha...
Dzieki wielkie za rady. Przepraszam że tak późno odpisuje ale mnie lekki wk**w złapał i musiałem to wszystko na kilka dni zostawić. Teraz wróciłem zrobiłem całe środowisko od nowa bo tak w starym namieszałem że już zupełnie nic nie działało. Na tworzenie nowego projektu zadziałało rename i clean z rebuild discovery option . Zmieniłem także kolejność...
W NVIC oblokowałeś przerwanie? Callback obsłużony odpowiedni?
Na pewno funkcja delay zlicza takty zegara? Jak ona wygląda? Wykorzystałeś jakiś timer, przerwanie, pokaż ją.
Tak na szybko: brakuje zapisu do rejestru GPIOD->AFR. Włączasz przerwanie - oczywiście masz procedurę do jego obsługi? Czy przypadkiem nie włączasz PWM dla PD15?
1. Uruchamiamy menu głownie (klawisz MENU na pilocie) i opcję Wyszukiwanie programów. 2. Wybieramy Wyszukiwanie ręczne. 3. Na pozycji Częst. Transpondera wpisujemy za pomocą klawiatury numerycznej pilota wartość 11508. W razie potrzeby zmieniamy parametry: „Polaryzacja” – V , „Symbol rate [kBd]” – 27500 Przy tych...
Tylko go inicjuję i taktuję? A te, że włączam przerwanie i w nvic to skutkuje tym, że UART bez przerwań nie działa, tak?
Ale kontroler dotyku ma wyprowadzony również pin INT. https://obrazki.elektroda.pl/7734511000_... Należy więc skonfigurować przerwanie i na bazie tego zrealizować wybudzanie.
Co rozumiesz przez "na diodzie D2 2,5V"? To jest napięcie między którąś końcówką a masą czy między anodą a katodą? Co do sprawdzania diody - nawet się nie przyznawaj ;) - doczytaj w google'ach. Jeśli sprawne są: port usb w komputerze, przewód usb, gniazdo usb na płytce i żadna ścieżka nie jest przerwana/spalona to na anodzie diody D2 (anoda jest od...
wizualizacja jest z dość widocznym lagiem nawet kilkusekundowym. Faktycznie, opóźnienie jest i rośnie w czasie. I przyczyną okazuje się być to że odświeżanie tych "LCD" i sześcianu wywoływane z funkcji odbierania znaków z COMa, nie wyrabia się czasie. I rośnie kolejka w buforze COM. Ale co znaczące, chwilowe przerwanie transmisji np. resetem discovery,...
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.
Zastanów się nad faktem, że jak konfigurujesz DMA to podajesz ilość przesyłanych danych. Jak potem DMA ma odpalić przerwanie, skoro danych z UART jest mniej, niż zostało to określone? Problem i zaproponowane rozwiązanie odbioru danych o nieznanej długości przez UART poruszone zostało w tym wpisie: [url=https://stm32f4-discovery.net/2017/...
Przerwanie od przycisku jest całkiem trudne do poprawnej obsługi. Po wykryciu zmiany musisz je zablokować, odliczyć czas w przerwaniu timera i ponownie odblokować. Dużo prościej testować przycisk w przerwaniu timera.
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...
Hmmm to ciekawe. Czyli NVIC jest elementem wspólnym rodziny ARM7 i jego dokumentacja jest umieszczona poza specyficzną dokumentacją danego procka? Czy dobrze rozumiem? W takim razie chciałbym zrozumieć jak mogę "ręcznie" wykonać to co wykonuje funkcja: [syntax=c]NVIC_EnableIRQ(TIM7_IRQn);[/sy... ..i czy w ogóle jest sens się w to bawić? Bo z tego...
Do USB podłączam konwerter FT232 następnie przez max232 do mikrokontrolera. Czyli nie ma prawa działać, bo z FT232 wychodzi TTL, procek akceptuje TTL, a ty po drodze wstawiasz konwerter na RS-232 - po co? Po wpisaniu linii : Kod C - Nic się nie wiesza - po prostu wchodzi w przerwanie. A czy ty w ogóle je masz obsłużone? Jeśli (wątpię, nie znalazłem...
No to po kolei. Załóżmy, że masz ustawiony znacznik przerwania X. Próbujesz wykonać swoją błędną operację: SR &= ~X; którą procesor wykonuje tak: temp = SR; temp &= ~X; SR = temp; Po wykonaniu temp = SR; w SR jest ustawiany bit Y, bo timer właśnie wygenerował inne przerwanie. Twój błędny kod skasuje bit Y, bo zapisze 0 na pozycję bitu Y. Kod poprawny...
Użytkuję płytkę STM32F429-Discovery, środowisko budowałem w oparciu o poradnik od Freddiego, makefile oraz skrypt linkera także od Freddiego, tak słowem wstępu. Problem który napotykam jest związany z powrotem z przerwania EXTI0. Jeżeli przerwanie zostanie wyzwolone, w tym przypadku pojawi się zbocze narastające na PA0 do którego mam podpięty przycisk,...
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...
Dołączę do pytania o printf() Zrobiłem procedurę przerwania od pinu w LPC1769, nic jeszcze nie robi, ale chciałem, żeby wypisał mi Czy przeczytałeś coś o "printf retarget" i zastosowałeś tę wiedzę? Poszukałem na stronie LPC. "For printf() to work like this, you must ensure that you are linking with a "semihost" library variant." Wiem, trzeba czytać...
franek.bmw mógłbyś pochwalić się wynikami tego akcelerometru. Nie wiem czy przy jego obsłudze poczyniłem jakiś błąd, ale szumy, które otrzymuje sięgają 20mg, bez znaczenia jest tryb, który wybieram low-noise/low-power. Odczyt działa poprawnie, zewnętrzne przerwanie, oraz automatyczny reset przerwania odbywają się prawidłowo najpierw wysyłam adres 0x02...
Ktoś zliczał impulsy przerwać programowo? Jaką częstotliwość maksymalną można zliczyć?
Pisząc na procesory 8 bit w zasadzie nie korzystałem z bibliotek, lub korzystałem z własnych. Pisałem też wszystko w ASM. Tu w zasadzie jednocześnie zaczynam w C i z nowymi procesorami. Wolałbym wszystko zaczynać od zera, gdzie wszystko mieściłoby się najpierw w jednym pliku. Niestety, nawet najprostszy zestaw uruchomieniowy jak ten Discovery, który...
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...
Mam płytkę STM32F412G-Discovery (STM32F412ZGT6), próbuję uzyskać częstotliwość 100MHz oraz przerwanie co 1ms od Systick'a. Moja konfiguracja RCC, wartości dla PLL z STM32F4xx Clock Configuration: [syntax=c]RCC->CR |= RCC_CR_HSEON | RCC_CR_HSEBYP; RCC->PLLCFGR |= ( 4 << RCC_PLLCFGR_PLLM_Pos ) | \ ( 200 << RCC_PLLCFGR_PLLN_Pos ) | \...
Ciekawe, że jeszcze niedawno chciałeś próbkować z częstotliwością 100 Hz... I dalej chcę. Szybciej mi nie potrzeba. Zapis na kartę SD nie przeszkadza w próbkowaniu i składowaniu wyników do RAM. w 250 ms możesz na kartę SD zapisać kilka MB danych. Nie wiem, skąd obawy o wydajność. Chodzi o to, że podobno w tym samym czasie procesor nie jest w stanie...
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! Mam kilka prawdopodobnie błahych spraw, ale nie rozumiem dlaczego tak, a nie inaczej. Ponieżej program wykorzystujący timer do migotania diod. [syntax=c]#include "stm32f10x.h" void TIM1_UP_TIM16_IRQHandler(void) { TIM1->SR&=~TIM_SR_UIF; // zerowanie flagi przerwania if(GPIOC->ODR!=0x300) { GPIOC->ODR=0x300; } else { GPIOC->ODR=0x000; } } int...
Odpowiedź na post kolegi. W programie na Discovery "W klatce czasu" mierzyli czas po jakim informacja o bólu dotrze do mózgu człowieka, nie widzącego zagrożenia. Nie pamiętam dokładnie wartości, ale jakoś mi utkwiło, że na ukucie w stopę organizm odpowiedział po 100ms. Ręka chyba 60ms, głowa 20ms ale głowy se nie dam uciąć.:D Być może informacja przebiega...
Ok, to SPL nie będę się tykał, chyba, że w celu podejrzenia czegoś :P w takim razie zacznę od discovery i stronki Freddiego a czy w ogóle znajdzie się w internecie jakieś większe przykłady pisane bez użycia SPL? bo jeszcze chyba nie widziałem :P np. USART, I2C czy coś z obsługi przerwać. a co do literatury - nie ma nic co mogłoby pomóc? poza notami...
Zmodyfikowałem przykład dostarczony od ST Use FPU nadal milczy zastanawiam się czy procesor nie jest uszkodzony. Kolejne pytanie jakie się pojawiło dlaczego Timer1 działa z prędkością 168mhz powinno być 84Mhz(przy 84mhz odmierzając 10s przerwanie pojawia się po 5 ). [syntax=c] #include "stm32f4_discovery.h" #include <stdio.h> #include <string.h>...
Witam Zaczynam się bawić z moim stm32 discovery i mam problem z konfiguracją przerwania. [syntax=c] #include "stm32f0xx.h" #define zapal GPIOC->BSRR|=(1<<9);//zapal diode #define zgas GPIOC->BSRR|=(1<<25);//zgas diode int main(void) { RCC->AHBENR |=(1<<19);//wlacz port C RCC->AHBENR |=(1<<17);//wlacz port A GPIOC->MODER...
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 prawdą). 2. Ustawienie LSb adresu czujnika na 0 po przez zwarcie...
Witajcie, Mam taki dziwny problem, chcę aby jeden SPI wysyłał dane (liczby, jako master) do drugiego SPI (slave, na tym samym DISCOVERY). Drugi SPI ma odsyłać sumę danych jakie otrzymał w pojedynczej ramce danych. Gdy NSS z SPI1 wisi w powietrzy to dane z SPI1 są wysyłane a pin NSS zachowuje się tak jak powinien. Gdy podepnę go do NSS w SPI2 lub do...
czy ktoś może spotkał się z podobnym problemem? jeśli tak to liczę na pomoc. Zakupiłem sobie Fergusona FK-6900CR, posiadam cyfrę +. Od momentu podłączenia tego tunera zanika mi sygnał z kilku transponderów, m.in. z hotbirda 12188/V/27500, a odbieram stąd discovery, foxlife, axn, extreme sports itp itd... antenę mam ustawioną wydaje się idealnie bo jakość...
To jaki jest sekret w tym że normalny silnik może pracowac na wodorze? Nierdzewny układ wylotowy i lepsze chłodzenie? Nie ma żadnego sekretu. W popularnonaukowym programi na kanale Discovery emitowany jest program o nazwie "Pogromcy Mitów" w którym podczas robienia jakiegoś eksperymentu z samochodem prowadzący mieli akurat pod ręką butle ze sprężonym...
Jannaszek, a czy ty byłbyś zadowolony, gdyby twoje rozmowy prywatne np z żona puszczano w mediach? Może rodziny ofiar sobie tego nie życzą? Przyznaje sam myślałem, że to sprawka Rosjan, ale teraz nie mam wątpliwości, ze nie. Znając życie dla dobra śledztwa nie będą ujawnione rozmowy. Będzie "orzeczenie" co się stało, dlaczego spadli i tyle. Myślisz,...
Po pierwsze: jak często jest ono zgłaszane? Przerwanie jest zgłaszane z częstotliwością 1 kHz. DCMI odbiera dane non stop. Po trzecie: co robi AKTUALIZUJ_PWM (pwm_lookup_table aktualizuje rejestr PWM poprzez wywołanie funkcji [syntax=c]TM_PWM_SetChannelPercent(&... TM_PWM_Channel_1, 100-x);[/syntax] która wywołuje [syntax=c]TM_PWM_Result_t...
Cześć, Jestem w trakcie tworzenia małego projektu. Do obsługi 1wire potrzebuję korzystać z przerwania na PC0. Siedzę nad tym dłuższy kawałek czasu i już naprawdę zgłupiłem. Są dwa kody - jeden ma skonfigurowane przerwania z PC0, drugi z PC1. Dlaczego ten z PC1 działa poprawnie, ten z PC0 nie? Sprawdziłem PB0, również nie działa poprawnie. Wykorzystuję...
Zdjęcia na razie nie przesyłam jednak. Bawię sie dalej i mam takie pytanie :) Staram się używać DMA do odbioru i wysyłania danych. [syntax=c] //w mainie uruchamiam odbiór HAL_UART_Receive_DMA(&huart4, &aRxBuffer, 1); void HAL_UART_RxCpltCallback(UART_HandleTypeD... *huart) { __IO uint16_t i = 0; uint16_t len; char Data1[] = "S Test of BT Module - UART...
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...
Witam, Chciałbym zapytać jaka jest zależność RTC i Systicka. O ile tak owa jest? - Kwarc 12Mhz (HSE_VALUE=12000000 , #define SYSCLK_FREQ_HSE HSE_VALUE) - Kody źródłowe poniżej - Keil - RTC zasilam z HSE (LSE nie trybi z przyczyn fizycznych) - STM32F103RBT6 - STMF4_Discovery jako debugger po SWD Problem: 1) A więc problem jest taki iż po wgraniu programu...
Musze cie zmartwić , tranzystory np: Kenwood KA-5040R , Marantz PM4000 . Wcześniej jak chyba każdy Zodiak , Tosca i inne polskie wynalazki. Brzmienie sprzętu bardziej mnie interesuje niż strona techniczna. Przejrzystość GC prowadzenie basu , głębia , wybrzmiewania , barwy Marantzowi daleko do takiego przekazu . Odnośnie kolumn Altusy potem Altony ,...
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....
Witam! Od jakiegoś czasu usiłuję napisać aplikację obsługującą kilka wątków (taki wstęp do RTOS) i przełączającą kontekst między nimi. Problem tkwi w tym, że podczas wczytywania kontekstu (LoadContext()) wywala FaultHandler. Zdebugowałem ustrojstwo i wynikiem są dwa bity CFSR: IMPRECISERR oraz STKERR. Nie wiem co może być przyczyną, być może czegoś...
Witam, Od niedawna planuję przejść na mikrokontroler stm32f407vgt6 z stm32f103vct6, ze względu na szybszą pracę. Niestety napotkałem na bardzo poważny problem. Aby przedstawić jak najlepiej dany problem, zamieszczę printscreen z analizatora stanów. http://obrazki.elektroda.pl/6745447700_1... Na wykresie widzimy przerwanie pracy timera,...
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...
Witam, mam problem z przerwaniami zewnętrznymi. Otóż mam podłączone przyciski z napięciem od zestawu STM32 i pinami kolejno PD1, PD3, PD4, PD6, PD7. Napisałem proste przerwania ale one nie działają! Zadaniem każdego przerwania jest zapalenie innej diody na zestawie. Tzn. przerwanie w moim przypadku wykonuje sie samoczynnie (diody na płytce migają z...
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...
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,...
Już jest max, więcej się nie da. Faktycznie jak dam 1 ms przerwy pomiędzy kolejnymi danymi to działa
Dzień dobry Koledzy. Piszę kod w C#.NETMF dla STM32F429I-DISC1. Próbuję zrealizować takie działanie w którym wykorzystuję metody klasy UIElement. Jedna z metod obsługuje zdarzenie dotknięcia panelu dotykowego. Druga z metod ("Invalidate();") pozwala aktualizować treść wyświetlacza. Do tego mam timer który co sekundę generuje przerwanie inkrementujące...
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, 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 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,...
To jest bateria od e-papierosa z dołożonym/dorobionym grotem (stąd wynika ten adapter, który łatwo zgubić). Na rosyjskojęzycznym YT widziałem takie rozwiązanie w wersji DIY kilka lat temu widocznie chińczyki podpatrzyli. Nic o tym nie wiedziałem, to wartościowa informacja. Mógłbyś zalinkować? Początkowo chciałem zrobić też teardown tej lutownicy ale...
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, Co jakiś czas o różnych porach mam brak internetu przez około 30-60 min. po czym wraca i działa. Internet FTTH, router dostawcy HG8245Q2. Było zgłaszane, a odpowiedź operatora że to wina routera który stoi za głównym. Za HG8245Q2 podłączony mam TP AX10 jak AP oraz drugi tp link tl wr741nd który również ustawiony jako AP. Pewnego razu gdy po raz...
Masz dwa przełączniki prądu spawania zgrubny (4 poz) i dokładny (10 poz) co pozwala na uzyskanie 40 stopni regulacji prądu spawania w przedziale min-maks. Po prawej masz regulacje podajnika górne pokrętło - szybkość podawania, a dwa dolne do spawania punktowego (czas przerwy i czas spawania). Ponieważ jest to aparat wysłużony, należy zwrócić uwagę na...
Witam! Posiadam płytkę Discovery z procesorem stm32 f100RB Włączam program CubeMX, ustawiam pin 2 portu B jako wejściowy w trybie Pull Up. Programuje Procesor Sprawdzam napięcie pomiędzy masą a pinem 2, wynosi ono 0.2V Włączam w woltomierzu "Brzęczyk", sprawdzam ciągłość obwodu pomiędzy pinem a zasilaniem... Brzęczyk się odzywa, wskazuje spadek napięcia...
Od pewnego czasu router zaczął zrywać połączenie. Niczego nie zmieniałem, stało się to samo z siebie. Dodam, że kiedy internet używany jest mocniej (dwa kompy z odpalonym YT) to przerywanie następuje częściej. Próbowałem upgradeu sterowników routera, ale nic nie pomogło. Router działa w trybie Client Router i ma dokręconą antenę na dachu. Podejrzewam,...
stm32f4 discovery przerwanie radio discovery mikroskop discovery
oporność głośnik cieknie bojlera focus łożysko
schemat płytki thomson 26hu5253
Nissan Qashqai J11 – tylko 4V na zasilaniu grzałki sondy lambda, PWM, diagnostyka, usterki Napięcia na wyjściach głośnikowych Radmor 5412