Ustawiasz timer0 a oczekujesz przerwania z timera 1 Interesujace.
Jakoś nie mogę sobie tego wyobrazić. Żeby ISR od Timera zakłócał ISR od UARTA musiałby trwać dłużej niż interwał. Podejrzewam, że raczej program główny nie wyrabia się ze skonsumowaniem zawartości bufora UARTa. Tak czy inaczej pokaż program, a co najmniej procedurę obsługi przerwania timera.
Uruchomić timer w trybie CTC. Tryb CTC [syntax=vbnet]CONFIG TIMER1 = ..... CLEAR TIMER = 1[/syntax]
Tak wiem że należy odpalić timer na początku i zatrzymać na końcu i odczytać jego wartość.. no nic. Dziękuję za wypowiedzi tak czy inaczej.. Odp. kol. Draco była troche sarkastyczna, bo na tak prostą procedurę nikt, kto ma choć troche rozeznania w tej dziedzinie chyba (!) nie szuka pomocy. Mopzesz to zrobić na kilka sposobów: 1. mierzyc czas metodą...
Do takich timerów jest przeznaczony CD4541 i zrobi to dużo lepiej od NE555. Ale może ATmega ma jakiś wewnętrzny timer, który by dał się użyć?
To rozwiązanie chcę użyć do zliczania sygnałów z czujnika. Na chwilę obecną zliczam impulsy na zmiennej i jest taki efekt, że w trakcie zliczania program wykonuje zliczanie i nie mam możliwości przełączać innych wyjść. (zliczanie jest jednym etapem gdzie musi zostać wykonana określona liczba obrotów)
Albo Config- albo str.112 pdf.- i poprzednie i następne. Polecam to drugie rozwiązanie. "tak by była możliwość dodania czasu martwego. " Nie da się z automatu. Mają to ATtiny 25/26/45/85- o ATMega nic mi nie wiadomo. W ATtiny25/45/85 znajduje się układ DTG-Dead Time Generator- to o co Ci chodzi.
Witam, Niedawno zrobiłem programik, który generuje 3przebiegi przesunięte w fazie. Triggerem dla pierwszego przebiegu jest detektor zera sieci na INT0. Chciałem całą obsługę generowania sygnałów zrobić na przerwaniu Timera. Ale mój ból jak wywołać przerwanie Timera natychmiast po otrzymaniu sygnału na INT0 Wykombinowałem sobie takie o to rzeczy tuż...
No to bez problemu, wykorzystaj SPI/USART w trybie SPI, wtedy dane musisz podawać 8 razy rzadziej niż pixelclock (a nawet rzadziej, bo USART ma bufor), czemu podoła zwykła ATMega. XMEGA to nawet może spać podczas generowania obrazu, bo generacją linii zajmuje sie DMA, a synchronizacji timery :)
1. Owszem poprzez dodanie np. dzielnika rezystorowego. 2. Mogą jeżeli timer nie zostanie skonfigurowany do PWM.
4. Podłączenie sygnału z wyjścia PWM do ADC1 aby ponownie spróbkować sygnał PWM A po co? Po to aby odczytać ile kroków wykonał silnik. Sygnał PWM niski wysoki niski to jeden krok na wejście STEP. I chce żeby pwm był jakoś ogarniczony. Aby silnik wykonał na przykład 20 kroków - nie więcej. Na ATMega możesz to zrobić tak jak ci napisał kol. piotrva....
.... 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...
Jeśli w przerwaniu wyświetlania będzie tylko zatrzaśnięcie danych w HC585 i wybór kolumny, to nie ma problemu. Do OW najlepiej jednak będzie użyć UARTa, bo na przerwaniach timera na ATmega raczej się zarżniesz. OW na UART, ładowanie danych wiersza w pętli głównej i jakoś to poleci nawet na cienkim ATmega.
Witam mam pytanie , jak z timera w atmega odczytac impulsy ktore przebiegaja po kablu WN w motoryzacji (chce zrobic obrotomierz) ? Nie znam sie na arduino wiec prosze o pomoc dostalem info zeby nie zaczynac w basicu wiec probuje tu. Pisownie poprawie rano bo pisze z telefonuu;)
zobacz na stronę http://www.avrbeginners.net/ Dobrze udokumentowane przykłady i opis dziania AT90S i ATMEGA Timery,UART,rejestry itp.
Config pind.2 = input
dondu pisał o zerowaniu preskalera timera nie zapomnij wyzerować licznika timera.
W przerwaniu timera kolejno: 1. odczytujesz poprzedni pomiar ADC i przetwarzasz wyniki 2. startujesz kolejny pomiar, którego wynik odczytasz przy następnym wejściu w przerwanie timera
8Mhz /256 daje 31 250. 31250/125 daje 250 (ms) (250 -125ms) * 8 (co ósme przerwanie) = 1s.
Tojmak987123 pomyliłeś pojęcia: Szerokości wypełnienia nie mierzy się w Hz tylko w procentach lub jednostkach czasu (np. mikrosekundach). Twój program wywołuje przerwanie Timera0 co (256-194)*64 cykli zegara, Timer1 jest ustawiany 5 razy rzadziej czyli co 19840 cykli zegara tylko tyle możesz nim odmierzyć (a nawet trochę mniej ze względu na czas ustawiania)....
Tak. Tylko mniej świadomość że procek będzie odrywany od pracy wieloma nieprzydatnymi impulsami. Ewentualnie po pierwszym impulsie na INT, wyłącz przerwania na czas drgań. Jak teraz masz podłączony kontrakton ? INT podciągnięty pod +5V ? Jak INT wyzwalasz ? W docelowym projekcie koniecznie czujnik kontraktonowy zamień na jakiś halotron albo transoptor...
W dokumentacji niestety dla licznika 1 nie występuje preskaler 128. Występuje natomiast 256. Zakładając, że licznik pracuje w trybie CTC (WGM12 =1) i zakładając 8MHz źródło sygnału zegarowego (tak jak jest w komentarzu w kodzie) należy wpisać do OCR1A= 31249 oraz ustawić preskaler na 256 czyli CS12=1 A tak na przyszłość ...nota katalogowa. Tam wszystko...
Witaj. 1. Nie znam VMLAB, ale czy prawidłowo definiujesz F_CPU? 2. Czy symulator nie potrzebuje osobnej definicji częstotliwości do prawidłowego określania czasów symulacji? Tak jest w symulatorze w Atmel Studio. 3. Volatile: http://mikrokontrolery.blogspot.com/2011... Posklejałeś ten program z kilku - no ale każdy kiedyś zaczyna...
Podłącz diodę optotriaka pod wyjście OCx procesora, dzięki temu impuls wyzwalający będziesz mógł generować sprzętowo za pomocą timera.
Chwila. Timer bez preskalera, częstotliwość procesora nieznana, załóżmy, że 1 MHz (nieistotne). Timer zgłasza przerwanie co 21 cykli zegara, czyli ATmega zajmuje się na okrągło obsługą przerwań timera, nie mając szans obsłużyć żadnych przerwań o niższym priorytecie (ADC).
Ewentualnie przy większej liczbie sygnałów - przerwania INT lub PCINT. Ale to już bardziej programowy pomiar, przez co mniej dokładny ale dokładniejszy niż w przerwaniu od timera.
Obsługa WS2812 na AVR nie może działać przy aktywnych przerwaniach z jakiegokolwiek źródła. Obsługa DMX korzysta z przerwania UART i masz jeszcze przerwanie timera. Proste? Zmień mikrokontroler.... Z ATmega WS2812 DOBRZE nie popędzisz.
Idea jest zawsze taka sama, bez wzgledu na procesor. Jezeli Verengard nie uzywa zadnego OSa to moze zrobic to na przerwaniu od timera.
Funkcja delay_ms() nie zależy od timera, więc prescaler nie ma dla niej znaczenia.
Dzięki za odp. na razie udalo mi sie to zrobić przy użyciu polecenia _delay_ms() ze standardowej biblioteki, ale wiem, że to pójście na łatwiznę ;). Obsługe minut i wyświetlania juz w zasadzie skończyłem. Nie wiem, czy coś będę musiał zmieniać przy przejściu na timery.
"Od samego początku mam problem ze sterownikiem."...."A jeszcze jedno w kontrolerze jest włączony timer jako counter do zliczania impulsów ślimaka podajnika Przerywasz w programie procedurę wyświetlania na LCD przerwaniem od Timera.
A w takim razie czemu ten efekt nie występuje kiedy wejdę w tryb inverse? Bo po to właśnie jest ten tryb :) Efekt też występuje, tylko o ile w trybie normalnym jest on dla wartości PWM równej 0, o tyle w trybie inverse jest dla wartości maksymalnej. W zależności, kiedy ci to przeszkadza, wybierasz odpowiedni tryb pracy timera.
Możesz zrobic tak - zliczać 11059 impulsów w liczniku 16-sto bitowym. Da Ci to częstotliwośći 10000,01 Hz czyli z błędęm w zasadzie do skorygowania kwarcem (kondensatorem, trymerem). Co do RS-a - to błąd całkowicie akceptowalny (dla skorygowanej do 11059000 Hz częstotliwości). P AK
Dummy_timer nie robi niczego mądrego. Funkcja zwraca zmienną static unsigned int ticks, a wywołana z parametrem TIMER_UPDATE zwiększa jej wartość o 1, wyświetla kropkę w konsoli i czeka 1ms. Do testów jest ok, docelowo można użyć timera.
Cześć, mam pytanie odnośnie Timerów w uC ATmega. Potrzebuję następujących opcji: - zliczanie impulsów z dwóch enkoderów - generowanie dwóch przebiegów PWM - generowanie przerwania co kilka ms. ..............? Czy są jakieś AVR'y mające 4 timery? ........... Pozdrawiam, Bartek Wystarczy ci Atmega48/88/168 Dla 2-ch sygnałów PWM wystarczyłby 1 timer z...
timer sobie zostaw do pomiaru czasu, a liczenie impulsów zrób na INT0 lub INT1
czy taki kod na Atmedze 8 da się zrealizować Zdecydowanie nie przewyższa możliwości obliczeniowych atmegi. Proponuje w pierwszej kolejności przemyslec definicję pierwszego impulsu. Jak kolega to zrobi to znajdzie (bez programowania w pierwszej kolejności) algorytm wykrywania że jest on pierwszy i należy liczyć od poczatku. A jak juz bedzie wiadomo...
Witam gdzie jest to co opisałeś na PCB bo nie widzę tego optotriaka - chodzi wyrażnie o odczyt sieci Aha, nie można nie wspomnieć, że w sumie zaryzykowałem i nie dałem tu detekcji zera - zajmuje się tym timer w Atmega i optotriak z przejściem przez zero. Grzesiek
Witam! FµC=8 MHz , prescaler = 1024. Timer 0. Wychodzi częstotliwość: 7812.5 Hz = 7.8125 kHz. Wyświetlacz 7 segmentowy 4 cyfrowy migocze właśnie przy takiej częstotliwości. Dopiero przy preescalerze 64 jest OK. Czy to jest normalne? Przecież już przy 4 * 50 Hz = 200 Hz nie powinno migotać. :/
Load Timer0 = 625 ?? Mam nadzieję, że kolega sam rozumie błąd w tym miejscu:> Poza tym ładnie jest najpierw włączyć timer a potem zezwolenie na globalne przerwania:>
Bardzo dziękuję za wytłumaczenie. A co w kwestii programu? Co dają te przerwania timera?
E tam nie można - aplikacja jest napisana nieoptymalnie i tyle. w ATmega8 są 3 timery...
Diody masz podpięte bezpośrednio pod porty ATmega? Jeśli tak to lepiej dołóż sobie oporniki aby nie spalić wyjść ATmegi. Bezpośrednio przy procku daj kondensator 100nF. Przed stabilizatorem np. 1000uF, a za stabilizatorem 100u (to i tak za dużo, ale lepiej więcej niż za mało). Zliczanie zrealizowałbym w taki sposób: - Odpalić któryś z wewnętrznych timerów...
Treść Twojego programu nie odpowiada założonej funkcjonalności. Podobno chcesz, żeby silnik śledził położenie potencjometru, a tymczasem robisz coś zupełnie innego - wykonujesz pewną liczbę kroków w zależności od różnicy dwóch kolejnych pomiarów ADC. Zacznij od przerwania timera, zgłaszanego z okresem kroku. W nim odczytaj ADC i przefiltruj (obecnie...
Takie pytanie mi się urodziło... czy da się w jakiś sposób zmienić piny wyjścia dla timera (OC1A, OC1B)?
Też na początku myślałem o rezystorze tylko nie wiedziałem czy to bedzie bezpieczne. Jak dodasz diodę zenera to będzie bezpieczne. Teraz myśle jak wysterować lampke może jakimś mosfetem tylko jak to zrobić aby powoli sie lampka gasiła ? Poczytaj o PWM. Czyli sterowanie szerokością impulsu. W ATmega robisz to na timerze i nie obciąża Ci programu. Choć...
Zieew... Z jakiego to istotnego powodu nie użyjesz mikrokontrolera z wieloma 16- lub 32- bitowymi timerami, tańszego i przy okazji z kilkadziesiąt razy szybszego od ATmega, z którym nie miałbyś żadnych problemów tego typu?
Timer w procesorze Ci z taką dokładnością odmierzy spokojnie. 5ms w mikroprocesorach to wieczność ;)
Oj lepiej dokładnie zapoznaj się z dokumentacją zanim zaczniesz takie herezje pisać... Nie jestem "debeściakiem" wystarczy dokładniej przejrzeć dokumentację i trochę pogłówkować... ATmega posiada 3 timery z czego timer2 (8-bit) posiada możliwość pracy z kwarcem 32,768kHz... Kwarc taki podpina się pod wejścia TOSC1 i TOSC2... Co prawda są one wspólne...
Czyli zrobić zewnętrzne przerwanie na te funkcje??
Jest mozliwa taka konfiguracja "Config Rc5 = Pinb.2 , Timer = 2" P.S. przepraszam za moj "Polski jezyk" jestem Czechem :-)
Jak najbardziej tak.
kolejny temat, na ktory odpowiedzia jest 'volatile' - bylo o tym milion razy. 4\/3!!
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).
Witam Czy ktoś miał styczność z tym przepływomierzem link ; http://www.okazje.info.pl/bf/biuro-i-fir... producent podaje 250imp/litr a timer 0 ( atmega 32) zlicza 1imp/l co robię źle ???????
(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...
JacekCz Dzięki ale tam piszą o skomplikowanych rzeczach... A tu prościej już sie nie da: w przerwaniu tylko ładuję timer, zmieniam stan portu i nic więcej... Wygląda na to że ktoś mi tu skraca timer bez mojej zgody? Dodano po 5 (at)niveasoft sparwdzam Twój kod, ale Compare_a i Compare_b są niezrozumiałe dla kompilatora... Dodano po 7 (at)niveasoft...
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"...
Niekoniecznie musi być XMEGA. To co musisz zrobić to nadać dwom sygnałom marker czasowy. Ponieważ jeden timer w ATMega ma tylko jedno wejście ICP, to musisz wykorzystać dwa timery. Wtedy każdy z nich będzie przechwytywał impuls z jednego wejścia. Ponieważ w ATMega tylko większe procki mają dwa 16 bitowe timery będzie to pewien przerost formy. Dlatego...
11 wejść analogowych ma ATtiny26... podkreślam wejść...
atmega 16 ma liczniki/timery na innych portach
Schemat OK. Co do reszty: Każdy timer ma schemat w dokumentacji na początku rozdziału który go opisuje. Porównaj timery na tej podstawie.
(...)chodziło mi o to, że po co stosować w takiej sytuacji zewnętrzny układ RTC i budzić mikrokontroler przerwaniem jak może on sam się budzić od wewnętrznego przerwania timer'a i obsługiwać (...) Zgodzę się, ale gdy mikrokontroler ma dedykowany do tego celu timer (np timer 2 w atmega) taktowany kwarcem "zegarkowym", a attiny takiego timera nie ma.
1. Pokaż całe programy 2. Która wersja BASCOM? Aktualizowałeś do najnowszej?
Atmega 8 ma 3 timery więc który timer Ty wykorzystujesz?
Yyyy Atmega (surowa) czy Arduino?
Pamiętaj, że kwarc zegarkowy nie podłącza się do XTAL1 i XTAL2. Tylko jako generator dla timera. Więcej w nocie.
Nie przesadzaj nie jest tak źle, o ile przeliczniki da się łatwo ogarnąć. Tak najwięcej pracy jest z wyświetlaczem bo o ile to wyświetlacz segmentowy czy tft w postaci liczb to jakoś pójdzie tak wyświetlacz graficzny będzie najwięcej pracy i tu chyba lepiej by było sięgnąć po jakieś "HMI" Atmega 328P jest złym wyborem bo ma jeden timer w ICP ale da...
Ślepy zaułek. Obejrzyj kod, który podlinkowałem - dwie linie kodu w przerwaniu timera załatwiają sprawę.
Przede wszystkim przeczytaj datasheeta. ATmega posiada timer z trybem PWM. No i sprecyzuj w jakim języku chcesz to napisać.
Witam Najprościej to: CD4541 (timer długich i bardzo długich czasów) plus CD4017 lub CD4022 (licznik, tzw "Johnson") albo mikrokontroler (Atmega ... ) z napisanym odpowiednim programem, które to będą sterować świeceniem diod. Pozdrawiam.
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ęć?
(at)piotrva To miganie diodami to był tylko taki przykład. Watchdoga chcę użyć tak jak ten timer asynchroniczny w power save.
To znaczy że litery i wynik temperatury znika na ułamek sekundy i znów ie pojawia Ustaw poprawnie timer. Miałem to samo. Link: http://www.elektroda.pl/rtvforum/topic20...
Owszem, wykorzystać AVR z rodziny XMEGA - tam timer jest o wiele bardziej elastyczny, można go też taktować z innego timera, w efekcie uzystać dowolny preskaler zegara. W ATMega 64 timer też może mieć zewnętrzny zegar, możesz więc zewnętrznie połączyć wyjście jednego timera, który będzie preskalerem z wejściem zegarowym innego timera. CLK/2 w ten sposób...
OK - software pwm, ale czy wtedy normalnie uC nadąży z obsługą np RC5 (używa timera 0) i RSa?
Witam, chciałbym zrobić nietypowy nadajnik IR na Atmega 8. Nie Sony nie RC5, nietypowy. Sygnał ma mieć 38kHz, kluczowanie znam. Pytanie: czy te 38kHz mogę uzyskać za pomocą timera w trybie PWM 50%? Czy mogę ustawić dowolną częstotliwość, bo wydaje mi się że nie. Chciałbym jednym timerem generować falę prostokątną a drugim kluczować ją komendami START...
Czy komuś udało się uruchomić prostą obsługę od przepełnienia TIMERA 2 w Atmedze 8. Mi się udało.
Jeśli chodzi o wybór podyktowany zwiększeniem ilości pinów to czemu nie ? ATmega64 to dobry wybór. Masz dodatkowo jeszcze jeden Timer 16-bitowy ;) .... a jeśli chodzi o przeniesienie kodu to żadna różnica i to jest fajne w porównaniu do przesiadania się zaraz na Xmega. Poza tym są jeszcze takie jakby nieco większe wersje procków z serii ATmega2560/2561...
No jeżeli jest Phase Correct to ok. To wystarczy zadeklarować przerwanie za pomocą On Timer. A potem je obsługiwać odpowiednio.
Może problem w funkcji opóźnienia... Nie jest to szczególnie dokłądna metoda... Wykorzystaj raczej timer do odliczania czasu...
Witam, Wykorzystałem w swoim projekcie timer PWM i chciałbym dokonywać pomiarów napięcia po jakimś czasie od zmiany stanu z 0 na 1. Czy zrobić to za pomocą dodatkowego Timera? Może jakieś inne rozwiązania? Projekt na ATmega 168PA
Poprawny i dokładny stosunek podziału to 921600, czyli np. 14400 * 64 albo 3600 * 256 albo 900 * 1024. Jak widzisz nie ma żadnego problemu z zaprogramowaniem timera na taką częstotliwość.
Zmień doświadczalnie wartość wpisywaną do timera. Zobacz czy poprawnie wyświetla ci to co chcesz. Ważne jest także żeby przerwanie nie było za długie bo wtedy może grozić to resetem uc.
Nie powinno ;) The extreme values for the OCR2A Register represent special cases when generating a PWM waveform output in the fast PWM mode. If the OCR2A is set equal to BOTTOM, the output will be a narrow spike for each MAX+1 timer clock cycle. http://www.elektroda.pl/rtvforum/topic31...
Poprawiłem schemat. Czy mógłby mi ktoś wytłumaczyć jak tu mierzyć czas programowo?(nie rozumiem zasady działania i posługiwania się timerami). Okresami zajmę się później, najpierw zwykły przelot kulki. Zdecydowałem się ostatecznie na użycie ATmega 328P-PU.
Czy są jakieś znaczące róznice tak aby program napisany na 1284 nie chodzil na 644P? Np. M1284p ma 4 timery, a mniejsze siostry tylko 3 :D Wiąże się to więc, z 4 dodatkowymi źródłami przerwań i większym o 16 bajtów obszarem wektorów przerwań.
Niestety Bascom jest niedorobiony. Ilez to ja niekiedy spedzilem czasu bo cos mi nie chodzilo. Co wersja to inny blad. W jednej wersji nie chodzily mi np. timery na Atmega 16, prescaler blednie sie ustawial itp. Warto jest podgladnac rejestry i sprawdzic czy aby Bascom nie wpisal tam glupot. Jesli wpisal glupoty a to najczesciej jest przyczyna probowac...
Musisz także uwzględnić, że timer po przepełnieniu musi zbudzić MCU, ten musi wykonać ileśtam operacji i ponownie zasnąć. Oraz to, że Atmega ma te same piny dla oscylatora asynchronicznego i głównego. Ogólnie to kiepski wybór na projekt Low Power. I uwagi GSM też weź pod rozwagę. Albert
ATMEGA88 jak i ATMEGA168 ma wewnętrzy preskaler sygnału zegarowego który jest domyślnie włączony. ATMEGA 8 go nie ma.
Witam Udało mi sie uzyskać w miarę płynną regulacje na podanym przezemnie wyżej schemacie PC817 zastoswałem gdyż był pod ręką a PC814 jeszcze nie dotarł Ale docelowo chciał bym zastosować ten drugi zmieniłem też program teraz procedura przerwania i timera wygląda następująco [syntax=vbnet] $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 128 $swstack...
Można tak, myślałem, że chcesz jednoczenie mierzyć oba parametry. Nie pamiętam jak M16, ale chyba każdy timer ma swój rejestr ICP?
Za ten tryb odpowiada fusebit M103C...
Czesc Tak naprawde to wystarczy, żebyś skonfigurował timer1 jako pwm: Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down W tym momencie masz 2 pwm sterujesz w ten sposób: pwm1a=wartość od 0 do 255 pwm1b=wartość od 0 do 255 Podpinasz np. leda do portu gdzie jest opisane OC1A i drugiego gdzie jest OC1B...
Witam. Na wstępie chciałbym napisać iż szukałem informacji na ten tematu na tym forum a także na google ale nie znalazłem jednoznacznej odpowiedzi. Otóż czy używając sprzętowego PWM w uC blokuje jego timery? tj. o co mi chodzi. Otóż atmega 168 posiada: 6 kanałów PWM 2 timery 8bit 1 timer 16bit z noty katalogowej widzę iż 6 kanałów PWM OC0A - wykorzystuje...
W Arduino na dzień dobry odpalany jest timer pomiaru czasu z przerwaniem co ok. 1ms
Nawet standardowe funkcje _delay_ms i _delay_us z boblioteki delay.h nie blokują przerwań więc podobnie jak Twoje są narażone na to o czym pisze Asembler. Czasami dokładność nie ma aż takiego znaczenia np. mruganie diodami, czy generowanie dźwięku, itp. Ale jeżeli ma, to albo timery albo blokada przerwań.
Dziękuję kol niveasoft !!! Działa świetnie!! Config Timer0 = Timer , Prescale = 1 , Timliłoer = 34 - chyba to mnie zmyliło bo czytałem że trzeba na 26kHz timer do odbiornika IR ustawić
(at)tmf - podejrzewam, że pobór jest całego układu w tym podświetlenia LCD więc może pobierać 0.2A; Hero - czy procek się grzeje? Czy masz watchdog timer wykorzystywany? Czy masz BOD?
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...
atmega timery atmega timery assembler integra timery
vs100 marshall discman wyłącza trawienie elektrolityczne
wymiana lasera onkyo kontrola dostępu roger
Zerowanie SMART HDD – reset atrybutów, narzędzia serwisowe, ryzyka, PC-3000, Seagate, WD Komunikat "zamknij pokrywę" w nowym robocie – czujnik pokrywy, gwarancja, marki i modele