Witam, Mam problem z timerem pracującym w trybie input pwm. Chcę zmierzyć współczynnik wypełnienia przebiegu prostokątnego. Ten tryb umożliwia pomiar zarówno częstotliwości jak i współczynnika wypełnienia. Jednak gdy uruchamiam układ współczynnik wypełniania równa się okresowi przebiegu. W rejestrach...
Witam, Piszę program sterujący pracą zgrzewarki oporowej. Za pomocą PWM załączam tranzystory dużej mocy na określony czas z określonym wypełnieniem. Istotą mojego problemu jest pojawianie się napięcia na pinach, na których mam PWM (PE9, PE11, PC8, PC9) podczas resetu mikrokontrolera oraz podczas włączania/wyłączania...
Powiem szczerze metoda sprawdzania niesamowita. Czytać rejestr w kólko nawet jak tam się nic zrobiło. Ustaw przerwanie ADC i tam breakpoint - to będziesz wiedział czy jakaś konwersja przeszła Do tego wiele dziwnych rzeczy i błedów. proponuję zegar ustawić przy odpalaniu HAL-em unikniesz głupich...
Hej, chciałem was poprosić o pomoc w postawieniu FreeRTOS na STM32F407 VG discovery Board. Przeczytałem kilkakrotnie tutorial na stronie Następnie dodaje pliki RTOS'a zgodnie z instrukcją W kolejnym kroku dodaje FreeRTOSConfig.h do katalogu wskazanego kompilatorowi z plikami nagłówkowymi....
Witam, Trochę potentegowałem w głowie i schematy okazały się banalnie proste. Interfejs do OSD z 8-ma kolorami + transparent z możliwością załączania własnej synchronizacji zaprojektowany (PCB też). Temat uważam za zamknięty. Z ostatniej chwili ! OSD prawie działa ! Będzie jeszcze kilka...
No jak miałem uruchomić timer i o tym nie wiedzieć? Dodano po 6 I nie snuje żadnych tajemniczych domysłów, po prostu opisałem co jest w nadziei że się wyjaśni. Po prostu jestem ciekaw czemu się dzieje coś, co nie powinno. Timer1 jak włączałem, to tak by przepełniał się z częstotliwością 1...
Jak zsynchronizować ich działanie. Można by połączyć kaskadowo dwa timery ale to chyba nie o to chodzi, poza tym Timer 1 w F4 ma chyba dostatecznie dużo kanałów. Będę jeszcze próbował się dowiedzieć jak do tego podejść ale właśnie problem jest głównie taki: Od czego zacząć? Jak do tego podejść? I jak...
Kodu więcej - ale co się bardziej opłaca ;] Zmarnować kilkadziesiąt cykli co kilkadziesiąt ms, czy kilkanaście cykli co 100us (dla 115200)? Kazde wejscie w ISRa to 12 cykli. Jesli 2 UARTy ładują znak co 100us, to srednio co 50us masz przerwanie. W kazdej sekundzie na samo wejscie do ISRów idzie 240k...
Zrobiłem dokładne pomiary - 100 przeładowań pełnego ekranu i pomiar timerem. Najkrótszy czas przesyłu 154kB to 0.0608 sek. To najwyższa prędkość SPI1 dla taktowania 72MHz. Wyświetlacz pracuje stabilnie i godzinami przeładowuje się bez błędu. Jednak jest to prędkość SPI zbyt duża dla transmisji dwukierunkowej,...
Zdefiniowane w krzemie. To jest watchdog nie timer. Robi dokładnie to do czego jest przeznaczony. Jedyne co możesz zrobić to zweryfikować źródło resetu.
(at)BlueDraco Przerwania nie blokuję. W funkcji EINT3_IRQHandler(void) po wykonaniu obsługi przerwania robię. Moim zdaniem zawsze łatwiej wrzucić do obsługi przerwania timera dwie linijki kodu, które załatwią obsługę przycisku, niż robić wyrafinowaną obsługę przerwania od przycisku plus przerwania...
No tak, za długo przed monitorem. A taki błąd : [cc] C:\Users\Admin\Desktop\konwproj\FreeRTOS... error: unknown type name 'TimerHandle_t' [cc] #define xTimerHandle TimerHandle_t [cc] ^ ? Gdy zrobię coś takiego: [syntax=c] xTaskHandle...
__DSB() jest w tym przypadku całkowiecie zbędne - po włączeniu timera długo go nie używasz. Po co zerujesz bity, o których wiadomo, że już są wyzerowane? Dlaczego konfigurujesz każdą linię oddzielnie, zamiast zapsiać MODER i inne rejestry jeden raz a porządnie, bez operacji logicznych? Bo...
Before setting EN bit to '1' to start a new transfer, the event flags corresponding to the stream in DMA_LISR or DMA_HISR register must be cleared. Wystarczyło dodać w reinicjalizacji czyszczenie rejestru LISR dla danego strumienia DMA: [syntax=c]DMA2->LIFCR |= DMA_LIFCR_CTCIF0 | DMA_LIFCR_CHTIF0...
(at)Freddie Chopin Tak jak wcześniej pisałem miałem uruchomiony projekt - obsługę ethernet na STM32f407 gdzie main wyglądał tak: [syntax=c] /** ****************************************... * (at)file main.c * (at)author MCD Application Team, EvertDekker ...
Zewnętrzne przerwania nadają się - przykładowo - do obsługi pinów sygnalizacyjnych z innych układów scalonych, a nie do zabaw z przyciskami. To po prostu nigdy nie zadziała... Zrób sobie przysługę i odczytuj po prostu wszystkie piny w okresowym przerwaniu od timera (co 20-50ms, albo i rzadziej) i będzie...
Po pierwsze wstaw kod tak jak jest napisane w istrukcji do forum. po drugie - tam nie ma (albo ja nie znalazłem) : 1. Właczenia zegara UARTa ani timera 2. Ustawienia AF pinów ( o ile te piny są do użycią przez UART. Jezeli nie to brak wogóle ich ustaiwnia).
Tak przy okazji . Gdybym miał projekt gdzie uC maiłby bardzo dużo do liczenia, i miałby do obsługi sporo przycisków to z punktu widzenia wykorzystania zasobów która metoda jest lepsza: przerwanie tak jak w tym przypadku czy za pomocą timera? Oczywiście że timer.
Witam ponownie, Przygotowałem się że będę musiał skakać po Reference Manual a tu pierwsza zmiana i wszystko zadziałało. Zmieniłem [syntax=c] TIM1 -> PSC |= TIM1 -> ARR |= [/syntax] w ustawieniach timera na to [syntax=c] TIM1 -> PSC = TIM1 -> ARR = [/syntax] Tego się nie...
Nie ma najmniejszego problemu, żebyś nie ruszała niczego w ogólnej strukturze projektu, tylko po prostu w main() zmieniła inicjalizację i obsługę tego właśnie timera na własny kod. Jak masz debugger to zobacz co dokładnie jest we wszystkich rejestrach tego timera.
Witam wszystkich po raz kolejny. Potrzebuję rady doświadczonych kolegów na temat wydajności kodu. Otóż pracuję nad kodem w którym będą istnieć nawzajem różne procesy - adc, uart itd. Aktualnie piszę kod do obsługi SPI, w celu komunikacji z urządzeniem. Potrzebuję wysłać przynajmniej 7 bajtów do urządzenia...
Witam, Skoro już mowa o różnych uC to dopiszę się tu ze swoim programem pod STM32F407 (dokładniej to mam płytkę startową DISC1). Robi to o co autor postu pytał może się komuś przyda. (przerobione na podstawie kursu Szczywronka) [syntax=c] /* TIM5_CH4 (PA3) analog input PC1 (ADC1_IN11) * PC1 podłączony...
Wasz kod nie działa głównie z tego powodu, że rejestry timera są 16-bitowe, więc liczba 83999 raczej się w nich nie zmieści No ale kto by czytał te BEZSENSOWNE i ZŁOŚLIWIE ostrzeżenia kompilatora... 4\/3!!
Witam, na wstępie zaznaczam, że jestem świeży w temacie ARM. Studiuję właśnie DS i tak się przymierzam do opanowania timerów. W związku z tym ma takie pytanie. Dajmy na to T1 i T3, T1 podłączony jest to APB2 które ma maks 84MHz a T3 do APB1 - maks 42MHz. Teraz jeśli ustawię APB1_Presc na 2 a APB2_Presc...
GPIOC skonfigurowane i sprawdzone, timer również generuje pwm.
Witam, Próbuje zaimplementować hosta na stm32f407, który będzie obsługiwał klawiatury. Bazuje na przykładzie ze strony: [url=]stm32f4-discovery.com Przykład jest oparty na: STM32_USB-Host-Device_Lib_V2.1 Mam dwa problemy: 1. Nie działa wysyłanie raportów z hosta do klawiatury (status diod...
Witam, Próbuje uruchomić obsługę karty SD pod STM32f103ZET6. Wykorzystuje do tego bibliotekę, używaną wcześniej pod STM32f407. Zmodyfikowałem tylko inicjalizacje SPI i dorzuciłem testową funkcję zapisu do karty. Mimo to karta nie chce ruszyć. Przy próbie otwarcia jakiegokolwiek pliku dostaje:...
Tak, biblioteka jest mojego autorstwa. Parametry: Obsługa DPV0 Obsługa DPV1 Prędkość transmisji 9600-1,5M Zasoby procesora: 1 timer, 1 uart Sposób wywołania: funkcja inicjująca (inicjacja pamięci, inicjacja protokołu) -> zwraca - adresy obszaru pamięci do wymiany danych z PLC. 1. Wejścia 2....
Witam, mam taki problem z stm32f407, otóż odbieram dane z różnych czujników przez magistralę I2C i wszystko działało bez problemu, ale potrzebuję również odmierzać czas w programie dlatego włączyłem timer i wygląda na to, że jak przychodzi przerwanie od timera w trakcie wysyłania danych po I2C. Samo...
Nie wiem jak z ta zakrecona biblioteka od ST :) moj dzialajacy kod na STM32F407 z jednego projektu (z tym ze wyzwalanie ADC jest z Timera). Przerwanie DMA wyzwalane po zebraniu 8 probek... Twojego kodu nie analizuje bo ta biblioteka dziala czasami jak chce, z tego co pamietam na F4 chyba tez z nia...
W swoich programach na stm32f407 po zapisaniu preskalera w timerze wpisuję 1 do EGR, żeby wywołać Update generation. PSC contains the value to be loaded in the active prescaler register at each update event.
Witam, Moim zadaniem jest stworzenie projektu, który mierzy czas przejazdu z punktu A do punktu B na mikrokontrolerze stm32f407 z użyciem bibliotek HAL. Pierwsza część czyli wykrywanie ruchu zrealizowałem przy pomocy czujników ruchu HC-501, jednak z drugą nie mogę sobie poradzić - czyli stworzenie...
Trochę dziwna podziałka 400. Tak z ciekawości do czego. Chciałem przetestować tryb encoder mode w timerze mikrokontrolera STM32F407 :D Jakby kogoś interesowała płytka z STM32F407VET oczywiście bez programatora.