a) Dlaczego nie na przerwaniach? b) Timer wcale nie musi liczyć od zera. c) Da się ustalić górną granicę (CTC). d) Przeczytaj sobie: http://www.avrfreaks.net/index.php?name=... http://maxembedded.com/2011/07/14/avr-ti...
Funkcja WAITMS nie jest odporna na przerwania. Jeśli masz jakieś to każde wystąpienie przerwania w trakcie WAITMS rozjedzie go. Niezależnie od stabilności tej funkcji, a nie ma powodu, żeby nie była powtarzalna jeśli nie jest przerywane wykonanie przerwaniami, to i tak lepsza praktyką będzie wykorzystanie timera.
Myślałem o wstawieniu przerwania od timera który będzie mi zwiększał pewien wskaźnik o +1 -zostanie wykorzystywany w wielu funkcjach I to jest właśnie dobre wykorzystanie timera i przerwania. W przerwaniu od timera można zwiększać albo zmieniać kilka flag- nie wskaźników- chociaż wskaźniki też. A w głównej pętli sprawdzać te flagi i w zależności od...
[url=http://www.elektroda.pl/rtvforum/to... [url=http://www.elektroda.pl/rtvforum/to... Musisz dokładnie wiedzieć jakie sygnały wystawia twoje urządzenie aby móc je prawidłowo obsłużyć.
Może tak: ... loop CALL LED_on CALL wait CALL LED_off CALL wait JRA loop ; petla nieskonczona wait LDA, #$FF wait2 PUSHA LD A, #$FF wait1 NOP NOP DEC A JRNE wait1 POPA DECA JRNE wait2 RET W razie potrzeby można dodać jeszcze jeden modół z PUSH A, POP A i DEC A. Dodano po 30 z trzecim modułem kod wygląda tak: wait LDA, #$02 wait3 PUsHA LDA, #$02 wait2...
Kiedyś napisałem prosty przykład użycia Timera w trybie CTC dla AVR w AVR Studio w języku C. W załączniku znajduje się ten gotowy kompletny program powodujący przerwanie od porównania (Compare) co około 250 ms i generujący przy okazji falę prostokątną na wyjściu OC0A. Otrzymujemy w ten sposób przebieg prostokątny na tej nóżce o okresie 2 Hz (2x250 ms...
A czym się różni Twoja propozycja: while(ASSR&0x07); od propozycji z kodu który podałeś: while(ASSR&0x07); ? Bo nie ogarniam? Jak już ktoś aktualizuje TCCR2B to najładniej by było sprawdzić to warunkiem: [syntax=c]while(ASSR & (1<<TCR2BUB));[/syntax] ale może być i tak jak powyżej. Zresztą pokaż cały kod konfiguracji T2, bo wydaje...
Załóżmy że mam dowolny przebieg prostokątny o nieznanej częstotliwości i wypełnieniu który trwa około 30ms a zmiany stanu nie występują częściej niż 0,5ms, jak przechwycić go i porównywać z innymi? Mniej więcej w taki sposób jak Twoim programem, tylko trzeba go napisać w sposób w którym próbkuje w dokładnych odcinkach czasu (wykorzystanie timera) a...
No to jeżeli nie wykorzystujesz ADC ani AC, to możesz ADC wykorzystać jako dodatkowy timer w trybie free running. Nie musisz go odczytywać, ale przerwanie będą generowane i do wykorzystania. Być może wtedy zwolnisz sobie jakiś timer?
Zamiast delay() możesz użyć millis(). Biblioteki dla wielowątkowości też znajdzesz. Dla krokowców możesz użyć biblioteki AccelStepper: http://www.airspayce.com/mikem/arduino/A... Dostępne biblioteki możesz przeglądać w menadżerze: https://www.arduino.cc/en/Guide/Librarie...
Nadajnik ultradźwiękowy potrzebuje kilki (1-8) impulsów prostokątnych dobranych do jego charakterystyki. Ponieważ jest ich tylko kilka, to wykorzystanie timera się komplikuje - ew. można wykorzystać dwa timery w trybie modulacji. Ale nie PWM.
Wykorzystanie timera do odliczanie czasu impulsów. Tablica z z wszystkimi krokami silnika, zmieniany indeks tablicy po przepełnieniu licznika.
a kiedy te wyjścia mają się wyłączyć ? Do załączenia możesz wykorzystać przerwanie zegarowe OB35. I w tym OB35 załączyć wyjścia. Drugim sposobem jest wykorzystanie timera opóźniającego.
Koncepcja jednoczesnej pracy kilku urządzeń jest tu: http://atnel.pl/wydawnictwo Ogólnie chodzi o wykorzystanie timera sprzętowego i ustawienie w przerwaniu od niego kilku timerów programowych.
Jeszcze lepsze byłoby wykorzystanie trybu CTC (Clear Timer on Compare match) - gdzie licznik jest kasowany po stwierdzeniu równości między rejestrem porównania a zawartością licznika... Warto zajrzeć do help'a BASCOMa, oraz noty katalogowej mega32 - tam większość spraw jest wyjaśniona. Również na Elce temat był parę razy poruszany...
Czy jest mozliwosc wykorzystania timera do przerwania oraz pwm? potrzebuje 4 kanaly PWM+ wykorzystac przepelnienie timera do przerwania. Pozdrawiam
Czas otwarcia wtryskiwaczy mierzysz za pomocą 1 timera, ale nie tak od razu. Są dwie metody: pierwsza to podpięcie (przez transoptor) wtryskiwacza do wejścia timera i wejścia przerwania - po wykryciu przerwania (początek stanu niskiego) startujesz timer, przestawiasz stan aktywacji wejścia INT na przeciwny i procek wraca do pętli głównej, po ponownym...
Mam sterownik FX3G Rzeczywiście timer ten można wykorzystać za pomocą przerwania, szkoda tylko że jest mało przykładów wykorzystania: Może by ktoś przedstawił przykłady wykorzystania tego timera.
można to uzyskać w linuksie bezproblemowo np. usleep(10) ale na windowsie narazie mi się nie udało nic takiego znaleźć. Do plotera użył bym µC tam możesz wykorzystać timery co bardzo ułatwia sprawę.
Witam! Mam pytania: jak w praktyce zastosowac timery? Jak one działają? W którą stronę zliczają? Jak zczytac ich stan? Do ilu mogą zliczać? chciałbym, aby ktoś wytłumaczył mi to na przykładzie Atmegi8 i języka Bascom. Wiem już że: -Timery zliczają impulsy które same generują wg. prescalera -Prescaler to taki dzielnik, który bierze jakąś część taktowania...
No tak, źle spojrzałem... :( czyli powinno być dobrze. Sprawdzałem dodatkowo w wizardzie CVAVR i tak samo ustawia te rejestry (nie mówię, że CVAVR to jakiś wyznacznik bo też nie raz już mnie zawiódł ten rumuński kompilator)... Może rzeczywiście symulator sobie z tym nie radzi. Spróbuj przesymulować pojedynczo te timery (nie wszystkie jednocześnie).
Nie wiem jak z wysyłaniem SMS'ów pod numer obsługi 8xxx, ale jeżeli kolega ma to przetestowane, że to działa, to można to zautomatyzować i wykorzystać timer. Dla każdego timera jest kilka wyjątków, czyli można np. raz na kilka miesięcy załączyć wyjście i z tego tytułu wysłać SMS'a. Dodano po 43 Czyli musiałbym ze swojego nr przekazać zlecenie wysłania...
Wykorzystanie timerów programowych masz u mnie na blogu - sterownik pieca http://blogi.linuxpl.info/blog/duino/pro...
Można zrobić to poprzez użycie zmiennej, której wartość zmienia się przy każdym uruchomieniu a następnie jest zapisywana w eepromie. Dzięki temu każde uruchomienie dawałoby inną sekwencję liczb generowanych funkcją random. Inną metodą jest wykorzystanie timera. Przykładowo, jako __rseed wpisujemy wartość, którą timer ma w momencie naciśnięcia przycisku....
Sterowanie serwami rozwiązałem (jeśli ktoś ma lepszy pomysł to chętnie wysłucham), problem tkwi w komunikacji z komputerem... Moja propozycja to wykorzystanie timera z przerwaniem. W przerwaniu timera byłyby zmieniane stany wyprowadzeń sterujących serwami. Ponieważ standardowo przerwanie od portu szeregowego ma mniejszy priorytet to nie mogłoby ono...
I właśnie w tym projekcie taka realizacja dekodowania ppm to strzał w kolano, a nawet oba. pulseIn wstrzymuje procek na cały czas trwania dekodowania, wykorzystanie timera umożliwia realizację dekodowania sprzętowo. Dopóki program sobie mierzy tylko szerokość impulsu i przepisuje do PWM wynik, to problem niewielki. Ale: niemożliwe jest połączenie tego...
Generalnie to powinno działać. Spróbuj z wykorzystanie rejestrów z buforem. Czyli zainicjuj timer a potem już to: [syntax=c] void Timer_Fast(){ TCA0.SINGLE.PERBUF = 62; TCA0.SINGLE.CMP2BUF = 31; } void Timer_Slow(){ TCA0.SINGLE.PERBUF = 249; TCA0.SINGLE.CMP2BUF = 125; } [/syntax]
Zrezygnowałem z "obsługi klawiatury" w przerwaniu i robię to w głównej pętli programu ale do eliminacji drgań styku korzystam jeszcze z HAL_Delay(20), to chyba tutaj jest miejsce na wykorzystanie timera?? Bo nie wiem jak inaczej można byłoby zastosować timer do obsługi odczytu klawiatury? Co do karty SD, skorzystałem z interfejsu SDIO i middleware FatFs,...
Tak też myśle, lecz lepiej niech wypowie się kolega skynet. Niestabilnośc aplikacji a niestabilnośc biblioteki to dwie ogromne różnice. Bez real time raczej ciężko. OS obsługuje wiele wątków, do tego przerwania, programy, które w tle wykonują różne operacje... To wszystko wpływa na stabilność. Dodatkowo wykorzystanie timera jest jak najbardziej bezsensownym....
O drganiach styków wiesz? Akurat tutaj nie mają znaczenia - ostatni niski stan na PA0 lub PA1 ustawia zmienną f odpowiednio na 10 lub 30. W kodzie który wkleił nie było funkcji obsługi INT0 i INT1, a pytał tak: Umieścić obsługe przycisków w przerwianiu INT0/INT1? dlatego sugerowałem mu wykorzystanie timera: O drganiach styków wiesz?: http://mikrokontrolery.blogspot.com/2011...
Jeśli timer nie ma sprzętowego buforowania to zdecydowanie lepszym pomysłem jest wykorzystanie do tego celu przerwania - tylko trzeba policzyć przy jakiej wartości CNT zostanie realnie wykonane przerwanie. Jeśli masz duży prescaler timera to nie ma problemu, jeśli timer taktowany jest taką częstotliwością jak CPU to pojawi się problem dla OCR bliskiego...
Witam. Mam w posiadaniu zestawik cf8051f020 i chciałbym rozpocząć z nim zabawe. Są to jednak moje początki jeśli chodzi o programowanie dlatego zwracam sie do Was z problemem. Do tego zestawu mam podłączone 8 diod i chcialbym aby mrugały co jakis czas, np 1-2s z wykorzystaniem Timer 0. Pracuje sobie w kompilatorze Keil w jezyku C. Opanowałem juz włączanie...
Mogę prosić o przykład takiego wykorzystania timera aby sterował miganiem diody? Z tego co zrozumiałem jest to możliwe, ale mimo tego, że dość dużo czytam/tałem o timerach nie wiem jak to wykorzystać, a przykład pomoże mi to zrozumieć.
I najważniejsze: Przy wykorzystaniu timera, zapomnij o funkcjach delay-opodobnych.
Witam, można napisać własną funkcję, która będzie w pętli wywoływać _delay_ms(1). Liczba iteracji da wtedy opóźnienie w ms. Można także wykorzystać timer do generowania opóźnień jeśli jest jakiś wolny. Pozdrawiam, TQelektronik Dodane: Tutaj [url=]http://mikrokontrolery.blogspot.co... jest dokładnie opisany...
Gdy już usuniesz wewnętrzną pętlę do..loop to zwróć uwagę, że stan przycisku będzie sprawdzany raz na 60s. Możesz zrobić sprawdzanie np. tak (co 1 sek.): dim x as byte ... do 'sprawdź przyciski if x=60 then x=0 toggle ... end if wait1 incr x loop end Albo wykorzystać timer lub przerwanie.
Timer jest funkcją, nie kontrolką. Kawałek pomocy Excela z przykładem wykorzystania: http://obrazki.elektroda.pl/6532295100_1...
Wykorzystaj timery do pomiaru czasu, ale na początku zmierz powiedzmy 6000 próbek (co powinno wynieść łącznie 1 minutę). Częstotliwość sieci zasilającej jest stała (moim zdaniem), ale czy nadaje się na wzorzec? Niech wypowiedzą się mądrzejsi. Poniżej parę linków: http://forum.elportal.pl/viewtopic.php?t... http://www.elektroda.pl/rtvforum/topic14...
Nie widzę sensu w dzieleniu sygnału zegarowego w generatorze skoro jest łatwo edytowalny preskaler no ale ok :-) Może i nie potrzebuję tego drugiego timera po prostu chcę wiedzieć jakie są opcje na wypadek gdybym potrzebował. Wykorzystanie timera i przerwania Watchdoga, to jeden z tricków o którym pisałem. W końcu to zwykły bardzo prosty timer mający...
Dokładnie tak, chodzi o możliwość uruchomienia sygnału PWM z określonym wypełnieniem, odczekanie pewnego okresu czasu po którym następuje wyłączenie PWM, następnie znów odczekujemy pewien okres czasu i załączamy sygnał PWM na wyjścia. Liczyłem, że istnieje opcja na wykorzystanie timera do jednoczesnej generacji sygnału i możliwości odczytywania jego...
Będzie to chyba lewitron albo coś w tym rodzaju. Do tego co napisał sulfur dodam że przy całkowaniu oś X- w tym wypadku oś czasu- powinna być liniowa(żeby sobie nie komplikować życia). To oznacza że odczyt ADC powinien być wykonywany co taki sam czas- to implikuje wykorzystanie timera- i to w przerwaniu od timera powinien nastąpić odczyt ADC. Wyniki...
a _delay_ms i _delay_us Ci nie wystarcza ? Do opóźnień nie trzeba wykorzystywać koniecznie przerwań timera. Można wykorzystać flagi timera (o ile się da, ale wszystko zależy). Poza tym, zmienna deb w Twoim programie zapewne nie jest volatile, ale wrzuciłeś nam NIC, także pomoc też nijaka
Największy błąd jaki robisz, to wykorzystanie timera. Do odtwarzania 8 bitowych próbek przez PWM potrzebujesz 8 bitowego zakresu, więc nie możesz go obcinać ustawiając wartość TOP. Poza tym, bez sensu korzystasz do tego z 16 bitowego timera. Jeżeli będziesz korzystał z pełnego zakresu 8 bitowego timera, to z kolei nie możesz wybrać dowolnej częstotliwości...
http://www.digisoft.com.pk/Projects/rpm-... może warto spróbować sterować diody bezpośrednio z 4094 dla super jasnych wystarczy prąd 1mA czyli przy zasilaniu 5V i oporniku 1500Ω świecą całkiem nieźle. w nocie Fairchild'a jest podane 0.88mA, TI mówi 1, tak czy inaczej to na granicy wytrzymałości. Mogę pozbyć się ULN'ów zamieniając...
W książce "Mikrokontrolery AVR w praktyce" jest przykład wykorzystania timera jako modulatora PWM. Listingi do ćwiczeń z tej książki znajdziesz na stronce wydawcy www.btc.pl Pozdrawiam
Jakoś nie bardzo rozumiem jak Ty chcesz wykorzystać timer w trybie Input Capture Event. Ale to może dlatego, że nie używałem jeszcze nigdy tego timera TCB. Bo ja to sobie wyobrażałem tak, że chcesz wykorzystać ZCD do wyzwolenie timera który zacznie liczyć przez 10ms i zmieniać PWM w zależności od tego ile mocy ma być przekazywane. Czyli regulacja fazowa....
Od INT0-narastające zbocze a od INT1 opadające. Potem TIMER. Chociaż to rozrzutne wykorzystanie zasobów sprzętowych. Pewnie da się taniej. Dodano po 29 Albo w pętli głównej (pooling): jeśli PD.2=1 to start timer odlicz 1ms(albo 2) (może programowo się podeprzeć-nie wiem jaki kwarc i podzielnik) ustaw PA.2 koniec jeśli. A jak nie: ustaw PA.2=0
kolego, powyzsze watki mowia zeby wykorzystac czestotliwice procesora + licznik cykli, wszystko jest w winapi, wiec kontrolowane systemem win a jaki jezyk do tego uzyjesz jest bez znaczenia. jezeli upierasz sie na dos, to wiem ze kiedys mozna bylo wykorzystac timer 8253/8254 piszac procedure w asm, np: procedure Wait; assembler; {----------------------------------...
Nie wiem czy nie dałoby się wykorzystać Timera 555 jeżeli chodzi o proste układy. Mówię o sterowaniu PWM, wypełnienie byłoby zadane przez np. cztery pozycje łącznika obrotowego/krzywka tj. każde wyjście miałoby różnie skonfigurowane rezystory i kondensatory i ustawiałoby to poszczególne wypełnienie na wyjściu timera. Polecam do tego celu program timer555...
wykorzystaj wolny timer w uC , wprowadź zmienną licznikową i np. co określoną ilość przepełnień timer ,skok do prodprogramu ;)
Sprzętowo w zwykłej ATMega nie można, w XMEGA tak. Kondensator + rezystor sprawę może załatwić, ale równie dobrze da się to załatwić programowo. Napisz skąd pomysł wykorzystania timera do zliczania naciśnięć?
No tak, wszystko byłoby super gdyby nie to, że kontrolka Timer nie wstrzymuje akcji całego programu. A chyba o to chodziło, a jak nie to ja czegoś takiego poszukuję. Narazie moim rozwiązaniem jest wykorzystanie parametru Timer, który zwraca sekundy i ich setne części i tworzę pętle aż nie uzyska czasu początkowego + x sekund (a to daje sporą dokładność).
Oczywiście że można wykonać taki układ i napisać do niego program. Ale program nie może być uruchomiony z windy (może z DOSa). Jest to związane z potrzebą wykorzystania timera (dla precyzji działania), który jest niedostępny z windowsa.
Witam, na początku wszystkich pozdrawiam i z góry dzięki za pomoc. Mam problem potrzebuję wykonać projekt układu, mam do dyspozycji 8 diod, każda z diod ma się poklei zapalić i zgasnąć i tak następna. Zapalanie ma być przeprowadzone z wykorzystaniem demultipleksera. . Myślałem o wykorzystaniu timera 555 oraz jakiegoś demultipleksera. Czy może mi ktoś...
#include <avr/io.h> //wykorzystanie timera #define tau0 6; int main (void) { unsigned char licznik=2; DDRB = 0x01; TCNT0=tau0; TCCR0=2; while(1) { while(( inp(TIFR) &0x02)!=0x02); TCNT0=tau0; if(--licznik==0) { PORTB= ~PORTB; licznik=2; } TIFR=1<<TOV0; } } Zarówno w tym przykładzie, jak i w innym, w którym chciałem zastosować te funkcję,...
W ciągu nie spełna miesiąca poznałem jak mrugać diodą, robić dokładne opóźnienia w wykorzystaniu timera, uart, przekierowanie printf na uart i ostatnio udało się z dalmierzem odległości HC-SR04. Zamówiłem w TME EA-XPR-019 to nie będzię trzeba programować przez uart. Jak ktoś w miare ogarnął avr to lpc1114 nie jest trudny. Zamykam temat
Stwierdzenie dotyczące RTC wynika z tego, że timer2 może pracować asynchronicznie z zewnętrznym kwarcem zegarowym. Można mu podać 32768Hz, t2 będzie takim zegarem (lub wynikającym z działania prescalera) taktowany - to jak wykorzystasz timer zależy od ciebie: możesz np ustawić go w trybie CTC przy prescalerze /128, wtedy będzie się przepełniał równo...
Wykorzystaj przerwanie timera - w nim naprzemiennie wyświetlaj to co potrzebujesz. Wada - do LCD nie możesz się odwoływać z poziomu programu głównego. Chyba, że sprytnie napiszesz funkcje dostępu do LCD.
zdania doprowadzają do jedynej IMO słusznej konkluzji w tym wypadku: Arduino. Arduino to ślepa uliczka. W mojej ocenie, Arduino traktuje uC jak Z-8 (CPU + GPIO) czy 8051 gdzie ze sprzętu to głównie proste timery i UART. ZERO wykorzystania sprzętu! Bo co wspierają biblioteki Arduino? UART z malutkim buforem w RAM, I2C to samo. SPI bez bufora, bez przerwań....
Witam Mój zegarek jest dość prosto zbudowany, oparty na funkcji while. Oprzej swój zegarek na koncepcji wykorzystania timera; powiedzmy timera2 z dodatkowym kwarcem 32kHz i wykorzystaj przerwania. Wtedy processor zamiast liczyć czas, zajmie się dodatkowymi funkcjami jakie przewidujesz w programie. e marcus
Przepraszam za pytanie ale co masz na myśli mówiąc "To wyjście będzie iloczynem dwóch wyjść. "? Mam na myśli wykorzystanie funkcji loginej - iloczyn (typ:46) jako składniki tego iloczynu wskazujesz wyjście timer i wyjście naruszenie linii.
(at)albertb - oczywiście nie chodzi o to, żeby wykorzystywać coś niepotrzebnie. Ale zgłaszanie kilku tys. przerwań/s jeśli tylko co 4-te jest istotne jest IMHO bez sensu. Już lepiej wykorzystać drugi timer, który generuje przerwanie zgodnie z samplerate odtwarzanego pliku i ładuje nowe dane do PWM. Oczywiście można to zrobićna jednym timerze. Z tym,...
Myślę, że po zegarynce można powiedzieć "Dziękujemy za skorzystanie z usługi zegarynki. Do widzenia." :D W moim przekonaniu wystarczy wgrywanie przez komputer i wykorzystanie wewnętrznego timera. Uprości to układ, zaś podtrzymanie zasilania można zrobić na akumulatorze czy superkondensatorze. Same komunikaty nagram, raczej 85 plików. Czytnik kart jak...
Najprościej: Struktura-> system-> strefa->i tu ustaw dostęp wg. timera. Bardziej profesjonalnie: wykorzystanie wyjść 99 lub 100 oraz innych i timerów powiązanych w zależności funkcjami logicznymi.
Częstotliwość z jaką taktuję mikrokontroler to 1MHz, język oczywiście to C jak zaznaczyłem w temacie. A przykłady faktycznie są, i wcześniej je znalazłem ale jak dla mnie strasznie skomplikowane. Jak wiedzę sporo nauki jeszcze przede mną :) Nadal bym jednak prosił o super prosty przykład wykorzystania timera. Pozdrawiam
Wykorzystanie allegro API to dobry pomysł. Co do technologii to wybierz coś co znasz. Ja bym to pewnie robił w WinForms w C#, bo w tym byłoby mi najszybciej. Timer odpytujący API co x sekund i wrzucający pobrane informacje na formatkę - dość łatwy temat.
Jakkolwiek mam sentyment do poczciwych piątek to nigdy nie odważyłbym się na wykorzystanie tego układu do pracy w tak agresywnych pod względem zakłóceń warunkach. Wystarczy spojrzeć na zdjęcie... Źródło silnych zakłóceń - przewody od styczników do zabezpieczeń tuż przy czułych układach odmierzających czas. Nieźle. Niczym studio nagrań umieszczone (przez...
Zmodyfikuj program tak, by odebrany nowy kąt serwa nie podawał na PWM od razu tylko stopniowo od aktualnej wartości począwszy. Możesz do tego wykorzystać jakiś timer, który będzie co inicjował przerwania co np. 200ms i podawał serwom nowe położenia (jeśli mają być podane).
OK :) Jak rozumie to dalsza część tego projektu więc można pójść w kierunku wykorzystania timera z ADC i nie trzeba wtedy angażować nic więcej. Po prostu sprawdzać czas stanu wysokiego na jakimś pinie do którego ten sygnał podłączysz. Dla bezpieczeństwa, być może rezystor lub dzielnik, by 6V nie trafiło na procesor. Jakie napięcie zasilania uC, bo nie...
Witam wszystkich grupowiczow i przepraszam za lamerski problem. Potrzebuje wykonac generator prostokata (wypelnienie 50%, czestotliwosc 1Hz - 200kHz) w ktorym czestotliwosc ustawiana jest na np. osmiu bitach. Myslalem o wykorzystaniu timera '51 ale nie wiem czy to ma sens, moze jest jakis inny spasob??? Z gory dziekuje za pomoc...
Cześć, zamierzam zbudować prosty system otwierania i zamykania drzwi dla zwierzyny. Mimo ze jest wiele projektow gotowych to myślałem nad czymś nieskomplikowanym, w oparciu o siłownik elektryczny z krańcówkami, ktory bylby załaczany timerem czasowym. Chce by uklad byl maksymalnie prosty, wiec swoj pomysł opieram na checi wykorzystania timera 230 v,...
(at)ElektrodaBot Jak w czystym C (AVR GCC) wyglądałaby funkcja millis() ?, a może pokaż też 2 podejścia (listing), gdzie milisekundy to zmienna globalna np. millis. Wykorzystaj timer do przerwania dostępnego na każdym AVR.
Wydaje mi się źe coś jest nie tak ze sprawdzaniem stanu przycisku- nie bardzo mogę to zrozumieć. Klasycznie to robi się tak: if(przycisk==0) delay() if(przycisk==0)//dalej 0 przycisk=1 //naprawdę wciśnięty Można też inkremantować jakąś zmienną aby sprawdzić to 3 czy więcej razy. A lepszym sposobem jest do liczenia opóźnień wykorzystać Timer. I tak masz...
Płytka to tylko ułatwienie. Sam zadecyduj, czy jest potrzebna ;) Z doświadczenia powiem Ci, że jest dużo łatwiej się połapać, części się nie rozczepią, jeśli niechcący zaczepisz tzw. "pająkiem" czyli elementami połączonymi przewodami o cokolwiek, no ale płytka to dodatkowe koszty i więcej wysiłku. Chcesz wykorzystać również timer? Czy wystarczy piszczenie?
A co dokładnie nie działa? Pewnie cały czas świeci :) Przeanalizuj swoją pętlę while i zobacz co się dzieje po ustawieniu timera :) Podpowiedź: wykorzystaj dodatkową flagę i użyj tylko RAZ timera programowego.
Taimer w integrze jest troszkę ubogi więc jakby ktoś chciał podzielić się wiedza jak to zrobić byłbym wdzięczny Nie robiłem tego, ale tak się zastanawiam czy nie dało by się tego zrobić na "wyjątkach" Do każdego Timera możesz zrobić 4 wyjątki, trzeba by wykorzystać 3 Timery x 4 wyjątki i mamy 12 miesięcy. Ustalasz sobie że zawór ma się otworzyć np....
Procesor STM32F103ZET6 jest mikrokontrolerem ARM z rodziny Cortex M3, który jest taktowany zegarem o maksymalnej częstotliwości 72 MHz i zasilany napięciem +3,3 V z wyjścia stabilizatora napięcia LT1117-3.3 (oznaczony desygnatorem U10). Po co to piszesz? Napisz może co to cudo ma z założenia robić. Zastosowanie opóźnień jako pętli for (int i=0;i<ADC_value;i++);...
Witam, Ja często stosuje watchdoga do takiego wybudzenia przy układach zasilanych z baterii, do np kontroli jakiegoś napięcie czy czegoś innego. Ma to taką zalete, że wewnętrzny generator procesora jest wyłączony a działa tylko generator watchdoga, który pobiera bardzo mało prądu, ok 5µA przy 3V, a wykorzystanie "normalnego" timera zwiększyło by...
Jeśli wyeliminujesz drgania przycisku, to najprościej to zrealizować podając wyjście przycisku na wejście zegarowe jednego timera (bedzie on zliczał ilość wciśnięć), a drugi timer wykorzystać do odmierzania czasów 1s - dokładnie co 1 s należy kasować licznik pierwszego timera. Ot i wszystko.
I na to trzeba 2 timery - pierwszy odmierzy czas trwania alarmu, drugi wyłączy i włączy zasilanie - wpinasz się równolegle do włącznika ustawionego na off. Przekaźnik czy tranzystor poda zasilanie w stanie spoczynku. Alarm się włącza drugi timer blokuje tranzystor - wysiada zasilanie alarmu i za chwilę się włącza. Twoja płytka jest do wykorzystania...
Witam, Pisałem coś podobnego, najlepiej wykorzystać do tego celu jeden Timer oraz licznik. Timer będzie inkrementował wartość licznika. Aktualna wartość z licznika będzie porównywana z zadaną i na podstawie tego będą włączane/wyłączane wejść. Albo prościej. Jeśli na wejściu I0.0 będzie wartość jeden to ustaw zmienną pomocnicza i uruchom timer1. Jak...
Ja to lubię tak: Zmienić ATmega8 na 88- ta sama cena. Potem w rejestrze ADCSRB ustwić ADTS0...2 tak jak potrzeba- np. przerwanie od Timer0 Compare Match A. Timer0 ustawić tak aby i tak go wykorzystać jako timer systemowy- oba przerwania wykorzystać albo tylko żadanie obsługi przerwania. A reszta w głównej pętli. Ale to jest co ja lubię- wykorzystać...
Po pierwsze nie rozumiem dlaczego odczyt 4 czujników miałby trwać 4*750ms? Przecież po start conversion czekasz te 750ms (albo krócej, przecież masz pooling czujnika) i kolejno odczytujesz 4, ale już bez opóźnień. Więc całość będzie trwała 750ms + parę ms na odczyty. Kolejna sprawa - wykorzystaj timer. Tu napiszę coś co jest radą ryzykowną i być może...
Takich rezonatorów nie wykorzystasz do migania dioda.. Częstotliwość jest zbyt wysoka. Polecam wpierw zapoznać się z działaniem rezonatorów i do czego one służą. A służą głównie jako bardzo dokładny wzorzec częstotliwości do mikrokontrolerów, polecany do wykorzystania w różnych timerach itp. Pozdrawiam ;)
Zauwaz, ze w trybie JTAG komputer nie ma jak dostac informacji o ilosci wykonanych instrukcji, procesor wykonuje je niezaleznie od komputera, inaczej niz w trybie emulacji, kiedy to komputer emuluje AVRa, wiec wie ile wykonal instrukcji. Program Counter to rejestr PC wskazujacy na kolejna instrukcje do wykonania, wiec ci nie pomoze. Pomysl z timerami...
Bo nie tak się używa przerwań zewnętrznych. Można po pojawieniu się przerwania od zbocza narastającego wystartować timer, w przerwaniu zmienić na zbocze opadające i gdy pojawi się zbocze opadające zatrzymać timer, odczytać jego stan do zmiennej volatile wykasować i ponownie ustawić na zbocze narastające. Mozna też wykorzystać oba dostępne przerwania....
MC to tylko dekoder. Trzeba mu podać zakodowane sygnały. Teraz musiałbyś się zapoznać z zasadami działania liczników i skracania ich cyklu (modulo). W układach cyfrowych Włodzimierza Sasala jest to dobrze opisane, ale to już historyczna pozycja dostępna w niektórych bibliotekach. W internetach też to jest opisane ale z różną skutecznością dla czytającego....
tematów o tym było multum. Best pratice to wykorzystanie przerwania od timera i cyklicznie wykonywanie kroków w tym przerwaniu: - zgaszenie aktualnej "wspólnej" anody/katody - ustawienie wartości znaku na pinach dla poszczególnych segmentów - zapalenie następnej "wspólnej" anody/katody Nie ma co za dużo dywagować, tylko brać się do roboty. Nie ma tu...
Witam Serdecznie. Mam duży problem. Jestem początkującym programistą C (wcześniej programowałem w ASM). Mianowicie programuję mikrokontroler c8051f352 firmy silicon laboratories. Niewiem jak obliczyć opoznienie bez wykorzystania timera. Robię programową magistralę 1 wire i muszę mieć precyzyjnie obliczone czasy. Może ktoś pomoże mi? Nota katalogowa...
Częstotliwość od 15Hz do 80 Hz, przy 15Hz wypełnienie 3-4ms a okres 62ms. Przy 65Hz wypełnienie to 6ms, a okres ok 15ms. Dla podanych przez ciebie warunków, może to być dowolny MCU. Czy wykorzystasz gardware - timery, czy zrobisz to całkowicie programowo, to każdy współczesny MCU da radę. Jeśli pobierzesz sobie darmowe przykłady do książki "Język C"...
Chłopaki przestańcie mi się tu kłócić. Bardzo Wam dziekuję za odpowiedzi co do mojego problemu, te moje potknięcia i banalne z Waszego punktu widzenia błędy wynikają z mojego braku doświadczenia i niewiedzy, w prawdzie zajmuję się tym pierwszy raz w życiu więc potrzebuje małej pomocy dlatego się do Was doświadczonych zwracam :) Trochę mi zajmie pewnie...
Chodzi o dowolne przerwanie. Ale najlepiej oczywiście wykorzystać przerwanie od jakiegoś Timera.
W ten sposób mikrokontroler praktycznie 99% czasu spędzi w pętli głównej, w której nie będzie żadnej funkcji opóźnienia. Może więc w każdej chwili zareagować na Twój przycisk. Przykłady wykorzystania timera: http://mikrokontrolery.blogspot.com/2011... Potrzebować będziesz tablicę z animacją. Zobacz jak ten program to obsługuje:...
Jawnie nie ma waitms, ale sporo "funkcji" bascoma potrzebujących na coś poczekać mielą w miejscu. Co do wykorzystania timera jako wskaźnika czasu, to jestem jak najbardziej za , bo sam tak robię w asemblerze - czas minął - rób co trzeba, nie minął - to obleć pozostałe procedury, może której z nich akurat czas minął - czyli w procedurze przerwania mam...
Można wykorzystać timer watchdoga do generowania przerwań co sekundę, budzenia procesora i inkrementowania liczników. Wtedy średni pobór prądu przez mikrokontroler wyniesie kilka mikroamperów.
Witam. Sygnał należało by wzmocnić i wykorzystać do sterowania resztą układu. Można to zrobić z pomocą tranzystorów lub wzmacniacza operacyjnego. Proponuję wykorzystanie popularnego układu timera NE555 do generowania impulsów co 30s i licznika 4017 do ich liczenia i inwertery 4069 lub tranzystory do sterowania diodami. Czy sygnał podczas odliczania...
Witam. Sekwencja to kilkanaście sekund, odtwarzana w kilkuminutowej pętli. Proponowane wykorzystanie timera daje jedynie odmierzanie owych 1ms impulsów dla liczników i zapewni jedynie większą dokładność pomiaru niż waitms. Z tym nie ma problemu. Komenda ta zapewnia mi to czego potrzebuję i z tym nie mam problemu. Wykorzystanie tablicy to pomysł wart...
Co prawda nie w bascomie, ale ja to robię przy wykorzystaniu timera. Na początku impulsu zeruję go, a później tylko czekam aż liczba odczytana z niego będzie równa lub większa niż wyliczona wartość. I to właściwie tyle jeżeli chodzi o zasadę. Moża też to zrobić przy wykorzystaniu rejestrów komparatora danego licznika (OCxX) lub przerwań, ale to już...
SET i RESET działają na Blok SFxxx i dopiero odwołanie od tego bloku można wykorzystać jako sygnał 0/1. Proponuję takie rozwiązanie, składające się z dwóch części: http://obrazki.elektroda.pl/4989014000_1... Gdzie elementem załączającym dla wyjść jest M3 (wykorzystany w drugiej części: http://obrazki.elektroda.pl/4527498500_1...
Pozwoliłem sobie narysować taki graf, będący automatem Moore'a. http://obrazki.elektroda.pl/8563104900_1... Cały Twój problem polega na tym, że musisz mierzyć czas od ruszenia taśmy do wciśnięcia STOP a potem po zwolnieniu znów włączyć taśmę na czas mniejszy od zmierzonego. Do programu możesz wykorzystać jeden timer TON.
uruchomienie timera reset timera przepełnienia timera
chrysler diagnostyka przebarwi kolor zablokować windows update
domofon hikvision liebherr zamrażarka
Czy rury PE nadają się do ogrzewania CWU z podkowy? Dobór przekroju kabla do turbiny wiatrowej 48V 10kW