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...
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...
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...
Nie mogę zrozumieć, czym się różnią oba przerwania. Wg datashitu INT to External interrupt, a PCINT to Pin Change Interrupt. Czyli zarówno jedno jak i drugie wygeneruje przerwanie, jak pojawi się stan wysoki/niski. Na czym więc w praktyce polega różnica?
Mam problem z przerwaniami, a konkretnie na linii INT0. Program wyglada tak: main() { while (1) { ........ ........ } przerwanie() interrupt 0 usiing 1 { //podprogram przerwania } I teraz pytanie. Czy jak uzyje switcha na porcie P3.2 (to jest linia INT0),a przerwanie jest skonfigurowane, ze ma reagowac na zbocze opadajace, to czy po puszczeniu swicza...
Witam mam pewnie dla większości forumowiczów banalne pytanie ale jakoś poradzić sobie z tym nie moge.. Musze napisać program w Keil-u który wykorzystuje przerwania zewnętrzne INT0 i INT1, jak nazywa sie funkcje do których program skacze po wywołaniu tego przerwania? czy może jest to robione jakoś inaczej? Druga sprawa jak zrobić wstawkę w asemblerze...
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, 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...
To ciekawe bo na 31 stronie tejże dokumentacji: http://www.atmel.com/dyn/resources/prod_... Jest tabelka... wg. procek reaguje na INT1 a także na przerwania PCINT Zresztą na przerwania od INT1 na pewno reaguje bo sam to przed chwilą sprawdziłem.
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...
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...
Witam! Zrobiłem prosty projekt wysokościomierza ciśnieniowego. Wszystko działa w jak najlepszym porządku. Teraz muszę go przekonwertować aby działał na mniejszej płytce zasilanej z baterii. Z tego powodu postanowiłem użyć funkcji sleep i przerwań. Program ma działać tak: - w funkcji setup następuje inicjalizacja karty i czujnika, jeśli wszystko działa,...
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ś...
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...
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...
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...
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
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...
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/...
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...
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...
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ś...
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ć...
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...
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...
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...
...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...
Wpisywanie $CRYSTAL bez rzeczywistej zmiany taktowania procesora będzie powodować, że wszelkie opóźnienia i obliczenia kompilatora dotyczące liczników nie będą zgodne ze stanem faktycznym. GETRC5() korzysta aktywnie z licznika TIMER0. Tak manewruje wartością wpisaną do rejestru licznika oraz preskalerem by otrzymać jednakowe odcinki czasu zliczane później...
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...
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.
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...
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....
Się tu kolega (at)jacekcz chyba zapędził. Ten uC ma 64B SRAM i 1KB FLASH. To co tu się "próbuje dziać" to to, że Pomiary ADC są robione w przerwaniu co czas okreslony Watchdogiem, ale to rozwiązanie od razu wybudza też uC z głębokiego snu POWERDOWN (jeśli w nim był) i tylko Watchdog, PCINT albo LOW_LEVEL może uC z tego wybudzić uC. Tak więc po co dokładać...
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...
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];...
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, 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...
Kamyczku - lepiej już zamilknij, bo pogrążasz się każdym zdaniem Nie życzę sobie takich zwrotów.... W ciągu sekundy jak się postarasz naciśniesz przycisk 4 razy więc 46 razy wykonasz to sprawdzenie bezsensownie . W pcint przerwanie wykona się 4 razy i wykona to te same dwa cykle . Plus cykle które wykonuje mikrokontroler przy skoku i powrocie z przerwania...
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...
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...
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...
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...
: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...
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...
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...
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....
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 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...
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ć...
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 „...
przerwania pcint przerwania pcint atmega przerwania pcint attiny
centralny zamek bloker trzaski optyku mercedes zablokowana
gniazdo optyczne gniazdo optyczne
Siemens suszarka – nie działa przedni wentylator, usterka, diagnostyka, iQ500, iQ700 Kabel HDMI do Chromecast 4K - czy jest potrzebny?