Witam, Po inicjalizacji timera i przed jego włączeniem przeładuj timer (zapisz bit UG do rejestru EGR),a następnie wyczyść flagę w Status Register (TIM4->SR &=~TIM_IT_Update). Dopiero po tych czynnościach włącz timer - przerwanie powinno przyjść dopiero po odmierzonym czasie.
Przecież timer liczy tak: niech MR0 = 4 to 0,1,2,3,4,0,1,2,4,0,... zatem trzeba odjąć 1. W takim razie zrób test preskaler ustaw na wartość taktowania uC, żeby do timer był taktowany 1 s natomiast do rejestru MR0 załaduj 10 a później 9 LPC_TMR32B0->MR0 = s - 1; Teraz dopiero zauważyłem, że AN jest jedno przerwanie od timera i jego wejścia CAP. Ale...
(at)seba_x:A co to za bzdura?:> • Peripheral Features – Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode A co do pytania autora, nie, zliczanie umożliwiają tylko dwa pierwsze timery. Trzeciego można używać jako wewnętrznego. Nie tylko...
Pulse powinno robić robotę. Jednakże widzę dwie rzeczy które wydają się śliskie. Pierwsza to brak ptaka przy "internal clock" - jak więc timer jest taktowany? Druga: Fast Mode Enabled - coś mi się niejasno kojarzy (dawno o tym czytałem i pobieżnie), że ten tryb jakoś wpływa (ale nie pamiętam jak :-D) na sposób wyzwalania więc warto by o tym poczytać w...
] Gdybym chciał jednak mierzyć załóżmy do 1kHz to wymaga aby zliczać przepełnienia? Dlatego napisałem..."Nie znaczy to jednak..." w złym obliczeniu 1 sek wartość wynosiła 61630, przy prawidłowym obliczeniu wynosi 34 286 uwzględniając czas 1sek, częstotliwość taktowania 8MHz i prescaler 256. Przecież czas (1 sec.) odmierzasz timerem0, który jest 8-bitowy...
Przedstawię Ci kolego przykład zastosowania Pulsein żebyś miał jaśniej. Myślę że będzie "rzeczowiej". To przykład dla dekodowania transmisji pilotów podczerwieni. Sygnał podłaczony jest do zewnetrznego przerwania INTx i w momencie zmiany na pinie program skacze do tej procedury. Mierzy impuls i poddaje rozwadze jego długość. [syntax=basic4gl]Int_1isr:...
Jest gdzieś skrótowa dokumentacja do ustawień CubeMX, aby zaczynający programista się nie zniechęcił? Nawet jeśli korzystasz z CubeMX to zacznij najpierw od jakiejś literatury. "Poradnik Szczywronka" takie rzeczy dość łopatologicznie tłumaczy tzn. podstawy działania timerów (i nie tylko). Na pierwszym zrzucie mamy włączony OPM na drugim wyłączony....
Coś takiego znalazłem. Co prawda na Atiny ale można przerobić. [syntax=c]// // Talking to ultrasonic sensor HC-SR04 with an ATtiny84, and // sending distance data using serial communications. // // electronut.in // #include <avr/io.h> #include <string.h> #include <util/delay.h> #include <avr/interrupt.h> #define F_CPU 8000000...
Witam ogarnąłem już dużo na temat programowania w bascom, tylko mam kolejny problem, mianowicie chciałbym zaprogramować obsługę serwa pilotem nadającym w RC5 lecz gdy połączę obsługę rc5 i serwa mam takie błędy i nic nie działa: ........ Pojedynczo programy działają ok. ................. Rc5+ servo (nie działa) Pozdrawiam. Zauważ że zarówno 'Config...
http://obrazki.elektroda.pl/5431448900_1... 74HC74 bramkuje sygnał wejściowy tak aby jego impulsy nie były krótsze niż impulsy taktowania licznika 74HC590(już samo to wyfiltrowuje część krótkich szpilek) - blokuje to możliwość wyzwalania przerwania ICR1 z nadmierną częstotliwością. W układzie jak na rysunku 74HC590 zlicza gdy sygnał...
https://obrazki.elektroda.pl/4300134000_... B01 - pulse relay B02 - on delay
"Kilka" częściej spotykanych słówek i wyrażeń na początek amplifier (amp) - wzmacniacz preapmlifier (preamp) - przedwzmacniacz power amplifier - wzmacniacz mocy analog multiplier - analogowy układ mnożący ****************************************... PLL - Phase Locked Loop - pętla z synchronizacją fazy ****************************************...
(at)tmf - dziękuję za miłe słowa :) Właśnie takie było założenie co do grupy "docelowej". Myślę, że jeszcze długo ATmegi i ATtiny będą punktem startowym dla hobbystów ze względu na nawał informacji w Internecie i mocno zakorzeniony pogląd jakoby wszystko inne było drogie/trudne itd. W sumie chciałem, żeby w poradniku było trochę więcej nawiązań do...
No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
https://obrazki.elektroda.pl/4868547700_... Dzisiaj zrealizuję projekt na malutkim, ośmionóżkowym mikrokontrolerze PIC w obudowie DIP8 oferującym skromne 3.5kB pamięci Flash. Co więcej, do komunikacjami z peryferiami użyję tylko dwóch pinów - całość opierać się będzie o I2C. W oparciu o nie uruchomię kontroler wyświetlacza/klawiatury oraz...
https://obrazki.elektroda.pl/4024863600_... W tym temacie zbuduję od 0 prosty ściemniacz LED sterowany dwoma przyciskami. Projekt będzie oparty o PIC12F683, którego tu zaprogramuję bez użycia zewnętrznych bibliotek - GPIO i PWM zostanie skonfigurowane wedle informacji z noty katalogowej. Do tego dobiorę kilka zewnętrznych elementów...
IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...
https://obrazki.elektroda.pl/8760486500_... Po przygodach z matrycami zbudowanymi na max7219, przyszła pora na coś bardziej zaawansowanego. Miałem w planach zrobienie własnej matrycy z 1500 jednokolorowych ledów 0603, 3 rejestrów przesuwnych i paru elementów dyskretnych, ale jak już ją zaprojektowałem, to przypadkiem trafiłem na matryce...
https://obrazki.elektroda.pl/9894384200_... Witam! Chciałbym przedstawić wykonany prze zemnie VU metr. przeglądając różne konstrukcje na YT postanowiłem złożyć w większej wersji takowy audiowizualny gadżet. VU metr ma wysokość ok 376mm i średnice 150mm. Dyski (26szt) wykonane zostały na laserze z przeźroczystej pleksy 5mm. W celu uzyskania...
Po pierwsze to mega dziwnie ustawiasz ten oscyloskop, ale to detal. Po drugie, powiem szczerze, nie do końca rozumiem działanie trybu 15 TIMER1. W tym trybie licznik liczy do wartości ustawionej w OCR1A, ale kiedy następuje przełączenie wyjścia? Chyba już wiem w czym rzecz. Z noty: "Combined with the WGM13:2 bits found in the TCCR1B Register, these...
Przyjrzałem się temu trochę bliżej. Niestety ATAPI i IDE nie są technologiami, które znam, a dokumentacje są obszerne. Sprawdziłem, czy nie poczyniłem znaczących modyfikacji w kodzie ATAPI, ale nic takiego nie znalazłem. Kod "wisi" wewnątrz procedury oczekiwania na gotowość napędu (10.8.26.1 Using the TEST UNIT READY Command w https://inst.eecs.berkeley.edu/~cs150/fa...
https://obrazki.elektroda.pl/3305421000_... Ostatnio trafiłem na czujnik tętna oparty o element fotoelektryczny. Testując czujnik UV z cyfrowym interfejsem Ostrzeżenie: Tego typu tanie czujniki "medyczne" nie mają nic wspólnego z prawdziwą elektroniką medyczną, prezentuję tutaj efekty własnych prób podejmowanych na własne ryzyko, osoby...
Cześć. Koledzy składam wagę z projektu który znalazłem i niestety na arduino uno zabrakło miejsca . Nie jestem programistą i sam nie jestem w stanie kodu zoptymalizować. Jedynie usunąłem wybór języka i zaoszczędziłem 2% pamięci. Jest jeszcze tylko o 1% za dużo więc ośmielam się prosić o pomoc tutaj na forum. Szkic używa 32856 bajtów (101%) pamięci programu....
Na przykład w ten sposób: https://obrazki.elektroda.pl/3961263100_... Musisz wybrać TIM, który posiada rejestr TIMx_RCR, do którego wpisujesz ilość impulsów do powtórzenia. Zaznaczyć też trzeba opcję One Pulse Mode i wtedy po odliczeniu odpowiedniej liczby cykli, timer się zatrzyma. W STM32G030xx właściwe są TIM1, TIM15, TIM16, TIM17....
No mam podobne właśnie rozwiązanie (poza tym, że zaproponowałeś coś w stylu inkrementalnego podawania ilości impulsów, a ja absolutnego, ale to nie takie istotne). Nie używam PWM tylko właśnie FREQ GEN (Szkoda, że nie wspomniałeś o tym trybie w swej książce. Znalazłem to w pdf AVR1306 / doc8045 p. 3.8.2. Podobny efekt można uzyskać w normalnym trybie,...
Witam Nigdzie jakiejś w miarę definicji licznika i timera nie znalazłem. Może mi ktoś powiedzieć czy takie coś jest poprawne? Moduł czasowy (timer) - Działanie modułu czasowego odpowiada sposobowi działania przekaźnika czasowego z opóźnionym załączaniem lub wyłączaniem. Maksymalnie można zaprogramować 128 modułów czasowych oznaczonych instrukcją T0...
Kupione, bardzo ciekawa, dużo przykładów. Znam już trochę timer (przynajmniej podstawy), ale teraz pytanie. Jak zrobić żeby zmienna trwała krócej niż impuls, który ustala jej wartość? (pewnie piszę herezje) [syntax=vbnet] If PULSE=1 Then T=1 Waitms 1 T=0 End if [/syntax] Proble jest w tym, że moje PULSE trwa ok 300-500ms, a moje T musi być wyzwalane...
Nie wiem jak sterowniki Easy serii 500 ale mam 400, 600, 800 i mają timer w trybie single pulse generujący właśnie impuls o określonym czasie trwania. Nie chce mi się dokumentacji do serii 500 szukać ale na pewno jest coś takiego też,
Witam! Mam w swoim programie chciałbym wykorzystać timer w trybie one pulse do odmierzania czasu, ale w taki sposób, żeby można było wyłączyć timer w przerwaniu od wartości CCR. Do tego celu wykorzystuje TIM2 (general purpose). Niestety timer nieprawidłowo odmierza czas kiedy chcę go wyłączyć bitem CEN(np wpisuję ze ma się wyłączyć po 100us a wyłącza...
(at)nasiono Nie chce Kolega z uporem wartym lepszej sprawy napisać co chce osiągnąc. Bo teraz zakładając że wszystko jest ok. To timer 4 pyknie tylko raz.
Przepraszam 3 waity pomiędzy Do a Loop. P.S Najpierw sprawdź co zapodajesz na forum zanim będziesz kwestionował to co sam wstawiłeś. Nie kwestionuje tego co wstawiłem ale najwyraźniej Sam nie wiesz na czym polega program i o czym piszesz. Jest on jak najbardziej poprawny. Problem polega na tym że nie jest wykonane polecenie load timer1,250 jak pisałem....
Witajcie, Mam problem ze zmianą polaryzacji wyjścia timer w locie. Sprawa wygląda tak. Mam dwa timer jeden (TIM1 na CH1) generuje PWM o dużej częst. a drugi (TIM7) zlicza czas w dół i następnie w przerwaniu zmienia polaryzację wyjścia PWM TIM1. Niestety pojawia się wtedy flaga UIF w rejestrze SR, co powoduje przeładowanie TIM1 i wtedy na krótki czas...
Witam mam taki problem z OPM w stm32f3: otóż potrzebuję generować impulsy prostokątne wyzwalające 4 różne urządzenia i każde urządzenie ma swój charakterystyczny czas impulsu wyzwalający w konkretnej chwili. Chcę również, że od razu kiedy uruchomię TIMER to przez 4 kanały wysyłane są naraz wszystkie impulsy o różnych długościach bez opóźnień. Niestety...
Kod poprawiony przedstawiam dla zainteresowanych. Wyszedł mi ładny serwer temperatur z obsługą po protokole UART z użyciem modułu USI procka ATTiny85. Śmiga jak ta lala. Zastanawiam się czy przejść na 12 bitową rozdzielczość ale nie wiem czy zyskam na dokładności. Jak to z tym jest Panowie? Może dodatkowo zaimplementuję protokół Modbus RTU w procku...
PPS to wyjście niezależne od portu szeregowego. Nie wiem jak zmienić częstotliwość. Na pewno w dokumentacji znajdziesz ale 1Hz jak dla mnie to bardzo dobra wartość do synchronizacji timera. Z portu szeregowego odczytujesz czas a precyzyjnie ustawiasz timer tym 1Hz sygnałem. edit można użyć detykowanego programu: Question: How to set clock pulse (PPS)?...
Hmm jak na procka za 3,4zł nie jest źle ;) Bardzo cieniutko Panie... https://obrazki.elektroda.pl/6576032700_... https://obrazki.elektroda.pl/3171327000_... [syntax=c] ARM®32-bit Cortex®-M3 CPU Core 72 MHz maximum frequency,1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access Single-cycle...
Ale ciężko powiedzieć co tam dokładnie jest zapisane. Ja się tak przyglądnąłem temu obszarowi od 0xF800 i sprawa nie wygląda na beznadziejną. https://obrazki.elektroda.pl/7903702500_... Po pierwszym bajcie = 0 (może to wskaźnik dokonanej kalibracji), od bajtu 0xF801 do 0xF82C jest 11 liczb zmiennoprzecinkowych float (w konwencji...
Pracuje nas sterowaniem małego serwomechanizmu: http://www.rctrax.pl/product/Serwo-HXT50... Programuje w Bascom AVR i do tego celu wykorzystuję jedynie Timer0. Nie mogę wykorzystać dodatkowego timera1 bo ten będzie służył do odliczania czasu. Instrukcji Serwos() także nie chce wykorzystywać...jakoś nie mam do niego zaufania...
Panowie dziękuje za pomoc. takiego schematu raczej bym sam nie zrobił. zostaje jeszcze parę kwestii: przy symulacji zauważyłem że przy Q1 oraz Q2 tzn roleta góra dół trzeba by trzymać cały czas przycisk. Czy wystarczy tam wstawić kolejny pulse relay? Jak rozwiązać to że jeśli silnik zwija roletę rozwijanie jest zablokowane i odwrotnie( w instrukcji...
Witam serdecznie, Mam pytanko. W jaki sposób skompilować plik w asemblerze na plik hex lub bin dla układu PIC 12F675? Nigdy tego nie robiłem, więc prosiłbym o jakieś wskazówki lub pomoc. Poniżej kod w asemblerze. Poprawiłem temat, pisownię i kolorowanie składni.
Dlatego najlepiej napisać obsługę wyświetlacza w przerwaniu, a nie czekać aż się zmieni stan na jakimś pinie. Obsługa wyświetlacza na HD44780 w przerwaniu to jakaś masakra a nie rada dla początkującego. W przerwaniu (i to częściowo) można robić VGA albo composite ;) Inicjalizacja powinna być tam gdzie wszystkie inity w programie typu system_init, main_setup...
To akurat jest dla mnie w miarę oczywiste, bo podobny program robiłem już na AVR. Natomiast z STM32 nie chciałem się zagłębiać właśnie w konfiguracje zegarów - stąd pytanie o jakiś gotowy projekt, który można by tylko dostroić do potrzeb. Wygląda na to, że jednak będzie trzeba napisać samemu od zera. Przeglądałem opis procesora z F4 i doszedłem do wniosku,...
Nauczcie się wreszcie, że od sterowania licznikiem w trybie COUNTER podczas symulacji jest opcja PULSE. Czytanie instrukcji/helpa przecież chyba nie boli: The pulse generator can be used to supply pulses to the timer when it is used in counter mode. First select the desired pin from the pull down box. Depending on the chip one or more pins are available....
A nie ma ktoś gotowca na pomiar częstotliwości z wykorzystaniem TIMER0 i TIMER2? Już mnie powoli trafia.... ehh Nie,... nie mam ale powiem ci jak to zrobić... W zasadzie wystarczyłby ci tylko jeden dowolny timer do pomiaru częstotliwości, mierząc nim czas pomiędzy dwoma kolejnymi zboczami bądź to rosnącymi lub opadającymi. Procedurę tę możesz uskutecznić...
Witam. Chcę sobie zrobić zegar ze strony: [url=http://www.micro-examples.com/publi... Tylko mam problem, ponieważ kod programu jest przeznaczony dla wyświetlaczy ze wspólną katodą, ja natomiast posiadam wyświetlacze ze wspólną anodą. Co w kodzie należy zmienić, aby działało to z wyświetlaczem ze wspólną...
Dzięki pomocy jednego z forumowiczy ( dziękuję mrh :) ), udało się ustalić, że przyczyną problemów komunikacyjnych z ds18b20 są źle skonfigurowane opóźnienia. Opóźnienia chciałem zrealizować na jednym z timerów 2-5 w trybie one pulse mode. Niestety nie udało mi się do tej pory znaleźć błędu, więc proszę o pomoc w walce z opóźnieniami. Zamieszczam kod...
LPTIM ma przecież: External clock source over LPTIM input (working with no LP oscillator running, used by Pulse Counter application) Wydaje się to dużo lepszą opcją niż budzenie co przerwanie. Impulsy taktują timer, cały układ jest wyłączony, co godzinę budzisz układ przez RTC, odczytujesz licznik timera, odejmujesz od poprzednio odczytanej wartości,...
No właśnie tylko u mnie dość cienko z programowaniem i obawiam się, że może mnie to przerosnąć. Do tej pory udało mi się odpalić wiele rzeczy, ale nie wiedziałem ze z tym będą takie problemy. Dobrze by było jakbyście rzucili też okiem na całość programu, czy jest jakoś w miarę poskładany. Edit: Znalazłem coś takiego: [syntax=vb] //Timer1 Capture //Timer1...
A co powiesz na takie cuś :wink: $regfile = "m8def.dat" $crystal = 8000000 Dim Tdelay As Word , Do1w As Bit , Tab(9) As Byte Const Pulse = 9950 '<10 ms Tgate Alias Portb.1 'Pin OC1A Config Timer1 = Timer , Prescale = 8 Stop Timer1 Config Int0 = Falling Config Pinb.1 = Output On Int0 Int0_int , Nosave Enable Int0 Enable Interrupts...
Hm, wydaje mi się, że całe rozwiązanie opisałeś w treści zadania. Stwórz sobie zmienną typu int i zliczaj wyłączenia pompy na zbocze opadajace. I1 (N) -> ADD 1 do licznika Kiedy licznik =20 wrzucasz np off delay timer na 5 sekund (do wystawienia elektrozaworu) i w tym samym networku resetujesz licznik (Move 0) W załączniku wrzucilem drabinkę zrobioną...
timer funkcja pulse stm32 timer pulse pulse pulse
transfer plików kocioł jednofunkcyjny termet domofon schemat kasety
Passat B5 1.9 TDI – kontrolka poduszek po wymianie foteli, airbag, VAG, wiązka, kombi Zaniki dźwięku w organach cyfrowych Yamaha, Roland – diagnostyka zasilania, DSP, DAC