Ja mam to tak skonfigurowane: [syntax=c] // gpio enkoder - PB4, PB5 RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN; GPIOB->MODER |= GPIO_MODER_MODER4_1 | GPIO_MODER_MODER5_1; GPIOB->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4 | GPIO_OSPEEDER_OSPEEDR5; GPIOB->PUPDR |= GPIO_PUPDR_PUPDR4_0 | GPIO_PUPDR_PUPDR5_0; GPIOB->AFR[0] = 0x00220000; //init enkoder RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;...
Ok po pierwsze zdecyduj się czy używasz kanału 1 czy kanału 2 DAC bo odpalasz DMA dla kanału pierwszego DAC ale w rejestrze DAC_CR odpalasz kanał drugi. Do tego aby działał trigger inny niż software'owy musisz ustawić bit TEN1 oraz bity TSEL1[2:0] w zależności od źródła wyzwalania. Więc dla TIM6: [syntax=c]DAC->CR = DAC_CR_DMAEN1 | DAC_CR_TEN1 |...
Czemu sterujesz OUT-em i CTL-em? Nie lepiej sterować bezpośrednio strefą wykorzystując funkcję wyjścia 8?
Nie odpowiem na wszystkie pytania bez znajomości kodu, ale zerknij na to, że kiedy nawet Timer stoi a pin jest skonfigurowany na Timer to steruje się innym rejesterem. https://obrazki.elektroda.pl/8568974800_... Mozliwe że potrzebujesz coś w nim zmienić.
Kupa błędów, trudno, żeby działało. Nie wiem, czy wszystkie wyliczę: 1. W komentarzach jest TIM1 ch1, TIM1 ch2, TIM1 ch3, ale kody pod tymi komentarzami są identyczne (tylko rejestr CCRx jest zmieniony) - niby czym się różni inicjowanie dla poszczególnych kanałów? 1a. Rejestry PSC i ARR są określone dla timera (wspólne dla wszystkich kanałów), więc...
.... W pętli głównej sprawdzam na okrągło bit 0 rejestru 0 układu ( sprawdzam flagę alarmu timera). .... "Additionally, a timer alarm can be programmed by setting the timer alarm enable (bit6 of the alarm control register). When the value of the timer equals a pre-programmed value in the alarm timer register (location0F), the alarm flag is set ( bit1...
To nie pytania kontrolne tylko naprowadzające :) 80% wypełnienia to 80 % stanu "high" w danym okresie, czyli jeśli okres trwa sekundę to przez 800 ms będzie przepływał prąd przez dany pin. po czym zatrzyma się na 200ms i cała operacja się powtórzy. Zgadza się ? I właśnie do odmierzania tych czasów służą liczniki (timery). Wybrany timer z funkcją PWM,...
W sobotę o tej porze mogę się mylić :P W tabelce pisze chyba wyraźnie, że dla tego trybu CTC który ustawiłeś to okres ustala się w OCR1 A i raczej powinieneś wtedy uruchomic przerwanie od OCIE1 A i oczywiście wskazać adekwatny wektor przerwania. https://obrazki.elektroda.pl/2405063000_... Sprawa 1 sekundy jest prosta. (8MHz/256)-1=...
Powiem szczerze, nie ogarniam tego :( siedzę już 2 godziny nad tym i efekt jest taki że na 5 wciśnięć przycisku tylko 2-3 wciśnięcia działają poprawnie Wcale nie tak źle(!). Z rachunku wynikałoby średnio ok. 50%. Spędzisz następne 2 godziny i bilans osiągnie 100%. Zacznij myśleć bardziej koncepcyjnie i zwróć więcej uwagi na posiadany sprzęt. Czy twój...
Przede wszystkim musisz zacząć kolego od poznania timerów. Do odmierzenia czasu używamy timerów ponieważ zlicza nam czas w tle działania procesora. Używając polecenia wait zatrzymujesz kompletnie uC na ten czas. Konfiguracja dla AtMega8 8Mhz u mnie wygląda tak: Config Timer1 = Timer , Prescale = 256 ''''konfiguracja timera On Timer1 1s ''''przy przerwaniu...
Jak już Ci pisałem Stoper zrobił bym tak: 2 guziki podłączone do przerwań: 1 guzik przerwanie: if(FlagCount) { FlagCount = 0; Wyłącz Timer } else { FlagCount = 1; Załącz Timer } Pochodzące od 2 guzika: FlagCount=0; Wylacz Timer; ss=0; s=0; m=0; h=0; Pochodzące od Timera: ss++; if(!(ss%20))FlagDisplay=... i...
Witam. To znowu ja z kolejnym urządzeniem. Jest to 1-kanałowy inteligentny przełącznik ściemniacza Avatto DMS16-W1 z CBU rozmawiający z MCU Puya PY32F002A (TSSOP-20). https://obrazki.elektroda.pl/5535706100_... https://obrazki.elektroda.pl/3162350000_... https://obrazki.elektroda.pl/6555860800_... https://obrazki.elektroda.pl/4466273200_...
........, a podpowiedzcie mi jak mogę obsłuzyc Rc5,serwo i pwm? Pozdraiwam Dla obsługi RC5 i kontroli serva użyłeś w sumie 2-ch timerów... ATMega8 posiada wbudowane 3 timery , zastosuj więc ten trzeci do 'produkcji' PWM''. Jeżeli ten ostatni (dotychczas wolny) jest Timer1, to ma on dwa kanały dla PWM, na których możesz generowac praktycznie dwie różne...
Przecież obsługa timera w AVR i '51 jest inna , zobacz jak wygląda konfiguracja dla obu wersji .
Opis systemu ComAp InteliLite NT AMF25:Zaawansowany kontroler do zarządzania agregatem prądotwórczym w aplikacjach standby i prime power. Monitoruje napięcie sieciowe i agregatowe, steruje przełącznikiem SZR oraz generatorem. Obsługuje funkcje takie jak wykrywanie zaniku napięcia, sterowanie stycznikami (MCB – Main Circuit Breaker, GCB – Generator...
Teardown i OpenBeken drop in dla https://obrazki.elektroda.pl/2073381600_... https://obrazki.elektroda.pl/6296432100_... https://obrazki.elektroda.pl/3197909200_... Moim celem było umożliwienie regulacji amperów/mocy z MQTT lub asystenta domowego podczas ładowania EV. Można to zrobić za pomocą OpenBeken....
Jest mozliwa taka konfiguracja "Config Rc5 = Pinb.2 , Timer = 2" P.S. przepraszam za moj "Polski jezyk" jestem Czechem :-)
Timer 0 w atmedze8 nie ma pwm. Powinieneś użyć Timera 2, czyli rejestrów TCCR2 i OCR2.
Tutaj przyjrzę się czujnikowi kontaktowemu LoraTap/Tuya MC100W do monitorowania otwarcia/zamknięcia drzwi/bramy/okna. Zakup w Ali Express https://www.aliexpress.com/item/10050072... https://obrazki.elektroda.pl/8345087100_... https://www.loratap.com/products/mc100w Pudełko, części, elementy wewnętrzne urządzenia: https://obrazki.elektroda.pl/8141601100_...
Czy jest możliwość takiego skonfigurowania strumienia DMA w konfiguracji pamiec do periferial żeby wyzwalany był przez timer ale dane szły do Uarta? Jest to możliwe - to że dany kanał jest przyporządkowany - przykładowo - do Timera, nie oznacza że może on wysyłać/odbierać dane tylko do/z timera. Niemniej jednak jeśli chcesz wysyłać dane do UART przez...
Napisz coś podobnego jak poniżej: [syntax=c] // zmienne globalne dostepne rowniez w przerwaniu volatile uint32_t PulseWidth; volatile uint8_t zakonczono_pomiar = 0; // obsluga przerwania TMR32B0 void TIMER32_0_IRQHandler(void) { static uint32_t LastCapture = 0; if ( LPC_TMR32B0->IR & (0x1<<4) ) // sprawdzenie czy przerwanie od kanalu zliczajacego...
Domyślam się, że trzeba urzyć innego Timera do obsługi PWM, ale nie wiem którego używa odbiór IR. Poczytałem trochę o Timerach i dla PWM najczęściej stosowany jest tryb CTC. Albo nie do końca zrozumiałeś to co czytałeś, albo autor tej informacji wstawił wierutną bzdurę! Zarówno CTC jak i PWM są to oddzielne tryby pracy timerów w AVR i ich funkcjonalność...
A nie lepiej tak ? Przykładowa konfiguracja timera1 w trybie CTC i przebiegiem na OC1a [syntax=basic4gl]Config Timer1 = timer, Prescale = 256, CLEAR TIMER = 1, Compare A = toggle, Compare B = disconnect [/syntax] Potem tylko zmieniać wartość rejestru Compare1a jakimiś przyciskami, pilotem, enkoderem etc. ps. Jak nie zadziała to poustawiać bity w rejestrach...
Jeśli WD ma być "tylko" do budzenia to się zgodzę. Przyzwyczaiłem się WD zostawiać sobie też dla bezpieczeństwa aplikacji. If WDE is set, the Watchdog Timer is in Interrupt and System Reset Mode. The first time-out in the Watchdog Timer will set WDIF. Executing the corresponding interrupt vector will clear WDIE and WDIF automatically by hardware (the...
Witam Pytanie 1: Zrobiłem coś takiego że jeśli odebrano znak to jest wygenerowane przerwanie Urxc następnie przed instrukcją INPUTBIN uruchamiam przerwanie Timer0 jako licznik czasu który chcę wykorzystać do przeterminowania czasu odebranego znaku. bo INPUTBIN B(1), 6 oczekuje na 6 bajtów. Jak wysyłam całe 6bajtów to działa poprawnie, a jeśli bym wysłał...
.org 0x0000 ; ustawia adres w pamięci programu rjmp reset ; skocz do etykiety ... ; wektor przerwania timer 1 .org 0x0005 rjmp led_off ; skocz do obsługi przerwania ; w tym przykładzie początek programu głównego reset: ; Jako pierwsze ustawienia stosu (w asemblerze jest to ; bardzo ważna operacja i programista nie może o tym zapomnieć)....
Potrzebuję podłączyć pompę basenu do timera tak aby włączała się co godzinę na 15 minut czyli potrzebuję 20 włączeń a jeden timer ma tylko 10. Posiadam dwa timery jak widać na rysunku pierwszy działa rano drugi po południu ale żeby nie bawić się w przełączanie wtyczki to zrobiłem łącznik dwie wtyczki z jednym gniazdkiem.Osobno timery działają bez zarzutu,...
Teraz powinno być dobrze Zależy, co rozumiesz przez "dobrze". Jeśli chodzi o to, czy ten program będzie działał zgodnie z Twoimi założeniami, to musisz sam jakoś przetestować, bo ja nie mam czasu na szczegółowe analizy. Nie znam zbyt dobrze Eclipse i nie wiem, jakie ma możliwości symulacji, ewentualnie pozostaje skompilowanie, zaprogramowanie mikrokontrolera...
Zrobiłem taki prosty program w PLC. Generator impulsów na dwóch timerach. http://obrazki.elektroda.pl/1390334300_1... http://obrazki.elektroda.pl/9343867500_1... Jeden genereje impuls co 10ms a drugi kończy zliczanie po 1s. Czyli przez 1 sekundę powinniśmy miec 100 impulsów. Podłączyłem Q0.0 do wejścia I0.0 odblokowałem...
teraz postanowiłem uruchomić timer 2 i w żadnych plikach nie widzę funkcji do tego timera. To poszukaj dobrze - musi być w pliku w którym jest tablica wektorów, być może jest to ten sam plik w którym jest startup.
Timer nr 1 zalaczanie o 14.00 a wylaczanie o 22.30 Timer nr 2 zalaczanie o 4.00 a wylaczanie o 9.00 Takie ustawienia świadczą o tym, że zrozumiałeś ideologię poprawnie. Timer 1 powinieneś ustawić od 4.00 do 22.30 i będzie on sterował wraz z astro tą lampą która ma się automatycznie świecić do 22.30 i od 4.00 rano jak jest jeszcze ciemno. Timer 2 powinieneś...
W tym trybie timer po prostu zlicza impulsy zegarowe do niego doprowadzone, jeśli przekroczy zakres to zgłasza przerwanie overflow (nadmiaru) i rozpoczyna zliczanie od nowa. Funkcja obsługi tego przerwania zlicza je zwiększając liczniki f - przechowujący czas z rozdzielczością <1ms i m przechowujący liczbę milisekund. W programie należy korzystać...
Witam, Zlecę wykonanie prostego timera który będzie załączał mi urządzenie co 3 godziny. Jeżeli w tych samych kosztach można zrobić wybór np 2h,3h,4h,5h to super jeżeli nie to co 3h. Urządzenie musi działać w zakresie napięć od 10-15V zasilane będzie dokładnie 13.8V. Urządzenie będzie podłączone zamiast przycisku który obecnie naciskam manualnie. Po...
Proszę o pomoc w programowaniu funkcji logicznych w Satel Integra 64. Cel - w momencie wywołania alarmu (naruszenie sytefy zewnętrznej) włącza się oświetlenie zewnętrzne domu na 15 minut, ale wyłącznie w godzinach nocnych. Oświetlenie zewnętrzne jest również uruchamiane oddzielnie ręcznie. Moje ustawienia - wejście fizyczne 15 zalaczajace Pierwotnie...
Wracajac do tematu czy moglbym prosic przynajmniej o pseudo kod obslugi przykladowo drgania w przyciskach , wysterowania przekaznika np przez 2s oraz komunikacji 1wire jednym timerem (atmega8 ma az 2 timery wiec pewnie szybko skoncza sie jego mozliwosci chcac napisac kod bez zatrzymywania) Cały dowcip polega na tym że z tego 8 bitowego timera możesz...
Pokaż log kompilacji po zrobieniu "clean".
Masz ATmega8, czyli masz ADC i masz timer połączony z pinami I/O, czyli za pomocą timera możesz generować przebiegi na wyjściu. Rzecz wręcz banalna. Za pomocą ADC wykonujesz pomiar napięcia. przeliczasz go na okres, albo odrazu częstotliwość, nie wiem jak to w bascomie wyglada. W każdym razie częsottliwość ustala się przez zapisanie w odpowiednim rejestrze...
Programuję w ASM ale tylko Atmega8/16 więc wklejam ci taki przykład: [syntax=asm] .CSEG .org 0x0000 //poczatek deklaracji skokow dla przerwan rjmp _poczatek reti reti reti reti reti reti reti reti rjmp _150_timer0 //przerwanie overflow timer0 reti reti reti reti reti reti reti reti reti _poczatek: in r16, TIMSK//timer0 overflow interrupt enable ori...
Witam. Potrzebuje schemat cyfrowego timera długich czasów umożliwiającego prace w trybie: ustawienie dowolnego czasu załączenia urządzenia w przedziale od 1 minuty do 2 godzin z krokiem co 1 minutę, czas wyłączenie urządzenia również ustalany niezależnie w przedziale do 1 minuty do 4 godzin z krokiem co 1 minutę. Czyli przykładowo urządzenie działa...
Chodzi mi o podłączenie 2 timerów do siebie, gdy ustawiam czas na pierwszym np na 7min to na drugim tez jest on wyświetlany o szczegóły proszę pisać na PW http://obrazki.elektroda.pl/4538997400_1...
Poszukuje timera trzy wejściowego z wyświetlaczem , który by włączałby przekaźnik na zadany czas np a 1 godzina , b 40 min , c 20 min . Każde wejście timera byłoby sterowane odzielnym impulsem a,b ,c .Dobrze jeśli posiadałby wyświetlacz pozostały czas do wyłączenia . tel. 506511046 .:?:
Jak w temacie Czy ktoś ma taki timer jak na tym poście - schemacik ?? http://www.elektroda.pl/rtvforum/topic52... dzikuje i pozdrawiam
No tak, tylko dlaczego ten sam kod działa dla AT89S8252 ? Ja miałem podobny przypadek tylko że na jednym typie mikrokonrolera. Po długich analizach okazało sie że był błąd w programie (trzeba było zamienić linijki komend między sobą). Już nie pamietam co było powodem. Jeżeli TimerT2 nie chce wygenerować tych 5MHz, to zmniejsz mu trochę "wymagania"...
Witam Poratujcie mnie schematem prostego timera Zbudowałem na 555 ale ma wadę w postaci takiej że jak trzymam (start) to timer jest załączony.Jak wyzwolę go krótkim startem to działa zadaną ilość czasu i wyłącza się.To właśnie wada choć timer działa dobrze. Widziałem takie aplikację na forum na4541 i myślę że to będzie lepsze rozwiązanie. Podam parametry...
Debouncing w przerwaniu - tylko nie mów, że robisz to przez aktywne oczekiwanie wewnątrz przerwania. Jeśli tak, to zauważ, że to, że skasowałeś flagę przerwania i jesteś w przerwaniu wcale nie oznacza, że flaga nie może zostać ustawiona ponownie. Możliwy jest taki scenariusz: wciskasz przycisk, pojawia się zbocze opadające które ustawia flagę a więc...
Timer 99 minut do 0 wyjście przekaźnikowe czas nastawialny. Start, stop po podaniu impulsu z innego urządzenia. Wskazania bieżące na wyświetlaczu MM.SS Budżet to ok 70-80 zł za układ (potrzeba 3-8 jeszcze nie wiem) Start bez zadziałania przekaźnika po odliczeniu następuje zmiana na przekaźniku. Moje dane adresowe dawid1119(małpa)op.pl
Rada praktyczna: ustaw preskaler tak, żeby podzielony zegar timera miał jakiś "okrągły" okres, np. 1, 10 lub 100 us, wtedy nie będziesz musiał pracowicie wyliczać wartości okresu timera, np. preskaler 7200 -> okres zegara 100 us; w celu uzyskania jednej sekundy ładujesz do ARR 10000-1. Twój problem, jak napisano wyżej, wynika z braku kasowania znacznika...
Witam mam do wykonania urządzenie które ma z dużą dokładnością odliczać czas 15-tu minut ,w tym czasie od początku odliczania ma być załączony przekaźnik numer 1 ,po upływie 15-tu minut ma nastąpić przełączenie się przekaźnika z pierwszego na drugi ,po upływie następnych piętnastu minut ma nastąpić kolejne przełączenie z przekaźnika drugiego na pierwszy...
Potrzebuję przerzutnik bistabilny do sterowania pewnym urządzeniem(końcówkę- przekaźnik sobie dorobię) tak by zachował z dokładnością do 1 minuty proporcje 8/20 minut; powiedzmy 8 załączone, 20 wyłączone. Pomóżcie znaleźć taki kit(zestaw do samodzielnego montażu - gotowy w sprzedaży) bądź schemat do wykonania. Oczywiście możliwie prosty, nie jakieś...
Nie prościej zrobić to na automacie schodowym? masz też z takimi funkcjami. ustawiasz np wyjście 17 jako naruszenie wejścia 13 na czas 10 min ustawiasz np wyjście 18 jako naruszenie wejścia 13 na czas 10min 10 sek i zaznaczasz pulsujące Ustawiasz wyjście np 19 sterujące oświetleniem jako sumę tych wejść Ustawiasz wejscie(nie wiem ile masz w centrali)...
Do drasmen: jeżeli chcesz aby układ zadziałał musisz przestawić fuse bity na wew. generator np. 8MHz a do pinów gdzie podłączasz kwarc musisz wpiąć kwarc zegarkowy 32.768kHz. Program dla autora tematu: 'Program wykorzystujący przerwanie od timera0(8 bitowego) generowane co 8ms 'jeżeli przerwanie zostanie wywołane 125 razy, otrzymamy 1 sekundę...
Twoje problemy rozwiązałby jakiś TMS320 z serii C2000. Ale to tylko moje dywagacje. Jeśli chodzi o STM32F4 to musisz przemyśleć czy rzeczywiście 4 MHz jest niezbędne dla ADC. Kiedyś bawiłem się timerami w Keil'u więc kod wstępny na pewno Ci się przyda (kanały timera3 działają na GPIO->C6-C9): odznacz NVIC_EnableIRQ !!! ): [syntax=c]void TIM3_IRQHandler(void)...
Myślę że przesunięcie rzędu czas trwania jednej konwersj nie było by problemem więc pytanie nadal aktualne A dlaczego nie wykorzystać możliwości. Jeżeli nie znasz HALa to najpierw zainstaluj sobie przykłady w Cube (ale nie mx) i przeanalizuj je. Wtedy domyślisz się jak zaincjalizować porty, ADC, DMA i timer aby trygierzował konwersje w odpiednim czasie....
Znalazlem jakis stary programik.... odczyt 2 kanalów ADC z częstościa 100 razy na sekunde... Analize pozostawiam Tobie...(podpowiem że Help wszystko wyjaśni) Pozdrawiam $regfile = "m8def.dat" $crystal = 11059200 $baud = 19200 Config Adc = Single , Prescaler = Auto , Reference = Off Config Timer1 = Timer , Prescale = 256 On Timer1 Pomiar Enable...
No i mamy odpowiedź. Myślę że jak to zrobisz, to wszystko powinno zadziałać, o ile dobrze oprogramowałeś µkontroler. Serwa jako punkt odniesienia dla własnego sterownia brały masę własnego zasilania. µkontroler podawał sygnały na wyjściach timerów w odniesieniu do własnej masy. Łącząc tylko wyjście timera µkontrolera z wejściem sterującym...
Swoją drogą ciekawe założenia i godne rozwiązania . Wg. mnie powinna zadziałać taka konfiguracja : założenia pompa cyrkulacyjna CW ma się załączać na 5 minut w przypadku naruszenia czujnika PIR w kuchni lub łazience pod warunkiem że temperatura wody jest mniejsza niż 30 st. wejście 1 – PIR Kuchnia wejście 2 – PIR łazienka wejście 3- czujnik...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
--> kolejne PWMy znajdują się z tego co pamiętam na PD7 i PB3. Proszę o odzew i dziękuję za ew. pomoc. Podobnie jak te na T1 tylko dotyczą odpowiednio T2 i T0 A to przykładowe inicjacje /******************************** Init timer T2 */ void InitT2 (void) { TCCR2 = (0<<FOC2) | //forsowanie (0<<WGM21)|(1<<W...
No to jest to czego szukałem. Tylko teraz pytanie: Dlaczego zawartość rejestru R0 to zawiera,a nie można odczytać z MCUCSR jak jest opisane w DSie?? edit Aaa już wiem gdzie robiłem błąd. Można odczytać WDRF moim sposobem tylko przed Config Watchdog, bo ta instrukcja czyści rejestr MCU(C)SR. Wszystko pięknie jest wyjaśnione w Helpie od wersji 2.0.1.0...
.Czy ktoś może wie w czym tkwi problem/spotkał się z taką sytuacją? A zmienna, której wartość kopiujesz do OCR3A/PWM3A nie jest przypadkiem zadeklarowana jako BYTE ? Jeżeli to nie to, to spróbuj zapisywać rejestry OCR3 osobno - OCR3AH, OCR3AL.
konfiguracja timer bascom stm32 konfiguracja timer biblioteka timer lampki
ariston regulacja temperatura naprawa rynny dzielnik sygnału obrotomierz
Peugeot 206 1.4 benzyna 2001 - brak iskry, nie odpala Regulacja szerokości bruzdy w bruzdownicach Milwaukee