Timer ma jeden licznik. żeby zliczać impulsy, musisz skonfigurować go na zliczanie z któregoś wejścia, a nie domyślne zliczanie impulsów zegara. Rejestry CCR nie są Ci potrzebne.
Na początek musisz w jakiś sposób zmieniać stan tego pinu. Jak chcesz liczyć impulsy których nie ma?
Jak mogę obsłużyć przerwanie tak, aby sygnał wykonywał się zadaną ilość impulsów. Np 10 impulsów i sygnał kończy gnerowanie Liczyć w przerwaniu do 10 i np wyłączyć je (znam dwa sposoby, przez NVIC lub wyłączyć timer). Można też w przerwaniu przestać robić to co robiłeś czyli "tachlować" GPIO i skończy się "gnerowanie" impulsów. Do liczenia użyj zmiennej...
Mam problem z programem w którym timer ma zliczać impulsy (zbocza opadające). Konkretnie zegar timera ma działać w rytm impulsów podawanych na piny TIM4_CH1 i TIM4_CH2, z tym, że osobno liczę impulsy z każdego kanału i generuję osobne przerwanie dla każdego kanału. Liczenie impulsów z dwóch kanałów powinno działać jednocześnie. Impulsy pochodzą od 2...
Kod składniowo jest dobry. Chodziło mi że nie rozumiem idei jego działania. Np. po co sprawdzać czy TIM4->CNT <= 9? To by oznaczało że za każdym razem TIM4->CNT zmienia się o 1 (i każda taka zmiana to potem programowe sprawdzenie). A to bez sensu: w takim przypadku Timer pracuje jak zwykła zmienna, czyli po co Timer skoro można po prostu dać...
Witaj Kolego Szczywronek ! Oczywiście, mam nadzieję, że wiele razy już czytałeś jak piękną robotę odwaliłeś pisząc swój poradnik. Myślę, iż słowo poradnik jest nieadekwatne do tej książki, którą wydałeś w domenie PUBLIC DOMAIN. Wielki szacunek i wielkie podziękowania, za włożony trud! Nie mniej jednak w rozdziale 1.4 (uwagi końcowe) dałeś przyzwolenie...
Hmm... teraz jak sobie o tym pomyślałem, to wychodzi mi na to, że z dwoma timerami i enkoderem to się nie uda - no bo właśnie ten drugi timer (zwiększający rozdzielczość) będzie liczył tylko w górę, bo niby czemu miałoby być inaczej? Nie da się więc tego zrobić... Co więcej - gdybyś swoim enkoderem kręcił w okolicy "przejścia przez zero" - takie oscylacje...
W porządku, wiem jak zmienić pojemność licznika, sam to także napisałem. Mi chodziło o to, że jak kręcę enkoderem zwiększając licznik, to żeby zatrzymał się na tym 99 mimo kręcenia enkoderem dalej. Tymczasem on się zeruje i zlicza od początku. Może być to groźne, jeśli będę chciał sterować np. napięciem w zasilaczu. Przebicie licznika może spowodować...
Można eliminować drganie styków w bardzo prosty sposób wyzwalając w przerwaniu EXTI jakiś bardzo prosty timer w trybie one_pulse_mode, jednocześnie wyłączając przerwania. Jak timer skończy liczyć jeden impuls i wejdzie w swoje przerwanie to załącza przerwania z EXTI. absolutna konieczność
Większość amatorskich konstrukcji detektorów promieniowania jonizującego opartych jest o lampy Geigera-Mullera, w tym wpisie chciałbym Wam przedstawić inną konstrukcję, opartą o detektor półprzewodnikowy, którym tu jest fotodioda. Plusem takiego rozwiązania jest: - brak konieczności stosowania lamp GM, które są dość drogie. - brak konieczności stosowania...
3. Przeladowanie timera rozumiem robisz przy hego doliczeniu? w jego przerwaniu? zeby uniknac sytuacji gdy zmiejszasz mu wartosc do jakiej ma doliczyc juz po jej przekroczeniu - musialby wtedy liczyc az do przekrecenia? Kwestia generowania impulsow - chwile juz na STM32 nie pisalem i nie wiem czy dobrze kojarze ze timer ma swoj pin na ktorym generuje...
Przyznaję rację, że liczenie i zastosowanie metody Freddiego działa rewelacyjnie! Dzięki :) W zasadzie wszystko działa tak jak zostało założone, ale... Chciałbym Was zapytać o jeden mały problem - z którym sobie poradziłem - ale może można łatwiej... Otóż, przy każdym przepełnieniu (to akurat rozumiem) oraz przy pierwszym zliczonym impulsie LPTIM wskakuje...
Tylko tak jak na stronie Arduino pisze Jest napisane. , funkcja pulseIn() "Works on pulses from 10 microseconds" co daje 100Hz bez dzielnika a z dzielnikiem tylko 400Hz. Więc jak to rozwiązać? Już napisałem, sygnał mierzony dajesz na wejście licznika. Tak można mierzyć częstotliwości do częstotliwość_taktująca_mikrokontroler / 2. W nocie katalogowej...
Przepraszam, że zawracam głowę prostymi pytaniami, ale nie rozumiem skąd się wzięła wartość z komentarza w książce "Mikrokontrolery STM32 w praktyce". W rozdziale "6.6 Obsługa przycisków" na listingu 6.10 jest poniższy fragment kodu: // Ustawienia układu podstawy czasu TIM_TimeBaseStructure.TIM_Period = 10000; TIM_TimeBaseStructure.TIM_Prescaler = 24000;...
No nic, nie jestem w stanie tego poprawnie skonfigurować. Próbowałem uruchomić opcję "Gated Mode" ustawiając rejestr TIM1->SMCR = 0x55; Problem mnie przerasta. Bardzo prosił bym o podpowiedź - po kolei jak to skonfigurować. W ostateczności polecę w pętli licząc czas do opadnięcia pinu. Pozdrawiam.
Dzięki wielki za szczegółowe wytłumaczenie wszystkiego. Troszkę dostałem zaćmy :-) i zacząłem liczyć takty timerów , "sklejać" ze sobą przebiegi PWM, i mi nie wychodził czas, a przecież długość całego impulsu ustawia Zegar SPI.
Moglibyście polecić jakiś mikrokontroler, najlepiej ARM, który można łatwo kupić i programuje się go bez użycia drogiego sprzętu? Nie znam mikrokontrolerów AVR. Jestem hobbystą. Swoją przygodę w ogóle z mikrokontrolerami zacząłem od STM32 i nie żałuję. Chyba niczego nie straciłem :). Mam dwie płytki STM32F4 Discovery oraz Nucleo 446RE. Fajnie, że masz...
dea jest taka, że należy skonfigurować Timer1 na FastPWM z rejestrem ICR1 jako Top (czyli licznik będzie liczył do wartości tego rejestru). Należy tak dobrać preskaler i wartość ICR1 by licznik przekręcał się co 20ms a więc np. preskaler 1024 i ICR1 15625 (a raczej 15624 bo licznik liczy od zera). Przy tych ustawieniach otrzymujemy granulację 1,3 µs/tick,...
https://obrazki.elektroda.pl/4950580000_... Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...
Witam, Mam problem z konfiguracją licznika do pomiaru czasu trwania sygnału na wejściu PA1. Generalnie chcę to rozwiązać w następujący sposób: w momencie wykrycia zbocza narastającego lub opadającego wywołuję przerwanie EXTI1. W obsłudze przerwania EXTI1_IRQHandler, sprawdzam stan portu PA1 jeśli jest stan wysoki to chcę uruchamiam licznik, który zmierzy...
Witam Tak jak w temacie chciałbym skonfigurować dwa moduły nRF24L01 do najprostszej komunikacji między sobą. Mam na myśli podstawowe wysyłanie danych np. jednego bajtu, bez żadnych bajerów typu zmiana adresu, automatyczna odpowiedź, potwierdzenie dostarczenia itp. Do obsługi tych modułów korzystam z mikrokontrolerów STM32. Konfiguruję wszystko zgodnie...
Witam. Posiadam sensor ultradźwięków US015, który jest podobny do HCSR04. Chciałbym go obsługiwać przy pomocy mikrokontrolera STM32F429. W internecie znalazłem kawałek kodu, odpowiedzialnego za jego obsługę. Do jego obsługi wykorzystywane są 2 timery - timer7 jest odpowiedzialny za generację impulsu inicjującego pomiar (TRIG) - 10uS, a drugi liczy czas...
liczenie impulsów arduino liczenie impulsów liczenie impulsów bascom
iskrownik ustawić honda civic termostat kabel mercedesa
Czy kabel multiroom nadaje się do internetu? Delikatne szarpanie w Mercedesie A140 po załączeniu biegu