\ 1. Rozumiem, że ustawienie odpowiedniej częstotliwości da mi czas, który jest mi potrzebny? Tak, program z tego postu demonstruje rejestry i bity których odpowiednie ustawienie spowoduje daną częstotliwość przerwać timerów, a w konsekwencji odpowiednią częstotliwość wysyłania tekstu / migania diodą, jednak obecny ustawiony czas jest przykładowy, nawet...
Witam! Proszę o pomoc, buduję zegarek na Atmega8a. Problem stwarza mi obsługa timera w przerwaniu. Właściwie to nie mogę znaleźć nic konkretnego. Jak włączyć timer? Gdzie ustawia się flaga przepełnienia? Czy flagę trzeba wyzerować ręcznie? Jak to wygląda z perspektywy kodu C++? Dziękuję serdecznie za pomoc :)
Witam, Zbudowałem swojego czasu timer odliczający sekundy na Atmega8 ale zauważyłem, że jak zatrzymuje go przyciskiem kilk razy i włączam, to sekunda jest niepełna. Zapewne jest to spowodowane zapisem jego wartości w jakimś rejestrze i chciałbym móc go kasować do końca... mój kod jest dostępny tutaj: http://mikrokontrolery.blogspot.com/2011...
Napisałem sobie taki prosty programik, dodam, że to jeden z moich pierwszych z użyciem timera i niby wszystko ok to jednak zegarek przestaje wyświetlać po ok 4 minutach poprawnej pracy. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 20 * 2 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.7...
Problem polega na tym że nie mam pojęcia jak w c ustawić timer0 (z preskalerem 1) tak aby po przepełnieniu przerywał program i dodawał do zmiennej jeden. Proszę was o wytłumaczenie dokładniej do czego służą poszczególne rejestry timera0 i jak je ustawiać - nie odsyłajcie mnie do dokumentacji.. nic nie wiem z tego angielskiego a publikacje w internecie,...
Mam problem z włanczaniem i wyłanczaniem przerwań w ATmega 8535. potrzebuje odczytywać dane z RS(5 bajtów )i meć włonczony zegar RTC, któty by rejestrował czas pojawienia się w buforze znaku. Bascomowa instrukcja inkey() użyta przeze mnie powoduje ze zegar stoi w miejscu. Jak napisać procedure przerwania ??????? Pomuzcie adelmus12
robie układ sterownika programowalnego na ATmega8 chciałbym aby po wejściu do jakiegoś menu po czasie nie używania klawiszy sterownik skoczył do głównego menu w tym celu chce uruchomić np timer0 który po przepełnieniu licznika wywoła procedurę skoku do menu głównego. i tu problem zegarek działa jak najlepiej do czasu gdy nie użyję instrukcji enable...
Witam, pisze program w którym wykorzystuję 16 bitowy Timer1 z Atmegi 328. Najpierw konfiguruję go tak: [syntax=vbnet]Config Timer1 = Timer , Prescale = 64 'Kwarc 18.43MHz, 1/18430000 * 64 = 3.473us Enable Timer1 On Timer1 Impulsuj 'ISR[/syntax] a potem mam procedurę przerwania której zadaniem testowym jest wygenerować przebieg prostokątny: [syntax=vbnet]'---------------------ISR....
Próbuję złożyć (a właściwie jestem na etapie rozmyślań) zegar na tym scalaku ale mam pewien kłopot. Układ będzie dosyć rozbudowany więc przerwania zewnętrzne muszę zostawić w spokoju. Z tego co zdążyłem się zorientować to można za pomocą timera wytworzyć przebieg i zliczać go przez preskaler i kiedy rejestr się zapełni uzyć wewnętrznego przerwania aby...
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ż...
Mam taki problem: chcę w programie wykorzystywać przerwania od przepełnienia dwóch timerów (0 i 1). W timer0 mam obsługę wyśw. LED i opóźnienie dla klawiatury a w timer1, z założenia wywoływanym co 100ms, coś jakby zegar z minutami i sekundami, choć nie jest to najważniejsze bo to program testowy. Problem w tym, że przerwanie od timer1 wcale się nie...
Witam. Zaczynam dopiero zabawe z mikrokontrolerami i mam juz pierwszy problem. Otóż nie działa timer0. Wszystko sprawdzałem pare razy i nie wiem co zle zrobiłem. [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #define LED1 PB1 #define LED2 PB0 int main(void) { TCCR0 |= (1<<CS02) | (1<<CS00); // preskaler 1024 TIMSK...
Witam, Chciałabym zrobić obsługę timera, aby wszystkie diody po przyciśnięciu przycisku się włączały, a po upływie czasu ok. 0,5 sekundy się wyłączały. Niestety timer w kodzie mojego programu nie uruchamia się i nie wiem czym to jest spowodowane. [syntax=avrasm] .include "m32def.inc" .org 0x000 jmp start .org 0x002 jmp int_ext .org 0x010 jmp timer1...
Zadaniem programu ma być odmierzenie 1 sekundy (zmiana stanu na wy). Przerwanie od timera 2 przychodzi co 1ms. Kwarc zewnętrzny ~11MHz. Czy ktoś mógłby napisać dlaczego program nie działa? #include<avr/io.h> #include <avr/interrupt.h> int i=0; int main(void) { DDRC = 0b00001000; TCCR2=_BV(CS22); TIMSK = _BV(TOIE2);...
Witam Zamierzam jako laik powalczyć z takim projektem jak układ czasowy. Czyli naciskamy przycisk następuje odliczanie np 3 minuty i potem się układ wyłancza się. Proszę o jakieś propozycje programu bo mi najgorzej jest wystartować. A mając jakiś szkic mogę walczyć z układem... Układ chce zrobić na Atmega8 bo tylko do niego mam programator. Pozdrawiam....
Witam Mam problem z timerem w uc Atmega 8. Chciałem sobie napisać zegar,ale nie mogę tego zrobić przy użyciu timera,bo timer w ogóle nie generuje przerwania :| licznik chodzi i się przepełnia,bo wyświetliłem sobie jego wartość na lcd żeby sprawdzić co jest nie tak...załączam kod programu,bo już nie mam pomysłów co może być nie tak $crystal = 8000000...
Mam problem z którym próbuje uporać się już od dłuższego czasu. Nie wiem jaką wartość powinienem wpisać do timera dwu bajtowego aby uzyskać przerwanie co sekundę. Nie pytałbym się tu o takie rzeczy ale nawet w książce "Mikrokontrolery dla początkujących" autor oblicza wartość timera pisząc sprzeczne równanie! Od razu mówię że programuje w BASCOMIE jeśli...
Witam, muszę tak skonfigurować timer1 aby przerwanie występowało co 1us. Mam uC atmega328pu i kwarc 16MHz. Warości, które wpisuję do rejestrów porównania są na pewno poprawne, ale w moim przypadku dioda zmienia swój stan w czasie dłuższym niż 1s (dla testów w ISR umieściłem licznik ,który w momencie osiągnięcia warości 1 milion zmienia stan diody)....
Witam, mam problem z ustawieniem przerwania od timera0 na atmega8, jestem początkujący jeśli chodzi o assembler... Problem leży w tym że, uP jest taktowany z wewnętrznego zegara 1MHz, i jeśli mam ustawiony prescaler na 8 czyli rejestr TCCR0 na 2 to powinienem otrzymać obsługę przerwania co 8us a na oscyloskopie otrzymałem igiełkę co 2ms;/ nie wiem co...
Witam, $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output Config Pind.1 = Output Config Timer2 = Timer , Prescale = 128 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect , Prescale = 8 Cls Cursor Off Portd.0 = 1 Portd.1 = 0 Set Portd.4 On Timer2 Czas1s Dim Licz8ms As Byte Dim Wartoscpwm As...
Witam.... Dostałem polecenie napisania programu, który po wciśnięciu SWITCH'A zapala diodę LED na dokładnie 4 sekundy. Następnie dioda ma zgasnąć, a my w obojętnie którym momencie możemy znów ją załączyć na ten czas. ATmega8 tyka wg. zegara zewnętrznego 14,7456 MHz Napisałem kod... (duża liczba komentarzy pomoże zrozumieć), ale są 2 problemy: 1) Czas...
Uruchomić timer w trybie CTC. Tryb CTC [syntax=vbnet]CONFIG TIMER1 = ..... CLEAR TIMER = 1[/syntax]
Rtos? System operacyjnu czasu rzeczywistego? Ale po co ? Mam za to inne pytanie, jak to jest zrobione w sterowniku, iz piszac program np. w VersiePro traktuje się wszsystki "drabiny" jakby uruchamiane byly jednoczenie. Czy to za sprawą oprogramowania tak się dzieje, a to ze nie widac opoznien to po prostu szybki procek. Bo przeceiz skoro sa tam zwykle...
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).
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...
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
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.
8Mhz /256 daje 31 250. 31250/125 daje 250 (ms) (250 -125ms) * 8 (co ósme przerwanie) = 1s.
Przecież to Ty programujesz timer, a timer może po każdym okresie np. zgłosić przerwanie.
Przychodzi Tobie prostokąt o wypełnieniu ok. 1-2ms co kilkadziesiąt ms. Musisz podłączyć ten sygnał pod przerwanie w atmega i timerem mierzyć czas pomiędzy zmianą sygnału z "0" na "1" a zmianą z "1" na "0". Z tej informacji generujesz odpowiednie PWM. PS. Ze względu na to, że nowsze atmegi mają więcej wyjść PWM polecam np. atmega88 zamiast atmega8.
Zanim włączysz konkretne przerwanie włącz przerwania globalne. wpisz tak Enable interrupts Enable int0 Pozdrawiam :)
Jaka jest maksymalna częstotliwość pracy kwarca wewnętrznego Atmegi8? ATmega nie ma w środku kwarc u , tylko oscylator RC, to tak gwoli ścisłości. Mam ustawione 4Mhz i kiedy ustawiam prescaler w timerze 16bitowym na 64 (TCCR1B|=1<<CS11|1<<CS10;) tak aby przerwanie spowodowane przepełniniem timera było wywoływane mniejwięcej co 1s 4000000/64/2^16...
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.
OK. Jestem teraz prawie pewien gdzie leży problem. Otóż ten program VMLAB jest kiepskim symulatorem i nie za bardzo łapie operator volatile. Program zawiesza się na pętli while() w funkcji licz(), ignorując zupełnie przerwania. Jest to moim zdaniem wina tego symulatora. Układ fizyczny powinien działać. W wolnej chwili odpalę na symulatorze AS6. Edit:...
Czekaj, czekaj. Jeden czujnik odpali przerwanie INT0 a w tym przerwaniu sie uruchomi timer. Drugi czujnik po INT1 ma go wyłączyć. Raczej o tym myślałem. Lepiej tak: czy ktoś by mi dokładnie wytłumaczył jak wywoływać timery, zbierać z nich czas, do czego służą poszczególne rejestry. Noty katalogowej tego procka po polsku nie znalazłem, a dobrego poradnika...
Nie, podajesz na jedno wyjście wiersza stan niski i sprawdzasz stan wejść kolumn podciągniętych wwnętrznei do plusa. Robisz to zwsze w przerwaniu timera. To samo przerwanie może służyć np. do wyświetlanai LED, o ile masz w systemie wyświetlacz multipleksowany.
Odbiór znaków rób w przerwaniu i zapisuj je kolejno do bufora. W przerwaniu tym włączaj lub resetuj przerwanie timera tak, aby przerwanie timera było wyzwolone dokładnie 3,5 znaku później. Jeśli w tym czasie przyjdzie jakiś znak resetuj timer i cykl będzie mógł powtórzyć się, jesli jednak znak nie zostanie odebrany w tym czasie przerwanie timera wyzwoli...
Atmega 328 Przerwanie 50hz do sterowania fazowego blokuje odliczanie millis(); , występują opóźnienia w całym programie. Trudno cię zrozumieć, ale sprawdzanie millis() wskazuje na to że nie używasz potencjału jaki jest w sprzęcie, powinieneś ustawić przerwanie tak aby timer wywołał je kiedy jest potrzeba zmiany stanu wyjścia, albo w ogóle bez udziału...
Czyli zrobić zewnętrzne przerwanie na te funkcje??
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...
Z tego co wiem "PIN Change Interrupt" ma np. Atmega168 i Atmega 328. Atmega 32 - jakoś nie widzę takiej możliwości. Proszę o poprawienie mnie, jeśli się mylę. Oczywiście zawsze można skorzystać z tych specjalnych pinów - INT0, 1 czy 2 lub zasymulować taką kontrolę stanu pinu w zwykłym przerwaniu - np. timera.
Ja to widzę tak: - ustawisz ADC w tryb Free Running, czyli będzie na okrągło wykonywał pomiary na jakimś wejściu a ponieważ wejście zostawimy niepodłączone, to jest szansa na losowe bity. - po skończeniu pomiaru ADC wywoła przerwanie które będziemy wykorzystywać do wszystkich Twoich potrzeb nie tylko do generowania losowej liczby. Innymi słowy ADC zastąpi...
Czy komuś udało się uruchomić prostą obsługę od przepełnienia TIMERA 2 w Atmedze 8. Mi się udało.
Witam, myślę że można zrobić to dużo łatwiej. Potrzebny Ci będzie jeden pin z przerwaniem (może być puste) i pomysł na opóźnione przejście w tryb uśpienia.[syntax=c]void sleep_button(int is_pressed) { enum sbstate {SBSTATE_IDLE, SBSTATE_SLEEP, SBSTATE_WAKEUP}; static enum sbstate state = SBSTATE_IDLE; static unsigned int tp; switch (state) { case SBSTATE_IDLE:...
Ja bym proponował na początek przerwanie zewnętrzne INT w którym liczysz impulsy, oraz przerwanie timera w trybie CTC co około 1s w której jak kolega (at)bochnio wspomniał będziesz zerować licznik. Kolejny krok to mniej więcej tak:[syntax=c]if(licznik > 6) POTRB |= (1<<PB0); // ustaw stan wysoki gdy przekroczy wartość else POTRB &= ~(1<<PB0);...
Pomyśl, co się stanie, gdy przerwanie timera zostanie zgłoszone w trakcie wykonywania modyfikacji portu w pętli głównej, po odczycie PORTB, a przed jego zapisem. Jeśli wyjścia są modyfikowane w przerwaniach - nie należy modyfikować innych wyjść tego samego portu w wątku głównym. To jedna z wielu przesłanek za tym, by "pętla główna" była pusta. Inaczej...
marcinek.p - to gotowiec dla ciebie, nie mam jak go przetestować ale jestem pewien że zadziała jak trzeba. Masz tu przerwanie, miganie led i zliczanie migniec z incr Mozna to wszystko wkleic do przerwania ale dobra zasada nakazuje w przerwaniach umieszczać jak najmniej kodu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 $hwstack = 32 $swstack...
No jeżeli jest Phase Correct to ok. To wystarczy zadeklarować przerwanie za pomocą On Timer. A potem je obsługiwać odpowiednio.
Z kwarcu i preskalera wyliczasz sobie przy jakiej wartości licznik powinien się przepełnić i taką wartość ustawiasz w rejestrze OCRx. Włączasz tryb CTC timera, preskaler i przerwanie.
Nie podoba mi się twoje rozwiązanie. Ja bym to zrobił tak - timer odmierzający takty w rytm podstawowego okresu PWM (czyli przerwania np. 1kHz). Teraz zamiast tych porównań z licznikami, wrzuć wartość licznika do rejestru compare register. Dzięki temu masz przerwanie po przepełnieniu timera (nowy okres) - w tym przerwaniu inicjujesz wysyłkę danych po...
Witam, Magistrala 1-wire posiada dość mocne restrykcje czasowe co do trwania poszczególnych stanów na DQ. Przerwanie Timera, a wiec wykonanie podprogramu związanego z obsługa przerwania, powodowało zmianę długości tych czasów, gdyż są one generowane softwaerowo przez Bascom. Czasem może się zdarzyć że kolizja i tak wystąpi pomimo że teraz wszystko jest...
Użyj przerwania od timera do odmierzania odcinków czasu. Zobacz sobie na ten poglądowy przykład Często jako czujniki widuję właśnie NTC. Czy można ich użyć pod Atmegę ? Można, ale dużo prościej jest użyć termopary albo PT100.
(nie mam w tym momencie czasu aby przyjrzeć się temu bliżej, postaram się odpowiedzieć następnym razem pełniej) Masz napisane: TCCR1A = (1<<WGM10) | (1<<COM1A1) | (1<<COM1A0); //8bit PWM, phase correct TCCR1B = (1<<CS12) | (1<<WGM12); 8-bit PWM, phase correct ma wlaczone tylko WGM10. Tak jak Ty masz WGMy ustawione to wynika,...
Bardzo dziękuję, ale jeszcze dopytam. Czy symulację należy wywołać poprzez Alt+F5 (Start Debugging and Break) bez zaznaczania punktu "break", a następnie wcisnąć pauzę w dowolnym momencie? Co znaczy kliknąć na flagę? W AVRStudio 4 jest to czerwona chorągiewka, podobnie jak w MS Outlook, ale w symulatorze AVRStudio 5 nic jej nie przypomina. Moim zamiarem...
Zdaje się, że PWM-y generują przerwania a te pochodzą jak stwierdziłeś od zegarów. To w czym problem? Wyzwalaj pomiary A/D od przerwań PWM. Jak będzie za gęsto to dodaj prosty licznik w zmiennej z porównaniem i uruchamiaj przetwornik co n-te przerwanie od TOVn. Biorąc sygnał z wyjścia PWM i dzieląc go przez 2 uzyskasz przebieg o stałym współczynniku...
Z tego co wyczaiłem to mega popędzana jest kwarcem 14,7456 MHz (kwarc do USART)... Timery ustawione są tak, że przerwanie wywoływane jest co 0,05s stąd podstawowa zmienna zliczająca do sekundy zwiększana jest co drugie wywołanie przerwania (odpowiadają za to variable i variable1)... Spróbuj przeanalizować ten kod i skonfrontować go z dokumentacją do...
Może używając timer1 i jakąś zmienną przechowującą ilość przerwań wywołanych przez ten timer - czyli co przerwanie timera zmienna+1 i jeśli osiągnie jakąś tam wartość (czyli ileś tam przerwań timera = jakiś czas (zależny od kwarcu)) to wtedy spełniać ten warunek.
Można. Można też zamiast sprawdzać stan pinu programowo, podłączyć pin wyjściowy Timera pod jakieś przerwanie INTx.
Halogeny też będą zabronione ?? a co do projektu, właśnie zakończyłem projekt na uczelnie gdzie wykorzystuję sterowanie halogenem. jest to zrealizowane w ten sposób, że mam 100 poziomów jasności (0-100%). Sterowanie fazowe oczywiście i triak załączany impulsem. Logicznie, program działa tak: 1) system detekcji zera (transoptor) wykrywa moment w którym...
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)....
Jako ze nie przepadam za pisaniem na maile, to odpowiem tutaj... Musisz skonfigurowac odpowiedni timer i przy przerwaniu, jakie generuje int czas=0; int timer0=131; SIGNAL (SIG_OVERFLOW0) { czas++; if (czas==5000) BUUM(); //jezeli czas osiagnal 5000ms, to wywolaj funkcje BUUM(); TCNT0 = timer0; // zaladowanie do...
Zacznijmy od pytań: 1. Które bity według Ciebie ustawiłeś w TCCR2B : Autor tematu pisał, że stosuje gotową bibliotekę do obsługi jakiegoś panelu dotykowego. Z tego, co zrozumiałem, to przerwanie to znajduje się we "wnętrzu" tej biblioteki. Takie efekty są oczywiście normalne, gdy ktoś mało świadomy tego, co się dzieje w jego programie stosuje gotowe...
Moze inne przerwanie blokuje przerwanie timera, sam z siebie nie ma prawa sie zablokowac ;) Sprawdzasz przebiegi na oscyloskopie, czy tylko zgadujesz ze sie przycina ?
Witam... Generalnie rzecz biorąc procedury opóźnienia czasowego nie nadają się do modulowania diody IR... Częstotliwość nie jest zbyt stabilna to raz... Dwa nie uzyskasz 36kHz musisz skorzystać z dobrodziejstw timera... Np. tak... #include<avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <inttypes.h> int...
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ł...
Wektorów przerwań szuka sie nie tyle w dokumentacji winavr co w dokumentacji kontrolera, który się programuje. Nazwa wektora to nazwa przerwania ze spacjami zastąpionymi podkreślnikiem i dodanym przyrostkiem _vect np przerwanie od przepełnienia timera 1 w atmega 32: w dokumetnacji sekcja Interrupts (str. 42) 10 $012 TIMER1 OVF Timer/Counter1 Overflow...
Potrzebny mi timer z wyzwalaczem i przerwaniem na ATmega. Założenie jest takie że przed rozpoczęciem zadania ATmega ma aktywować timer, a jeśli nie zostanie ono wykonane w określonym czasie to nastąpi przerwanie i wyświetli awarię. Problem w tym że czas timera jest dość spory (powyżej 1 min) i bardziej widzę zrobienie czegoś takiego na zewnętrznym niezależnym...
Oczywiście że tak! A tyle razy czytałem pdf'a.... Drugi błąd tkwi w zapisie 10sek do adresu 15. Pamiętałem wszędzie o BCD zapominając, że powinno być nie 10 a 16 (B00010000). Czyli reasumując: zapis ustawień timera adres 0 <- 4 (ustawiony bit 3 włącza timer) adres 7 <- 0 (zerowanie na wszelki wypadek licznika - tu układ zlicza sobie impulsy) adres...
Program zajmuje 50%. Może i jest źle napisany ale działa.. Ja bym to stwirdzenie troche skorygował; Program działa tak jak jest napisany!... bo - "Jest jeszcze jeden problem." Co jakiś czas temperatura podskakuje o 10 stopni a czasami nawet do 200 podskoczyło co spowodowało zbędne załączenie przekaźnika. Z czym jest problem? Popatrz na pracę timera0,...
Z tego co napisałeś to problem jest banalny, tylko chyba źle się za to zabrałeś. Nie bardzo rozumiem to: ...wyświetla je na diodach bit po bicie. Czy mam to rozumieć tak, że diod jest 8 i każda odpowiada jednemu bitowi bajtu? Czy jak już bit został ustawiony na porcie, to ma tam pozostać do zakończenia wyświetlenia całego bajtu? Czy przez te 50ms pomiędzy...
atmega przerwać timer atmega przerwać przerwać atmega
budowa model spalinowy uszczelniać rurka bosch katalog
kuchenka mikrofalowa kuchennka mikrofalowa
Wymiana wejścia USB w Opel Antara - krok po kroku Gdzie kupić rączkę gazu do kosiarki Wordth?