Poczytaj jak działa PCINT - to nie są oddzielne przerwania, ale grupa przerwań. Zajrzyj do noty katalogowej procesora - powinny zainteresować Cię hasła: PCMSK1, PCINT1
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...
Udało się, działa. Przyczyna - jak się okazało to nie up Atmega169 a Atmega169PA, do tej pory myślałem że litery na końcu up PA ,A to mało znaczące jak w Atmega8 i Atmega8A; a w przypadku Atmega169PA różnią się rozmieszczenie bitów w rejestrze EIMSK i EIFR odpowiedzialnym za przerwania na pinach PCINT. Opisuje to pdf [url=http://ww1.microchip.com/downloads/...
Dzięki za błyskawiczną odpowiedź i za rozjaśnienie pewnych kwestii. Attiny13 nie należy do grupy/rodziny Attiny25/45/85. Tak, masz rację. Pisanie o północy może być przyczyną różnych dziwnych pomyłek. Najpierw sprecyzuj, do których interruptów referujesz i masz zamiar je wykorzystać. Czy są to INT0 i INT1, czy też chcesz użyć któreś z PCINT. W programie...
Panowie, dziękuję Wam za dotychczasową pomoc. To co z Waszą pomocą zrobiłem wcześniej w zupełności wystarczyło. Teraz korzystając z wolnej chwili pobawię się tym tematem jeszcze trochę. Wydaje mi się, że nie spełniasz warunku, że przerwania mają być generowane przy każdej zmianie sygnału A i B przerwania w AVR od PCINT nie mają za wiele rejestrów do...
Te procesory się aż tak nie różnią. Dodatkowe funkcjonalności pinów nie przeszkadzają w niczym dopóki ich nie uruchomisz. (PCINT - Pin Change Interrupt trzeba wiedzieć jak włączyć). Jest duża różnica jeśli chodzi o Timery właśnie. Mega8 ma na przykład tylko jeden rejestr Compare dla Timer2 dlatego inaczej się nazywają. Opisałem to u siebie na stronie...
Witam! Staram się rozgryźć dlaczego coś co nie ma prawa działać działa :) obsługa klawisza na przerwaniach Klawisz podłączony do portu PCINT przerwania: [syntax=c] #define _TICK_TIME (1000/((F_CPU / 64) / 256)) #define _DEBOUNCE 20 #define _DEBOUNCE_TICKS (_DEBOUNCE / _TICK_TIME) ISR(TIMER0_OVF_vect) { //przerwanie overflow timera dzielnik 64 (jak widać...
Wszystko się kompiluje bez komunikatów, te definicje są da mnie aby kod programu był dla mnie przejrzystszy. Dodano po 1 Zaczeły działać mi przerwania, lecz gdy nacisnę przycisk dioda nie miga tylko sie raz zapala. Jak wykonać, żeby migała póki trzymam przycisk w przerwaniu? [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include...
Przy "napieciu" powinno działać normalnie na krótkich przerwaniach. Weź tez poprawkę na to, że wentylator będzie miał inna prędkość stojąc w pionie a leżąc na płasko. Powinen działać normalnie i działa jak stosuje przerwanie INTx na PCINT są różnice rzedu 20%. A co do PWM - jeśli to 3 pinowy wentylator, to sterując od strony masy będziesz miał wyniki...
Jednym słowem pcint to nie to samo co int0 ;) A dla potomnych int 0 w m2560 pin43 i o ile się nie mylę to to zabrakło opisu że program jest napisany w Bascomie ... Popraw temat zgodnie z normami ;)
Ten pomysł z takim wykorzytaniem diod wydaje mi się bardzo mało szczęśliwy - tym bardziej, że nie będziesz miał na procku 0V tylko tyle co na spadku napięcia na diodzie a w tym momencie na wejście portu będzie podawane dla procka niższe napięcie niż jego GND ... Diody to można byłoby próbować zastosować do wybudzania procka ze stanu uśpienia którymś...
Ok dziękuję za rady. No jest tak jak napisał mirekk36 - wybudzanie INTx działa tylko na poziom niski. Jako że chciałem mieć wybudzanie dowolna zmianą to zrobiłem wybudzanie poprzez przerwanie PCINT i zgodnie z dokumentacją działa :)
Jeden przykład pewnie będzie tu wart więcej niż tysiąc słów :-) Pisałeś, że chcesz skonfigurować przerwanie PCINT4. Uważam, że powinno to wyglądać tak: Pcmsk0 = &B0001_0000 'odblokuj PCINT4 On Pcint0 Test 'przerwanie ==> skocz do procedury test Enable Pcint0 'włącz przerwanie od PCINT0...PCINT7 Enable Interrupts Okazało się, że powyższy kod działa...
Witam, Nie będzie działać poprawnie po popełniłeś jeszcze jeden błąd. Do momentu uśpienia wszystko jest ok, ale teraz następuje zmiana na porcie C, uP wstaje z uśpienia wykonywanie jest przerwanie pcint i teraz następuje powrót z przerwania. Powrót wykonywany jest jest nie do instrukcji SLEEP jak założyłeś a do pierwszej instrukcji po niej. Czyli następuje...
Program na ArduinoMega działa bardzo dobrze, więc postanowiłem przenieść go na procesor Atmega 328p - ten sam co w większości płytek Arduino. Układ pracuje na wewnętrznym oscylatorze 8MHz, bootloader wgrany, program też. Pojawił się niestety problem, którego nie potrafię zlikwidować - przerwanie od przycisku powoduje restart procesora... Jeżeli dodam...
Bez podciągnięcia switchy do Vcc, układ sam zapala led'a. Ale pod podciągnięciu VCC, częściowo jest dobrze. Jednakże jest ten sam problem. Kiedy nacisnę 1 raz któryś switch, to ta instrukcja wykonuje się w nieskończoność. Jak temu zaradzić? Dodano po 12 Udało mi się rozwiązać problem w następujący sposób: Po wykonaniu danej operacji, na nowo podciągam...
Witam. Od razu mówię, że działam na ATtiny2313. Chciałbym przedstawić kod, nad którym głowię się już dość długo i ciągle nie działa, kod jes banalny a jak to mówią diabeł tkwi w szczegółach, więc może ktoś z forumowiczów może mi pomóc. Kod wygląda tak: 'Program powinien (wlasnie! - powinien) pobierac sekwencje przerwan 'z odpowiednich portow...
Witam. Mi jednak chodzi jak taki układ z diodami ma być połączony i jakich diod użyć żeby działało,bo przemiatanie klawiatury mam opanowane ale niechce jej ciągle skanować.FDodam że robie to na ATmedze8.czy tak może być ?? http://obrazki.elektroda.net/75_11882443... Widze danielbela że wykorzystujesz atmege 16 więc można tam wykorzystać przerwania...
...A może ktoś z forum już bawił się na 168 tymi przerwaniami w praktyce i podzieli się wiadomościami czy działają?. Wprawdzie help milczy w temacie PCIEx , to wystarczy popatrzeć na sekcję w pliku *.dat interesującego na procka i już wiadomo co i jak ;) m88def.dat [INTLIST] count=25 INTname1=INT0,$002,EIMSK.INT0,EIFR.INTF0 INTname2=INT1,$004,EIMSK.INT1,EIFR.INTF1...
1. oczywiście że ATmega obsługuje przerwania na każdy rodzaj zbocza a także na poziom ;) (na pewno!) 2. Przerwania INT0 i INT1 to standardowe i opisane oddzielne dwa przerwania hmmm mają można tak ogólnie powiedzieć więcej opcji działania ;) Natomiast przerwania PCINTx mogą być wygenerowane przez wybrane piny danego AVRka, przeważnie to jest jakiś...
Jeśli Attiny ma działać jako proxy pomiędzy enkoderem, a radiem, to zrobiłbym to na przerwaniach. Tak, jak TMF pisał, to parę linijek kodu. [syntax=c]#include <avr/interrupt.h> int main(void) { DDRB |= (1<<PB3)|(1<<PB4); // set as outputs PORTB |= (1<<PB0)|(1<<PB1); // pull-up resistors proxy(); // set initial values before...
Rozumiem co piszecie ale działać nie chce :-( Jak sprawdzam port na którym jest przerwanie tak ordynarnie IF ... THEN ... to mam sygnał 1Hz. Jak włączam przerwania to nic się nie dzieje i nieważne czy PortD.6 jest Input czy nie i czy jest ustawiony na 1 czy nie.
Można pewnie ustawić jakiś Event, ale najprościej jest ustawić na pinach enkodera PinChangeInterrupt. Ten na filmie działa w oparciu o PCINT na obydwu pinach. To zwykła Mega644P więc musi liczyć na piechotę, ale w Xmega czytałbym własnie to co Ty teraz. Kolego Dasej ten kod reagujący na tylko jedną zmianę jest dobry do kręcenia się po jakimś menu. Nie...
Jestem na O0, breakpointy mam w pierwszych liniach main, program działa tak: Przede wszystkim przejdź do widoku asemblera i tam zobacz jak wygląda wykonywanie programu. Breakpointy też postaw na instrukcjach asemblera, przed main. Czasami informacje o debugowaniu, pomiędzy C a asemblerem się rozjeżdżają, chociaż dla O0 nie powinno mieć to miejsca....
Witam! Napisałem na szybko taki oto kod: ;Cała Ramka w R26:R27 .include "tn13adef.inc" .cseg .org 0 rjmp Init .org 2 rjmp PCINT .org 10 Init: cli ldi r16,ramend out spl,r16 ;Stos ldi r16,32 out GIMSK,r16 ldi r16,1 out PCMSK,r16 ;Ustawienie Przerwania PCINT0 sbi ddrb,pb2 sbi ddrb,pb1 sbi portb,pb2 cbi portb,pb1 sei Main: ;Pętla...
Schemat dla fazowego jest nieco inny i prawdę mówiąc nawet go nie rysowałem. Po prostu dorobiłem dodatkowy mały układzik detekcji zera na mostku dwóch rezystorach 100k i transoptorze, podłączyłem to do jednego z wolnych pinów i w programie badam przerwanie od PCINT (końcówki od INTO i INT1 mam już zajęte) z programowym podziałem przez 2 (PCINT reaguje...
W jaki sposób? Wystąpi przerwanie, wykona się, timery wysteruja ledy. Po zakończeniu cyklu z led procek zaśnie na dobre, niby jak ma działać pętla? Linia czujnika jest w stanie niskim, a przerwanie od zbocza. Odpowiedz tyczyla awarii czujnika, kiedy to nie bedzie zbocza opadajacego. Napisałeś: A przy twoim rozwiazaniu? Nie ma opadajacego zbocza, petla...
Witam. Byłem zmuszony wykożystać programowy UART w ATtinny13 i podczas moich prac okazało się że najwyrażniej autorzy (budowniczowie) Bascoma zapomnieli napisać procedury buforowania transmisji programowego UARTa O niczym nie zapomnieli , bo taka jest filozofia programowego UART-a. Odbiera i/lub wysyła dane tylko w tym momencie , kiedy programista...
Oczywiście że procesor z dwoma portami UART może spokojnie obsłużyć/używać ESP i BT. Właśnie pisałem taki program połączony z dedykowana aplikacją na Android przez Wifi albo BT. Kwestia jest raczej w tym by od razu mieć projekt/schemat co z czym będzie połączone a nie najpierw pisać program a potem dopiero się drapać w głowę jak to połączyć. Chyba że...
https://obrazki.elektroda.pl/2143173200_... W Loop mam w uproszczeniu taki kod : Takie opisy są guzik warte. Podaje się kod: includy, inicjacje i użycie. Jeśli kompilator wyrzuca jakieś błędy to wkleja się cały komunikat. na atmega8 softserial nie działa Nie wiem czy na arduino jest jakiś lib który nie korzysta z przerwań PCINT, może...
Witam! Ustawiłem wiele przerwań w apce, wszystko smiaga PCINT-a nie mogę. Przeczytalem datashita o tym 20 razy wszystko wygląda ok a nie rzuca przerwania. inicjalizacja: [syntax=c]DDRC &= ~(1 << PC7); //pc7 as input (PCINT15) PCMSK1 |= (1 << PCINT15); // port PCINT15 PCICR |= (1 << PCIE0); [/syntax] obsluga przerwania - czyli na...
Witam, Chce uruchomić przerwanie PCINT0, z tego, co zrozumiałem, z datasheeta to muszę ustawić odpowiedni bit w rejestrze PCMSK, bit PCIE w GIMSK. Nie znalazłem żadnej konfiguracji przerwań PCINT, ale z tego, co wyczytałem to one działają tylko na zmianę stanu na odpowiednim pinie. Do pinu z PCINT0 podłączyłem przycisk zwierany do masy. Jednak, gdy...
hmmm rezystor 1M pobiera mniej prądu niż wewnętrzny pull up dlatego w układach zasilanych z baterii stosuje się je wszędzie gdzie się da aby przedłużyć żywotność baterii co do wyjścia mój błąd z pospiechu i przepracowania napisałem wyjście zamiast wejście :lol: co do podwójnego przerwania: ja wyłączam przerwanie odczytuje stan portu i włączam ponownie...
Każde wduszenie przycisku wygeneruje kilka/naście/dziesiąt odbić i tyle samo wywołań procedury obsługi przerwania. Warto by je doliczyć do rachunku. Ale nawet bez ich uwględnienia: Owszem ale tylko w przypadku ,kiedy nie zablokujesz przerwania pcint na czas drgania styków . Tak samo stanie się w przypadku odpytywania też musisz wykonać procedurę związaną...
Cykliczne wybudzanie nie sprawdzi się w tym temacie. Przycisk wybudzajacy może zmienić swój stan w dowolnej chwili i wybudzenie musi nastąpić natychmiast, więc w zasadzie musiałbym go wybudzać co 50ms. To bardzo często. R Dodano po 6 Też trochę się obawiam tak słabego podciągania, choć jest tam jeszcze kondensator 1n do masy...niemniej jednak chyba...
Przerwania procesora działają w procesorach AVR na takiej zasadzie, że (pomijając inne operacje) po wystąpieniu danego przerwania ( podczas obsługi przez procesor ) następuje zapamiętanie rozkazu następnego, który byłby wykonany, gdyby procesor nie przyjął przerwania (jego adresu w pamięci flash) i skok pod jeden z adresów z samego początku pamięci...
Trochę dziwnie robisz to sterowanie fazowe. Powinno się zrobić programowy licznik o stałym okresie 10ms resetowany sygnałem synchronizacji z siecią i zmienną porównującą stan licznika, która będzie określać jakie odcinki sinusoidy przepuszcza triak. Wygląda to tak: // ========================================... // GENERATOR PWM DLA TRIAKA...
Witam, Piszę program na ATtiny13A, aby działał jak licznik mod 4 (piny PB0 i PB1), zmiana wyzwalana zboczem opadającym na PB3. Rozwiązanie opiera się na przerwaniach. PCINT3 to obsługa "przycisku" -> naciśnięcie powoduje uruchomienie timera (ustawienie adekwatnego przerwania). Obsługa przerwania timera zwiększa licznik przepełnień - po ok2 sek wyłącza...
:arrow: robię mały projekt: jeden słupek potrójnej sygnalizacji świetlnej, z przyciskiem, który będzie służył do zmiany długości cyklu świateł (jeden z pięciu predefiniowanych). :arrow: na chwilę obecną mam działające światełka, dodałem przerwanie przycisku (będąc świadomym jego prymitywności/braku poprawności działania), teraz chciałem dodać timer...
https://obrazki.elektroda.pl/5092109900_... Witam, Odkąd w moim aucie pojawił się pilot do bramy wjazdowej na posesje nie chciałem aby leżał on gdzieś na wierzchu albo żebym musiał go szukać w czeluściach jakiegoś schowka. Postanowiłem więc, że zintegruje go z autem, jednakże nie chciałem dodawać żadnych nowych przycisków, tylko użyć...
To jest w PCint.h #include "pins_arduino.h" volatile uint8_t *port_to_pcmask[] = { &PCMSK0, &PCMSK1, &PCMSK2 }; static int PCintMode[24]; typedef void (*voidFuncPtr)(void); volatile static voidFuncPtr PCintFunc[24] = { NULL }; volatile static uint8_t PCintLast[3];...
Witam Czy jest możliwe wywzolenie zewnętrznego przerwania na zbocze opadające/narastające na porcie innym niż INT0/INT1? Jeśli tak to jak? W dokumentacji doczytałem się że wyzwolenie przerwania na zbocze opadające/narastające jest możliwe tylko na INT0/INT1 natomiast wyzwolenie przerwań na innych portach PCINTX działa na zasadzie wykrycia zmiany na...
https://obrazki.elektroda.pl/8691272400_... Witam, poniższy mini-projekt powstał z inspiracji Część elektroniczna Urządzenie bazuje na dwóch PCB (4x wyświetlacz LED + płyta główna) połączonych ze sobą taśmą flex z jakiejś drukarki. Wyświetlacze to wylutowane z czegoś 7-segmentowe pojedyńcze kostki ze wspólną anodą i czerwonym filtrem...
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...
2. Och te upały - oczywiście ustawia, a nie zapamiętuje :) 1. W teście powyżej INT0 nie ma włączonej obsługi przerwań (fragment jest zakomentowany), ale dla testów funkcję obsługi przerwania zostawiłem. Oba przerwania mają na swoich pinach włączone pull-up więc operowanie nimi odbywa się przez podanie stanu niskiego na pin, czyli przez zwarcie do masy....
Witam Próbuję napisać obsługę pilota, który używa kodowania [url=http://www.ustr.net/infrared/nec.sh... Następnie chcę przesłać kod na okno terminala za pomocą USART. Próbuję to realizować bez użycia funkcji typu delay_ms(), zamiast tego chcę użyć przerwań. Idea jest taka, że po pojawieniu się pierwszego zbocza od odbiornika podczerwieni, wywoływane...
Witam Forumowiczów, Mam problem z ogarnięciem tematu wywoływania przerwań. Nie jest to problem jak je wywołać ale jak je okiełznać ;-) Wygląda to tak: Jest układ na Mega644PA-AU. Po I2C współpracuje z zegarkiem PCF8583, oprócz tego linia przerwania z PCF podłączona jest do portu D6 procka. Klawiatura zrealizowana jest na przetworniku ADC (port A0) i...
Kolego dondu: deklaracja zmiennej licznik: unsigned long int licznik=0;//zmienna globalna licznik Fuse bity ustawione prawidłowo (temat wałkowany setki razy).Zegar definiowałem początkowo w ustawieniach konfiguracyjnych AVR Studio, później gdy zaczęły się problemy przez #define F_CPU. Do mirekk36: Timer sprzętowy działa bardzo dobrze i precyzyjnie....
Dodam że alias Sprzeglo oznacza port PC5 Atmegi 328 która nie ma tam wyjść OC (ma tylko ADC5/SCL/PCINT13). Reszta kodu nie ma nic wspólnego z przerwaniami. Jest wyświetlacz lcd, przyciski i diody. Działające w pętli głównej. Zresztą wszystko pozostałe jest wykomentowane a załączony kod można uważać za kompletny. Dodano po 4 Czy masz coś konkretnego...
Aktualnie programuje w IDE, więc jeśli dobrze rozumiem, to przerwanie na 1 pinie ATtiny85, które będzie się aktywowało przy przejściu ze stanu niskiego w wysoki, będzie wyglądało tak : Nie, nie będzie....(!) Zauważ ze Attiny 85 nie posiada interruptu INT1; ma tylko INT0 na pinie 7 (po przemapowaniu w arduino jest to pin 2). Referujesz dalej „...
Mianowicie piny które wykorzystuje komparator są u mnie na stałe wykorzystywane jako wejścia komparatora, dodatkowo jeszcze pod 2 piny portu B mam podłączone przyciski i uaktywnione na nich przerwania (rejestr PCMSK - chyba), i nie wykonuje się przerwanie od AC ani od PCINTxx, oba są głuche a uprzednio gdy wykorzystywałem sam AC to wszystko działało....
Ależ wszystko działa - timer również ;) A to Twój kod , trochę ... zmieniony. .include "tn13def.inc" ;//-----Definicje linii-------------------------------- .EQU WYJSCIE = PB2 .EQU Port_DDR_ini = 0b00000100 ;// Wartosc inicjujaca kierunek danych na porcie .EQU PORT_OUT_ini = 0b00000000 ;//Ustawienie wartosci logicznych portow ;.EQU Idle =...
W projekcie założyłem sobie dwa przerwania z dwóch timerów. Jedno (nazwijmy je A) wywoływane często i krytyczne czasowo (przerwanie musi być obsłużone jak najszybciej po jego pojawieniu się), trwające tylko kilkanaście cykli. Drugie (B) mniej krytyczne (właściwie w ogóle nie krytyczne), wołane rzadziej, trwające kilkaset cykli. Główna pętla programu...
https://obrazki.elektroda.pl/5571526000_... Tłumik 3221-1 to leciwa lecz pomysłowa konstrukcja służąca do regulacji tłumienia sygnału w.cz w 5 bitowym zakresie 0-31db. Największą zaletą modułu jest pamiętanie ostatnio ustawionego tłumienia za sprawą zatrzaskiwanych przekaźników. W związku z powyższym aż prosi się by rozwiązanie takie...
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...
Witam! Mam problem ze zrozumieniem działania zewnętrznych przerwań w mikrokontrolerach atmega (avr). Dla przykładu posłużmy się konkretnym osobnikiem - Atmega48. W specyfikacji http://www.atmel.com/dyn/products/produc... (strona 64) wyróżniają dwa przerwania INT0 i INT1 i dodatkowo 24 - PCINT23..0. Te 24 przerwania są podzielone...
A wracając do 2 pytania - jak działają te przerwania PCINT ? Czy można dokłądnie zastąpić przerwania INT tymi przerwaniami ? Raczej tak nie jest bo producent by zrezygnował z przerwań INT bo byłyby niepotrzebne.
http://obrazki.elektroda.pl/2475395200_1... Cześć! Pewnie część czytelników jest już znużona ilością tematów o zegarach nixie, ale nic nie poradzę na to, że ja także poddałem się magii tych cudownych wyświetlaczy minionej epoki. ;) Mogę tylko uspokoić, że jest to moja autorska konstrukcja, a nie kalka istniejącego projektu. Zdaję sobie...
Zaczęło działać poprawnie. Niedopatrzenie z mojej strony, że PCINT0 i INT0 to różne przerwania. Dla pełności tematu. Jak skorzystać z PCINT? Szukałem w manualu i jakieś przykłady w sieci ale nie znalazłem nic czytelnego.
Hej, z ciekawości zajrzałem do kodu nadajnika i wydaje mi się, że znalazłem małego robaka. Otóż, uruchomiłeś przerwanie zewnętrzne dla zmiany stanu wejść PCINTx celem wybudzenia kontrolera z trybu uśpienia, a konkretnie z głębokiego trybu Power Down. Jednak w kodzie brak jest procedury obsługującej to przerwanie. Wystarczy że pod adresem wektora przerwania...
// inicjacja /.../ // koniec inicjacji Proponuję sprawdzić w słowniku co oznacza inicjacja ;) //odblokowani wybur przerwania pcinto //wybur zrudla pcint Co za styl :!: Nic dziwnego, że program nie chce działać :!:
Witam Zacząłem nowy miniprojekt i wyszło, że najlepiej byłoby użyć dwóch linii PWM. Ponieważ mam pod ręką sporo ATTiny13, postanowiłem wykorzystać ten typ. W dokumantacji napisano i to chyba nawet kilka razy, że ATTiny13 posiada dwa niezależne komparatory. No to napisałem: #include <avr/io.h> #include <stdint.h> #include <avr/interrupt.h>...
ATMega8 nie posiada przerwań PCINTx (SIG_PIN_CHANGE X ) które teoretycznie można by wykorzystać. Lepiej połączyć linię RXD z wyprowadzeniem INT0 (lub INT1) i tak skonfigurować przerwania by wykrywało zbocze opadające - bit startu. Jak wykryje zbocze to przerwanie trzeba zablokować, przekazać działanie do modułu USART, który pobierze nadchodzące znaki,...
Szukałem ale nie spełniały moich oczekiwań - chciałem zeby było na przerwaniu i sprawdzało klik, podwójny klik, i dlugi klik - mozna sobie dodac super dlugi klik, ale akurat tego nie potrzebowałem Oparte na 8 bitowym timerze - trzeba sobie tylko dla własnych potrzeb ustawic prescaler (ja w definicji "wpisalem go na pałe") no i oczywiście port na którym...
Po pierwsze...nie ma takiego przerwania PCINT w ATtiny. Konfigurujesz to w zupełnie inny sposób (BOTHEDGES). Po drugie z założenia nie patrzę na kody Arduino, gdyż nie jest to jakikolwiek rezerwuar jakichkolwiek rozwiązań. Z resztą nie w tym problem. Popełniam jakiś błąd programowy a nie koncepcyjny, gdyż zawsze działało to dobrze... R
INT0 mam zajęte przez układ odbioru podczerwieni (TSOP). Muszę działać na wymienonycc portach E (PCINT6/PE6 i PCINT7/PE7). O tą odpowiednią obsługę programową pytam, bo czegoś widocznie zapominam skoro kod podany w pierwszym poście nie działa.
http://obrazki.elektroda.pl/4301568800_1... Autor poniższej konstrukcji przedstawiał już podobny układ - miniaturowy zegarek oparty o ATtiny ( Krok 1: Przygotowania http://obrazki.elektroda.pl/4194769400_1... Mikrokontroler Układ oparty jest o mikrokontrolery AVR firmy Atmel ATtiny85. Autor wykorzystał element w obudowie...
Dzięki wielkie !! Pomogło , aczkolwiek nie rozumiem dlaczego bez tego też czasem działało zależnie od kolejności wpisów ? Teraz działa OK bez względu na kolejność wpisów, i reszty (czyli początku programu w którym pewnie jest mnóstwo innych błędów :-) ) [syntax=vbnet] $regfile = "m2560def.dat" ' specify the used micro $crystal = 16000000 ' used crystal...
Witam. Piszę mały program na ATetiny 13. Program ma wyglądać tak że po każdej 1 sek ma sprawdzać ilość przerwań o ile zliczanie przerwań działa to niestety gdy dodałem do tego Timer przestało cokolwiek reagować. taktowanie procka to 9,6 MHz Jak chciałem ustawić timer: tryb CTC preskaler 1024 wychodzi wtedy 9375 cyki nadal za dużo do wpisania więc po...
hmmm dowolnym przerwaniem, a jeśli ma ich być wiele np 5 albo 6 to może wykorzystać nawet przerwania PCINT Ma być ich wiele i PCINT to jedyne rozwiązanie. Tylko, czy to będzie dobrze działało? Jak by miała wyglądać procedura przerwania od PCINT? Mogę prosić jakiś kod szkieletowy? Masz tyle kanałów ile chcesz, częstotliwość spokojnie można wyciągnąć...
V-USB wymaga aby żadne przerwanie nie zajmowało więcej niż 25 cykli (12MHz wersja), co jest poza zasięgiem "Arduinowych" przerwań. herezje http://blog.petrockblock.com/2012/05/19/... // USB setup ----------------- // Disable timer0 since it can mess with the USB timing. Note that // this means some...
Jak chcesz mieć odczytany stan pinu niezależnie od wstawionych delay i działania reszty programu w pętli loop to w bibliotekach (te wbudowane - manager bibliotek i wyszukaj) znajdziesz takie do PCINT, to przerwania od zmiany stanu pinu. Niezależnie od momentu wciśnięcia przycisku ten fakt zostanie odnotowany w wybranej przez Ciebie zmiennej (pamiętaj...
Panel dotykowy z 6 diodami sterowany po i2c na ATTINY44 Poniższy materiał przedstawia próbę ugryzienia tematu krytycznych zależności czasowych w asemblerze. Zadaniem było stworzenie stabilnie działającej aplikacji która obsłuży: komunikację z procesorem nadrzędnym w trybie slave i2c sterowanie multipleksowanymi diodami z 8bitowa regulacja jasności...
http://obrazki.elektroda.pl/7861935900_1... Jest to przykładowy projekt zastosowania 16-kanałowego sterownika PWM PCA9635PW firmy NXP o 16-bitowej rozdzielczości, wbudowanego w moduł MOD-23 ( Podłączenie Sterownik PWM podłączony jest do platformy Arduino UNO przez magistralę I2C . Wyświetlacz LCD podłączony został zgodnie z biblioteką...
W sumie to już nie ważne. Napisałem własny program do tego pcb. Prośba tylko o te nazwy tranzystorów na wyjściach, bo nie bardzo orientuję się w częściach SMD. Nie wiecie po co te diody szeregowo na wejściach ?. Napisałem program i w sumie działa, tylko że strasznie nieodporny na zakłócenia i myślę, że to przez te diody. Dotknięcie kawałkiem czegoś...
Dziękuję za odpowiedzi! Gratuluję udanego projektu. Mam nadzieję że we wrześniu będę miał okazję zobaczyć je na uszach dumnej właścicielki. :D O, kto tu na elektrode zagląda :) Myślałeś nad tym aby przykryć kolczyki czymś rozpraszającym światło od strony LED'ów(matowa plexi)? Tak, ale w tej wersji jakbym to dodał byłyby już za grube Jak zrobiłeś przycisk...
(at)excray: tak dla sprostowania - kod który wrzuciłem, a dokładniej mówiąc funkcja asm, działa dla 8 kanałów (ma możliwość sprawdzenia dotyku na 8 pinach), a Twój kod na jednym, dlatego musiałbyś porównać wielkość wycinając kod tylko dla jednego kanału ;) (at)gaskoin: To co robi texas jest najbliższe temu wykrywaniu które wrzuciłem w pierwszym poście....
całość pochodzi z tej strony:https://www.electronoobs.com/eng_... żebyś mi tu po cichu nie zarzucał ze nie pokazuje kodu co do kodu Dodano po 7 A ja myślę Sławuś Ze od urodzenia Coś chyba słońce za mocno świeci. Pudło.
Sprawdzę to. A dla czego prąd przy uśpieniu jest znowu duży? Nie pomaga teraz wyłączenie adc. Próbowałem też wyłączenia przerwań, ale nic kurde nie pomaga na obniżenie poboru prądu po uśpieniu. Komenda odlicz była ustawiona na 5. Nie działało to. Gdy ustawię 50, wtedy działa 5 sekund i gaśnie czyli ok. No i w końcu, procesor startuje za każdym razem...
witam napisałem krótką procedurę odczytującą tablice w zależności od wartości 4 bitów w porcie A, ale nie wiem dlaczego nie działa :-( Adres tablicy ustawia się prawidłowo, ale do R16 nie trafia wartość z tablicy, gdzie jest błąd ? Dodano po 32 Dobra, znalazłem błąd :-) Tablica adresowana jest pod adres 0x100 ale odczytuje ten adres z SRAM a nie pamięci...
Witam. Opracowałem prosty pilot podczerwieni protokołu RC-5 na ATTiny44, z pięcioma przyciskami (Standby, Vol+/Vol-, Ch+/Ch-). Wszystko działa (nośna generowana z PWM na Timer0, wybudzanie przerwaniami na pinach, kody w pamięci programu, duże oszczędzanie energii), ale chciałbym jeszcze bardziej udoskonalić oprogramowanie. :D Mianowicie, niezbędne opóźnienia...
Witam, zrobiłem sobie płytkę małą, malutki prosty układzik na ATtiny88. Schematu nie wrzucam, bo jest bajecznie prosty i dobrze polutowany. Na pokładzie jest ATtiny88, dioda i przekaźnik z tranzystorem. Gdy wgram do mikrokontrolera taki kod: Dodano po 45 ok, już doczytałem. Te przerwania trzeba włączać w specjalnym rejestrze. Działający kod wygląda...
http://obrazki.elektroda.pl/7714387200_1... Poniższy projekt to pierwsze urządzenie zrealizowane przez autora z wykorzystaniem modułu Arduino. Układ ten służy do obróbki sygnałów MIDI tak, aby możliwe było granie w skalach mikrotonalnych, to znaczy odrobinę odstrojonych od podstawowej skali z wykorzystaniem dodatkowej funkcjonalności...
Witam Kolegów, Do tej pory obsługę enkoderów robiłem na external interrupt lecz tym razem postanowiłem zrobić obsługę 8 enkoderów na Pin Change Interrupt przy czym przy każdej nóżce enkodera jak zwykle zastosowałem układ RC (10K, 100nF)... i niestety dobrze to nie działa. Dla INT0 sprawdzałem zawsze czy druga noga enkodera (ta nie wyzwalająca przerwania)...
Temat sterowania napięciem sieciowym za pomocą triaka jest jednym z tych, które zapewne nigdy się nie skończą puki istnieć będzie sieć energetyczna oraz potrzeba włączania i regulacji napięcia odbiorników do niej podłączonych. Najbardziej znaną i najprostszą metodą regulacji mocy dostarczonej do odbiornika jest załączanie triaka sterującego w odpowiedniej...
przerwania pcint przerwania pcint atmega przerwania pcint attiny
częstotliwość skanować przycisk myszki serwis konica minolta
merkury schemat panasonic aquarea
Regulacja gaźnika w pilarce Faworyt RG 5300 18 Błąd silnika nr 21 w Mitsubishi L200 2005 - Czujnik ECT