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 |...
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ć.
Czemu sterujesz OUT-em i CTL-em? Nie lepiej sterować bezpośrednio strefą wykorzystując funkcję wyjścia 8?
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...
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_...
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...
........, 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...
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...
Przecież obsługa timera w AVR i '51 jest inna , zobacz jak wygląda konfiguracja dla obu wersji .
Teardown and OpenBeken drop in for 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_...
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...
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ść...
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ł...
Skoro plik main.cpp jest plikiem C++, a wektory są funkcjami z C, to handler obsługi przerwania musi mieć ozdobnik `extern "C"`. Wstawiaj kod i logi w odpowiednich znacznikach (code/syntax), bo nie da się tego czytać.
.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ć)....
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...
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...
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ś...
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.
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...
Wszystkie Timery układu Mega32 mogą generować sygnały PWM: Timer0 - jeden kanał: OC0 - PB.3 Timer1 - dwa kanały: OC1A, OC1B - PD.5, PD.4 Timer2 - jeden kanał OC2 - PD.7 Na wejściach T0 i T1 liczniki nie generują sygnałów PWM. Co do samej konfiguracji to problem jest prawie żaden. W przypadku Timer1 sprawa jest prosta, gdyż CONFIG TIMER1 posiada wszelkie...
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...
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...
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 .:?:
Witam. Chciałbym prosić o pomoc. Czy ten kod jest poprawny. Program działa bez zarzutów. Natomiast, gdy włączę przerwanie"sei". Układ się zawiesza. [syntax=c]void init_Ex1() { // Timer clock = I/O clock / 1024 TCCR0 |= (1<<CS02)|(1<<CS00); // Clear overflow flag TIFR |= (1<<TOV0); // Enable Overflow Interrupt TIMSK |= (1<<TOIE0);...
Jak w temacie Czy ktoś ma taki timer jak na tym poście - schemacik ?? http://www.elektroda.pl/rtvforum/topic52... dzikuje i pozdrawiam
Klasa TwoWire (której obiektem jest Wire) też używa przerwań. Po wejściu do ISR przerwania są blokowane. Jeżeli chcesz, aby dane ISR nie blokowało innych przerwań można użyć ISR_NOBLOCK:[syntax=c]ISR(TIMER2_OVF_vec... ISR_NOBLOCK) { ... }[/syntax]Byłbym jednak z tym bardzo ostrożny, ponieważ może przydarzyć się przepełnienie stosu. https://www.nongnu.org/avr-libc/user-man...
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ę...
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....
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)...
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)=...
konfiguracja timer bascom stm32 konfiguracja timer biblioteka timer lampki
powolny start iveco daily ciśnienie oleju schemat elektryczny prostownik
depollution system faulty peugeot depollution system faulty peugeot
Dopuszczalna ilość sadzy w DPF – progi regeneracji i limity dla Audi, VW, 2.0 TDI, Q7 TD.RT2851MT.773 eMMC Dump for TCL/Thomson TV: Backup, Recovery, and Cross-Flash Risks