Nie wiem czy to może coś mieć do rzeczy ale konfigurujesz przerwanie na porcie Int0 na falling a potem obsługujesz przerwanie od Int1. Przy resecie jak nic nie ustawiasz to przerwania zewnętrzne są aktywne stanem niskim. Jak nie ustawiasz Int1 na falling a potem pozwalasz na przyjmowanie przerwania z Int1 to możliwe, że wciśnięcie guzika powoduje kilkakrotne...
Przede wszystkim PCINT wymaga większego nakładu programowego. Przy włączonych wielu źródłach danego przerwania PCINT trzeba analizować, który pin zgłosił przerwanie i w jaki sposób się to odbyło (które zbocze). PCINT jest niżej w hierarchii przerwań, zatem na obsługę tego przerwania trzeba czasem dłużej poczekać (w zależności od konstrukcji programu)...
Przerwania typu PCINT działają podczas zmiany stanu pinu, obojętnie czy to jest zbocze narastające czy opadające. Poprostu ma być to zmiana stanu, tak więc jeśli naciśniesz przycisk to przerwanie bedzie generowane dwa razy (w momencie naciśniećia i puszczenia). Natomiast inaczej jest w przypadku przerwań INT0 i INT1 gdzie możesz sobie wybrać kiedy ma...
Nie jestem pewien, ale wybudzanie da się chyba tylko stanem nie zboczem... doczytaj w dokumetacji:> Przed uśpieniem(procek wykonuje kod) , INT0 może być ustawione na falling , ale przed wykonaniem instrukcji SLEEP , należy zmienić sposób wyzwalania na LOW LEVEL i ... włączyć przerwania , jeśli usypiamy proca w przerwaniu. Poza tym , bit ISC01 może...
Do odczytu stanu portu służy rejestr PIN. Czyli masz źle zrealizowane warunki w funkcji przerwania.
..Wydaje się, że wszystk0o jest dobrze Po co włączasz przerwania :?:
Czy przerwania są kolejkowane i po obsłużeniu komunikacji wykona kod przypisany do drugiego przerwania, czy informacja zostanie utracona? Może się tak zdarzyć, jeśli obsługa jednego przerwania będzie na tyle długa, że w czasie jej trwania jakieś przerwanie zostanie wywołane dwa razy (lub więcej). Czy komunikacja USB będzie działać stabilnie gdy podłączę...
A więc tak : - na przyszłość podawaj pełne nazwy, łatwiej bedziesz rozumiany. ;) - zajrzałem do pdf-ów od AT90S2313 i ATtiny2313 (trudno zgadnać którego miałeś na myśli) i tak - AT90S2313 (s.18 DOC0839.pdf) ma 11 wektorów przerwania wliczając RESET, a ATtiny2313 ma ich 19 (s.43 - doc2543.pdf). Wyciągając moją słabo działającą szklaną kulę jestem w stanie...
Rodzaj przycisku jest bez wiekszego znaczenia . Algorytm : -jesli sygnal "0" nastapi przerwanie-skok do obslugi przerwania -czekaj w procedurze przerwania np. 100 mS -jesli po tym czasie sygnal jest dalej "0" to byl nacisniety przycisk -jesli "1" to byl to sygnal falszywy - zaklocenie -powrot z obslugi przerwania
Odepnij kwarca i zobacz czy dalej działa jeśli tak procesor dziala na wewnętrznym oscylatorze rc , jeśli nie to ustaw pułapki w symulatorze i sprawdz czy przerwania występują dokładnie co określiny czas .
już pisałem co zrobić ale tym razem ty nie doczytałeś chyba, więc: po pierwsze - ustaw wyzwalanie przerwania INT0 zboczem opadającym (falling) po drugie - tuż po wejściu w przerwanie wyłącz je disable INT0 ale zaraz po tym daj Enable Interrupts, żeby mógł działać Timer potem odbierz kod RC5 ustaw swój znacznik Odebrano a resztę przetwarzaj w programie...
1. Ustawienie dzielnika częstotliwości (prescallera) włącza licznik. 2. Po wystąpieniu przepełnienia licznik automatycznie liczy od zera. 3. Tak, przerwania są globalnie wyłączane na czas obsługi któregoś z nich.
Konfigurujesz WD na 256 i startujesz. Teraz jeśli chcesz by WD wybudził procesor, ale go nie zresetował to MUSISZ włączyć przerwanie od WD. W obsłudze przerwania nie musisz nic robić. Procek wroci w miejsce gdzie użyłeś SLEEP. Teraz jeśli możesz przez tę sekundę kiedy pracuje resetować WD co 200ms to nic nie trzeba robić, ale jesli coś tam dłuzej trwa...
np. Nie da się. TImer0 może zliczać tylko z pinu PD4. I to z PinD.4 a nie PortD.4 ;) Można i z PinD.0, ale nawet przerwania żadnego do tego nie ma więc trzeba by programowo. A nawet jak przerwanie by było (mowa o przerwaniach INTx) to Timer tego nie zliczy. Trzeba by programowo zwiększać zawartość licznika Timera0, ale po cholerę. Jeżeli to ma być...
Usuń <br/> z końca linka, bo przez to link nie działa. Pytanie, czy te wolne piny zostawiłeś w powietrzu. Bo one generują przerwanie, więc jeśli "dyndają", to w kółko wystawiany może być stan wysoki, który powinien po tych 304us zejść na niski, ale może nie zdążyć przez kolejne przerwania generowane przez "dyndadła". Wyobraź sobie, że to wykonuje...
"Początkowo program działa poprawnie" to nie dziwne, że na początku działa ci poprawnie a potem leci w przysłowiowe "maliny" nie potrafisz kolego jeszcze dobrze się posługiwać przerwaniami i samą konstrukcją programu - masz tak namieszane że szok w zasadzie czytając sam program to nie wiadomo dokładnie co chciałeś uzyskać pierwsza wskazówka - najpierw...
Dziękuje że nie daliście mi gotowca, przynajmniej się czegoś nauczyłem. No to gratuluję, ale niestety musisz się jeszcze nauczyć duuużo więcej, bo nadal jest źle. Multipleksowanie wyświetlacza miałeś zrealizować w procedurze obsługi przerwania a Ty zrobiłeś dokładnie odwrotnie, czyli przeniosłeś cały kod z funkcji main() do procedury obsługi przerwania,...
Proszę niech mi ktoś powie czy dobrze myślę: Gdy ustawiam Timer1 w tryb CTC = 4 (WGM13=0, WGM12=1, WGM11=0, WGM10=0) to zapis do OCR1A nie jest buforowany, czyli powinien zmieniać się natychmiast po wpisaniu do niego wartości. Timer1 wciąż zwiększa swoją wartość o 1 i gdy osiągnie ona wartość taką jak w OCR1A to wystąpi przerwanie a Timer1 zostanie...
Load Timer0 = 45 - jak sądzę oznacza nadanie wartości początkowej timerowi. Oznacza to, że powinieneś załadować tę wartość do rejestru TCNT0. Zakładam, że funkcja inicjująca BASOM inicjuje go w tryb normalny (czyli mode 0). W funkcji przerwania: - Incr A, Incr B - po prostu dodaj jeden do zmiennych A i B lub wykonaj inkrementację - If A = 305 Then ......
Akurat ważniejszy jest mały spadek napięcia, żeby stan niski pozostawał niskim również za diodą. Zrobiłem szkic pokazujący o co chodzi w tym różniczkowaniu i ANDowaniu: http://obrazki.elektroda.pl/7732349900_1... Przy zwykłym różniczkowaniu widać, że brakuje szpilki wskazującej początek impulsu pierwszego kanału. Można ją odtworzyć...
Ja osobiście nie mam problemów z przenaszalnością kodu w firmowym asemblerze Atmela, nawet pomiędzy różnymi wersjami rdzenia, gdyż są w nim wbudowane definicje pozwalającej na asemblację warunkową. Przykład - instrukcja lpm , zamiast której używam następujące makro: .macro LpmPlus #if ((__CORE_VERSION__==V2E)|...
Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
Może spróbuj w ten sposób : $crystal = 4000000 Config Pind.5 = Output 'ustawienie wyjścia na pinie który standardowo sygnalizuje przepełnienie timer-a Config Timer0 = Timer , Prescale = 1 'ustawienie timer1 dzielnik 1 On Timer0 Przerwanie_timer1 'wywołanie przerwania po przepełnieniu timera Timer0 = 145 'wartość początkowa od której timer bedzie zliczł...
Czekam na sugestie z góry dziękuje za pomoc;) Robisz totalnie złe założenie niestety. Timer sprzętowy działa bardzo dobrze i precyzyjnie. Nie może on przepełniać się w trybie normal wcześniej niż po 256 tyknięciach zegara ;) ... zatem przez złe założenia - jeszcze wyciągasz złe wnioski i nie w tym miejscu co trzeba szukasz błędu. A błąd polega na tym,...
#include <avr/signal.h> Wywal, nowa wersja gcc dla avr wymaga juz tylko <avr/interrupt.h> Zresztą, dwie poniższe funkcje w ogóle nie korzystaja z przerwań, więc możesz się pozbyć handlerów (SIGNAL(...){}) i uaktywniania przerwań (UCSRB = (1 << RXCIE) | (1 << TXCIE);) zresztą cały ten fragment jest źle. UCSRB = 1 << TXEN;//...
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...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na http://www.elektroda.pl/rtvforum/topic20... ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył"...
A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. Może tak po kolei jak twój program widnieje: 1. Jeżeli PORTB jest przeznaczony do obsługi LCD to nie konfiguruj go w ogóle w stylu jaki podałeś w pierwszym poście. Config Portb = &B11111111 : Portb = &B11111111 ===> źle!!! Może to powodowac zakłócenia...
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony jako COUNTER. Impulsy zliczane muszą być dostarczane...
Idea polega na tym, że wskaźniki krążą po buforze w tym samym kierunku, tak jakby koniec bufora połączony był z początkiem, stąd nazwa "bufor cykliczny". Po dojściu do końca bufora wskaźnik przeskakuje na jego początek. Pierwszy zawsze jest wskaźnik zapisu, za nim podąża wskaźnik odczytu. Jeżeli oba wskazują na to samo miejsce to znaczy że bufor jest...
Zobacz jak ja to zrobiłem na Mega8 http://obrazki.elektroda.pl/8838731900_1... Program jaki zastosowałem korzysta z przerwania INT0 które po naciśnięciu klawisza wyprowadza procesor ze "śpiączki" , wysyła dane na IR i usypia go ponownie.Dla mnie takie rozwiązanie jest lepsze niż chwilowe zasilanie procesora poprzez diody. Poniżej wklejam...
łatwiej się już chyba nie da. Sorki, ale ja bym raczej powiedział, że: "JUŻ GORZEJ SIĘ NIE DA :(" Co to za rozwiązanie gdzie w środku siedzi jeszcze obrzydliwy Wait !!! brrr ale żeby nie być gołosłownym, który tylko krytykuje.... Ok, panowie - widzę, że wasze zmagania spełzają na niczym, pokażę wam więc jak się powinno podchodzić do programowania....
Od początku: W pierwszym programiku zauważyłem że włączasz przerwania od odbiornika ale nie masz napisanej obsługi tego przerwania. Czy mam rację ?
Witam! Mam taki oto kod: #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 10000000UL #include <util/delay.h> char znaki[10]={48, 49, 50, 51, 52, 53, 54, 55, 56, 57}; //znaki ASCII: 0 12 3 4 5 6 7 8 9 volatile uint16_t m_sekundy_wtrysk=0, m_sekundy_obr=0, licznik_z, wynik_z; //dokładność od 0.1ms do...
Witam, Mam problem z uruchomieniem dwóch timerów. Timer0 ma obsługiwać przerwanie pochodzące z INT1 (Signal1), natomiast Timer1 (Signal0) z INT0 (ale może być odwrotnie). Każdy z timerów ma wykryć impuls PWM większy od 1,5ms i zapalić lub zgasić diodę / diody. Po wgraniu poniższego kodu, diodki migają chaotycznie, nie ma żadnej reakcji na zmianę szerokości...
Witam Napisałem sobie programik do sterowaia diodami led poprzez PWM. wszystko super chodzi, ale chciałem sobie zrobic teraz bajer, aby dany kolor utrzymywał się przez okreslona ilosc sekund. Do tego chcialbym zaprzac przerwanie np od timera T0. Niestety mimo moich wielokrotnych prob przerwanie od timera T0 nie jest nigdy wywolywane :-( a oto fragment...
Witam Od dwóch dni borykam się z pewnym problemem. Mam 2 mikrokontrolery: ATTiny2313 i AT90S2313. W tematach na elektrodzie znalazłem taki oto banalny program, odbierający znaki przez RS232 na przerwaniach, napisany dla AT90S2313: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <stdlib.h> #define...
Witam, Mam problem z obsługą przerwań zewnętrznych uC Attiny2313. Do pinów INT0 i INT1 mam podpięte przyciski i za ich pomocą chciałbym załączać diody LED. Wykorzystuję generator wewnętrzny. Napisałem program, ale w ogóle nie reaguje na przyciski. Oto on: #include <avr\io.h> #include <avr\delay.h> #include <avr\signal.h> #include <avr\interrupt.h>...
..no właśnie mam taki problem (Attiny 2313) np1. (tutaj fragment kodu) http://obrazki.elektroda.net/13_11572994... Niby działa jak przerzutnik RS, ale: wciskam PD_0(czyli do +5V) od razu zapala sie dioda(PORTB=0 czyli LED_ON), wciskam PD_1 natychmiast gaśnie dotąd jest ok. teraz zeby ustawić/zapalić diode(LED_ON) musze odczekać ok. 2s (od chwili...
Witam klopot mam z obsługą przerwania ... a mianowicie jestem początkującym programistą w języku C ... lecz ... potrzebuję by program wykrył wciśnięcie przycisku (podanie 1 logicznej , 0 logiczne robione jest poprzez rezystor podłączony do masy) i tu jest klopot ... program reaguje na przerwanie INT1 lecz 2 razy ! raz jak wcisnę przycisk a drugi raz...
Witam! Przepatrzyłem już chyba pół forum ale dalej nie znalazłem odpowiedzi na moje pytanie. Otóż chciałbym w C zaprogramować przerwanie np PCINT0 dla Attiny2313 i wywala mi błąd, że nie rozpoznaje sygnału PCINT0_vect. W nocie katalogowej to przerwanie tyczy się do pinu PB0 i tak go ustawiłem. Szukałem rozwiązania w manualu bibliotek i znalazłem, że...
Cześć Mam takie szybkie pytanie, w Attiny2313 na porcie B znajdują się piny od wewnętrznego komparatora i jednocześnie cały port służy jako wejście dla przerwań PCINT. Korzystam z komparatora i kilku wejść PCINT, czy to będzie działać ?? Czy jedno wyklucza drugie ?? Dziękuję za odpowiedzi i zainteresowanie. Pozdrawiam
Witam, mam taki problem. Napisałem program. Po naciśnięciu przycisku nr 1 zaświeca diody w kolejności 123, po wciśnięciu 2 w kolejności 321, po wciśnięciu 3 231, a po wciśnięciu przycisku nr 4 mają migać Płytka została wykonana przeze mnie. Płytka sprawdzona, jest poprawnie wykonana. Zasilanie podłączone poprawnie. Reset odciągnięty do VCC rezystorem...
Witam Chciałbym prosić bardziej doswiadczonych kolegów o schemat ideowy podłączenia mikroprzełącznika do procesora 90S2313 tak aby program reagował na przerwanie INT0 i 1. Proszę również o podpoowiedź jak programowo przygotować procesor tzn jak przygotować odpowiedni pin. Dzięki za pomoc. Pozdrawiam.
Witam! Ze względu na niedokładność funkcji waitms(); postanowiłem uruchomić licznik TC1 w ATTINY2313. Ma to być obsługa pilota (prawdopodobnie JVC). Więcej danych: - ATTINY pracuje z częstotliwością 1MHz (wewnętrzny oscylator) - TC0 jest już zajęty innymi działaniami (w czasie obsługi pilota TC0 nie musi pracować) - czas, który chcę odczekać to 14700us...
otóż napisałem program, który załącza przekaźnik podłączony pod pinb.6, kiedy na pinb.7 jest 1 logiczna. Wszystko jest ok dopóki podam 1. wtedy przekaźnik załącza się i rozłącza z jakąś częstotliwością (po prostu szybko tryka) Nawet jak podłączę np. diodę LED to też szybko mruga. Mam pytanie. Jak to wyeliminować. Oczywiście przekaźnik pod uC mam podłączony...
Witam Wszystkich! po wielu dniach walki z attiny poddaję się i zwracam do Was o pomoc. Problem bardzo podobny do tych, które się tu pojawiały, chodzi mianowicie o przerwanie zewnętrzne w attiny2313. Przeczytałem wszystkie możliwe posty na ten temat (a przynajmniej mam nadzieję, że niczego nie przeoczyłem), i niestety nie pomogły mi. Wiele forów i poradników...
Witam Kombinowałem już rożnie i nie wiem co źle napisałem że nie działa poprawnie. Powinno działać na stan niski, a w rzeczywistości działa non stop - niezależnie czy jest stan niski czy wysoki. [syntax=asm] .include "tn2313def.inc" .equ wejscia = portd .equ in_wejscia = ddrd .equ dane = portb .equ in_dane = ddrb .equ baud=9600 .equ freq = 12000000...
Napisałem programik którego zadaniem ma być zliczanie impulsów, wydawało by się trywialne. gdy przeprowadzam symulacje działania programu wszystko dziala OK. Po podłączeniu wyświetlacza i klawisza juz nie jest tak różowo. wyświetlacz wyświetla zero i po wciśnięciu przycisku (zbocze opadające) wartość nie ulega zmianie(prawie ale o tym na końcu). co...
http://obrazki.elektroda.pl/3265192600_1... Witam serdecznie. Na wstępie powiem iż jest to moja pierwsza konstrukcja jaką przedstawiam na forum i liczę na konstruktywne opinie. Podstawowe założenia projektu: 1. Zbudowanie "żarówki" (źródła światła) emitującego światło RGB oraz białe, 2. "żarówka" musi być zasilana z 230V i musi mieć...
http://obrazki.elektroda.pl/9114516200_1... Autorski projekt wyłącznika zdalnie sterowanego za pomocą pilota RC5. Cały układ kontrolowany jest za pomocą mikroprocesora z rodziny AVR, ATtiny2313. Na uwagę zasługuje zasilanie układu bezpośrednio z sieci elektroenergetycznej o napięciu 230V, zrealizowane przez zasilacz bez transformatorowy....
Witam ,napisałem program który ma odmierzyć czas lotu helikoptera (do wyczerpania bateryjki) ,niestety po 2 tygodniach utknąłem na czymś takim: $regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.0 = Output 'dioda sygnalizująca odmierzenie czasu Config Pinb.1 = Output 'buzzer mający piknąć 3 razy po odmierzeniu...
Witam. Siedzę już od jakiegoś czasu nad termostatem do podgrzewacza CWU. Wydawało mi się, ze to takie proste. Poustawiałem czasy dla opóźnień w/g pdf'a, a wyświetlacz wciąż pokazuje 55. Postanowiłem napisać wszystko od nowa i w dalszym ciągu mam "55". Naraz przyszło mi do głowy, że 55 to 0x37, a binarnie 00110111. Wciąż nie mogę znaleźć tego błędu w...
Na pewno musisz przy każdym ejściu do procedury obsługi przerwania wyjąć znak z udr, czyli in acc,udr ponieważ inaczej to przerwanie bedzie wywolywane caly czas, od momentu kiedy przyjdzie pierwszy znak. Nastepna rzecz, którą bym zmienił to użycie sei i cli. Przerwania włączaj dopiero po całkowicie zakończonej inicjalizacji. cli daj na samym początku...
Można było pokusić się o podtrzymanie samego procesora, ale n.p bateria nie wystarczyła by na długo, a nie można przecież uśpić procesora (odliczanie czasu). Też zrobiłem zegar na ATtiny2313 ale właśnie z podtrzymaniem. Po wykryciu zaniku zasilania mikrokontroler wyłącza wszystko co zbędne i zmniejsza sobie taktowanie, pozostawiając jedynie przerwania...
Do momentu wpisania na stos wszystko przebiega zgodnie z założeniami (0x0099), lecz RET powoduje skok do 0x0106. Skad wiesz, że takie adresy? 0x99 jako adres skoku do procedury wygląda podejrzanie bo instrukcje AVR są długości słowa lub dwóch a więc z założenia adres instrukcji musi być parzysty
(...) ' 5 Data 250 ' 6 Data 131 ' 7 Data 251 ' 8 Data 219 ' 9 Wstępna ocena dostępnych informacji W kodzie widzimy dwa liczniki (Liczba_ok i Liczba_nok) zadeklarowane jako zmienne typu Word, a także tablice na cyfry (Cyfra_ok i Cyfra_nok) jako typ Byte. Z punktu widzenia zakresu wartości samych liczników (od 0 do 999) nie powinno to powodować błędów...
http://obrazki.elektroda.pl/9785417500_1... Witam wszystkich Przyszedł czas aby wykorzystać przedstawiony przeze mnie w http://obrazki.elektroda.pl/6714514800_1... Sygnał start i stop jak widać na schemacie przechodzi przez tranzystor Q1 i Q2, bramki Schmitt’a i podawany jest na wejścia INT0 i INT1 procesora. Diody...
Może pokaż na początek jak jest zrobione zasilane awaryjne. Aby korzystać z przetrwania musisz: - odblokować przerwanie INT0 w rejestrze GIMSK (ustawienie bitu INT0 w stan 0) - skonfigurować kiedy ma być zgłaszane INT0 , bity konfiguracyjne ISC00,ISC01 w rejestrze MCUCR - zainicjować vektor przerwania od INT0 (jeżeli nie robi tego kompilator) - odblokować...
Można je alternatywnie używać jako dodatowe wyprowadzenia I/O - PA0, PA1. W wersji Tiny2313A jedno z nich może pełnić dodatkowo funkcję wejścia przerwania zewnętrznego.
Zastosowałem się do rad Kolegi Saabotaz i Piotrva. Kod wygląda tak: Cls powoduje, że procesor w ogóle nie pracuje - tzn nie reaguje na RC5 ani na zwieranie wejść ? Wolałbym nie używać Cls , bo jego brak oszczędza 13% miejsca pamięci programu
No ale serio działa ten ponieważ jak coś zmienię w efekcie zmiany koloru to widzę różnicę w działaniu lampki :) Dodano po 13 Prosiłbym o prosty przykład implementacji wykorzystania przerwania w języku C na attiny2313. Jedna dioda jeden przycisk bistabilny po naciśnięciu raz dioda się zapala po nacisnieciu kolejny dioda miga i kolejny dioda powoli wygasa.
Witam , mam kawalek kodu i zauwazylem , ze w symulatorze programu nie wykonuje mi przerwania na timer1 , timer0 dziala bardzo dobrze i symulator go symuluje . Oto programik $regfile = "attiny2313.dat" $crystal = 8000000 Config Portb = Output Config Portd = &B1111000 Dim Adres As Word , Adh As Byte , Adl As Byte , T1pom As Byte Dim I As Byte , T As Byte...
Napisz tak: Dim Zmienna As Byte Zmienna = 0 Config Intx = Low Level | Rising | Falling [ | Change ] 'Konfiguracja reakcji na sygnał przerwania 'za x podstaw nr przerwania wybierz jeden ze sposobów pobudzenia kocówki uC Enable Interrupts 'Uruchomienie przerwań globalnych Enable Intx 'Uruchomienie przerwania INTx On Intx Obsluga_przerwania 'wskazanie...
W tym problem, że warunek może jest sprawdzany ale wykonanie przerwania zmienia zmienną c ale nie jest ona brana pod uwagę przy wykonywaniu pętli while. Sam program główny działa prawidłowo, przerwanie przerywa działanie programu głównego ale wykonanie programu przerwania nie wpływa na wyokonywania odpowiedniego fragmentu programu głównego. Chodzi mi...
Witam, Kilka uwag: 1. nie skonfigurowałeś trybu pracy timerów (rejestry TCCRxA, TCCRxB) Po resecie timery pracują w trybie "Normal", natomiast w twoim przypadku znacznie lepszy byłby tryb "CTC" 2. ustawiłeś prescaler a 1 a nie na 1024 3. brak zachowania stanu PSW i rejestrów w przerwaniach. W twoim konkretnym przykładzie nie spowoduje to błędu ale już...
attiny2313 przerwania flagi przerwania attiny przerwania
spawarki inwerter odzyskać hasło telefonu termistor zamiast potencjometr
czyszczenie laptopa sprężarka dwutłokowa
Laptop włączony, diody świecą na niebiesko, ekran czarny Jak zmienić numer tabeli kodów w kasecie KDC3905?