Witam Mam mikrokontroler LPC2148 na płycie zl9arm. Ustawiam Przerwanie zew. EINT0 na P0.2 reagujące na zbocze i teraz nie zależnie czy opadające czy narastające reaguje tylko na opadające czyli zwarcie do masy (nawet jak jest ustawione na narastające), i obojętnie czy jest ustawione na narastające...
Problem z zliczaniem impulsów rozwiązany ale mam nowy problem z wyświetlaniem wyniku zdjęcia w załączniku. Pierwsza rzecz co rzuca sie w oczy to brak konfiguracji LCD; Niby to pracuje mając config ustawiony w 'Options/Compiler/LCD, ale przeniesiesz listing na inny computer i tu już...
dla pozostałych wejść masz przecież też przerwanie od dowolnej zmiany stanu na wejściach więc chyba coś można wymyślić innego niż zewnętrzna logika. Dokładnie w tym miejscu problem - w moim AtMega nie ma PCINT, więc próbuję to obejść sprzętowo. Inaczej bym się nawet nie bawił,...
Ja ostatnio używam dość często EXTI, wczoraj realizując moduł umożliwiający komunikację przez RFM22B: sygnał nIRQ wprowadzony mam na jeden pin, z którego mam przerwanie, generowanie przerwania mam tylko od zbocza opadającego i nigdy nie wyzwala mi się na zboczu narastającym (tak więc exti...
Witam, mam problem z Input capture mode w stm32vldiscovery. Mianowicie chciałbym zliczyć czas trwania impulsu na pinie PA0. Zrobiłem wszystko według instrukcji z strona 291. Wynik pomiaru wysyłam za pomocą UART. Problem jest w tym, że przy podaniu sygnału mikrokontroler zatrzaskuje mi wartość...
Niestety mój poziom programowania to na razie tylko BASCOM i to też początki. Myśle, że procesor się wyrobi jeśli odpowiednio użyje przerwań zewn. i timera(ów). Czujnik z położenia wału będzie generował przerwanie co 90° przerwanie to będzie wpisywało obliczoną wcześniej wartość...
nie mylisz się Dodano po 20 już się poprawiam, bo w temacie napisałeś ATmega8, jakoś mi to umknęło i skupiłem się tylko na tekście i pytaniach o sposobie wyzwalania przerwań. Z opisu dokumentacji jaką czytałeś poprostu domyśleć się można że chodzi o procki inne niż...
[syntax=c]MCUCR &= ~(1 << ISC00) | (1 << ISC01); //przerwanie zboczem opadającym[/syntax] to nie ustawi Ci ISC01 na 1 (co najwyżej nie zmieni) mój błąd, bo nie zauważyłem, że tu nie ma nawiasów ale tak czy siak, jeśli ISC01 będzie równe 0 to takie pozostanie. Dlaczego?...
Witam. Borykam się z problemem przerwania INT1 w procesorze Atmega88p. Otóż przerwanie raz działa poprawnie , wykrywa odpowiednie zbocze , a innym razem załącza się praktycznie losowo . Napisałem specjalnie prosty programik aby zobrazować problem . Program jest pisany w bascomie jednak...
Dopiero co kupiłem Atmega8-16PU. Chciałem napisać najprostszy program z obsługą przerwania na przycisk, na początek. Naciśnij->włacz LED. Naciśnij-> zgaś LED. Ale... dioda miga z częstotliwością ~1Hz już od startu programu. Naciśnięcie przycisku powoduje chwilowe zgaśnięcie...
czepiam się bo sformułowanie "podłaczam do masy" niewiele mi mówi... a wręcz przeciwnie - wprowadza w błąd. Rozumiem, że miałeś na myśli pulldown... ale w takim przypadku, jeśli masz podciąganie do masy i ustawione przerwanie zboczem opadającym, to powiedz mi, jak chcesz osiągnąć zejście...
Witam, mam do Was zapytanie, otoż do portu P3 mikrokontrolera 89s52 chciałbym podłączyć linie sterujące wyświetlaczem siedmiosegmentowym i na linii INT0 byłby jakiś sygnał i teraz moje pytanie, czy jak podłacze do P3.2 (INT0) sygnał wyświetlacza i sygnał z ukladu generującego przerwanie...
Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C,...
To co piszą Koledzy Twoim kodzie to sensowne konkrety. Podzielam ich zdanie na temat potrzeby zmiany koncepcji obsługi przerwania. Do Twojego przykładu idealnie pasują główne założenia "programowania przerwań" a szczególnie ta, że powinno być możliwie krótkie czasowo. Wg mnie, po obejrzeniu...
Witam wszystkich kolegów Mam prawdopodobnie dość trywialny problem. Chce zliczać impulsy na jednym z pinów uC (częstotliwość 100-200kHz) w czasie kiedy na innym pinie uC jest stan wysoki. Mój pomysł wygląda tak: Ustawiam timer w 16 bitowy tryb prosty Przerwanie wyzwalane zboczem...
Witam, Program ma na celu zmierzyć amplitude impulsu PWM, wypełnienie i częstotliwość. O ile z pomiarem wypełnienia i częstotliwośći nie mam problemu, to pomiar amplitudy nie do końca działa. Szczegóły: PWM 1 kHz. 5 < D < 95 % Na zboczu narastającym sygnału PWM uruchamiany...
Witam. Tworzę mały projekcik i natrafiłem na pewną zagwózdkę. Na początku wprowadzenie co układ ma robić i jak działać. Układ składa się z części analogowej, tzn. dwóch detektorów tonu (LM567) odpowiedzialnych za detekcję "bitów" łącza fizycznego. Chodzi o to, że rozpoznają...
Witam. Chcę zrobić układ do sterowania grzałką przepływową [3,5kW] od prysznica. Jest to stara konstrukcja składająca się z obiegu wody ciepłej, która mieszana jest z wodą zimną. Cały problem tego mechanizmu polega na tym, że regulacja temperatury wody silnie zależy od jej ciśnienia,...
Witam Niedawno zaczałem zabawe z uC i programowanie i docelowo, a może i nie ;) chciałbym zbudowac wydaje mi się prosty układ do regulacji opadania i podnoszenia ramienia. Mam dwa przyciski góra, dół. jeden potencjometr na ramieniu drugi do ustawiania zadanej wysokości na jaką ramie się...
To mam inną propozycję. Zamiast w przerwaniu wyliczać długość impulsu, uruchamiaj dwa przerwania, bez timeout'ów . Jedno na zbocze narastające, które będzie tylko wstawiało znacznik czasu rozpoczęcia (nawet w mikrosekundach) do zmiennej globalnej. Drugie na zbocze opadające, które z kolei...
Witam, Mam dziwny problem z przerwaniem zewnętrznym INT6 w mojej atmedze128. Napisałem taki oto banalny programik. #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdint.h> ISR(INT6_vect) { PO...
Witam. Procek tak się zachowuje bo nie określiłeś czy przerwanie ma być generowane przez zbocze opadające, rosnące czy przez stan niski na końcówce INT. Domyślnie wyzwalane jest stanem niskim więc wykonuje się raz za razem. Instrukcja Config INTx. Przeznaczenie: Konfiguruje.....
Komentujemy to, że używasz przestarzałego kompilatora i środowiska. Po prostu zainstaluj coś co ma mniej lat niż moje dzieci :). Skąd takie coś żeś wytrzasnął? Koledzy piotrva i Piotrus_999, ja was proszę, przeczytajcie pierwszy post w temacie, ale ZE ZROZUMIENIEM, zanim klikniecie...
mam ustawione przerwanie zewnętrzne ustawione na wyzwalanie zboczem opadającym i narastającym w funkcji obsługi przewania zapisuję sobie do bufora: void EXTI0_IRQHandler(void) { //Check if EXTI_Line0 is asserted if(EXTI_GetITStatus(EXTI_Line0... != RESET) ...
Poprawiłem tytuł na bardziej oddający problem i zgodny z regulaminem p. 3.1.15. Ponadto proszę się zapoznać z zasadami korzystania z działu: LordBlick Witajcie. Oświećcie mnie dlaczego ten program nie działa tak jak powinien. Przełączam przełącznik który pin PB1 zwiera do masy...
Witam, Używam przerwania zewnętrznego na INT0 w konfiguracji na zbocze opadające. Funkcja przerwania jest definiowana w ten sposób: [syntax=c] ISR( INT0_vect, ISR_BLOCK) { //ciało przerwania } [/syntax] Wszystko działa bardzo dobrze, oprócz jednej rzeczy. W przerwaniu wykonuje...
Szukałem już chyba wszędzie i próbowałem wszystkiego, więc ostatecznie zmuszony jestem założyć tutaj temat. Uczę się programować stmy na "rejestrach". Utknąłem przy próbie włączenia przerwań zewnętrznych na pinie PA1 (pull-up, zbocze opadające). Jeżeli chodzi o sposób testowania...
troche przeanalizowalem twoj kod i rozrysowalem go na bloki: 1. ldi r18, 8 ; -> licznik petli (lepiej bylo go zadeklarowac .def nloops =r18) 2. czekaj na zbocze opadające (!!!) <- i tu nastepuje kolejne, niepożądane wywolanie przerwania! 3. czekaj 75 ; zawiera rozkaz tst, niepotrzebny,...
Witam, napisałem program, w którym chciałem użyć przerwania do zliczania ilości naciśnięć, ale program nie działa prawidłowo, nie zlicza równomiernie, tak jakbym za jednym naciśnięciem naliczało po 2 czy 3 razy, oto kod programu: /* Program obsługujący przerwania, po naciśnięciu...
1) Dokładnie tak chciałem zrobić, czyli przerwaniem INT0 wykrycie zbocza narastającego i uruchomienie TIMER0 do obliczenia „czas” i od razu z automatu stany niskiego „czas” x 7. Czyli 4 bity poskładane w bajt synchronizacji i tym otworzyć „bramę” do odczytu...
A miejsce gdzie używasz produkcja_Wh i zuzycie_Wh ? To nie jest problem z samym przerwaniem. Musisz to przedebugować kiedy ci się to konkretnie resetuje. Na twoim miejscu porównałbym wynikowy asm jednej wersji z drugą i zaczął szukać w miejscu gdzie są różnice. Program resetuje się...
Witam Zasiadłem do BASCOMa AVR i poczyniłem zawiły ale zadowalajacy (jak na to srodowisko) soft dla atmega8, wszystko byloby ok gdyby nie mały problem z obsługą przerwania... mianowicie, na jedno z wejść tj. INT0 podaje przebieg prostokątny, okres 20ms, w aplikacji wymagane jest aby w chwili...
Nie możesz "przekierować" pinu. Przypisanie przerwania zewnętrznego jest hardwareowe. Generalnie wszystko zależeć będzie od tego jak masz skonstruowaną główną funkcję. Jeżeli stosujesz w niej co rusz jakieś opóźnienia to będzie lipa, ale jeżeli cała główna funkcja wykonuje się szybko,...
Witam. Mam problem z przerwaniami. Chcę przerwaniem INT0 uruchomić timer0 a przerwaniem INT1 go zatrzymać. Czy jest taka możliwość? 2 czujniki podpięte pod INT0/1, za pomocą których chcę zmierzyć czas przejazdu. Jeden czujnik ma wystartować zegar (bardzo dokładny przepełnienie...
Cześć. Proszę Was pomóżcie bo coś mieszam sobie i nie wiem co jest grane. Bawię się przerwaniami EXTI w uC STM32. W założeniu zbocze opadające na liniach PC0, PC1, PC2 i PC3 oraz PB5 ma wywołać przerwanie i PC0 i PC1 gasi/zapala LED1 podłączoną do PB1 natomiast PC2 i PC3 gasi zapala...
Witam serdecznie. Mam pytanie dotyczące przerwań zewnetrzych procesora Int0 Int1 at90s2313. A więc przerwanie zewnetrzne moge skonfigurować na trzy sposoby. Detekcje zera, detekcje zbocza opadającego lub detekcje zbocza rosnącego. Moje pytanie jest takie czy przy konfiguracji np zbocza rosnącego...
Witam Chciałbym na początku zaznaczyć że jestem nowicjuszem w zabawach z programowaniem :) Napisałem program w języku C# na STM32F429I-DISCO pod czujnik HC-SR04. Ogólnie muszę zmierzyć czas od podania na wyjście stanu wysokiego do stanu wysokiego na wejściu. Zrobiłem to jako InterruptPort...
Witam. Jestem początkujący w programowaniu więc proszę o wyrozumiałość. Potrzebuje program sterowania klapą (otwieranie i zamykanie dwie krańcówki góra dół i silnik lewo prawo). Chce aby jazda w gore lub w dol odbywała się w momencie zmiany stanu pewnej zmiennej zewnętrznej konkretnie...
"Kugluje" tymi zboczami, a flagę przerwania kasuje przez nie nie po "kuglowaniu". Gdzie sens, gdzie logika? A co za różnica w którym miejscu procedury obsługi przerwania skasuje tą flagę? Tak w ogole jest ona kasowana przy wejściu do procedury obsługi przerwania. Napisałem ją tak...
Koledzy próbuje zacząć naukę AT91SAM7S256 i chciałem zmienić działanie przerwań od kontrolera PIO. Bazuje się na książce Roberta Brzozy Mikrokontrolery AT91SAM7w przykładach. chciałem skonfigurować przerwanie tak aby działało przy zboczu opadającym,ale nie wiem jak. Taki kod powoduje...
Witam A nie lepiej wyzwalać przerwania zboczem, zamiast poziomem? Przykładowo: CONFIG INT1 = RISING 'reakcja na zbocze rosnące CONFIG INT1 = FALLING 'reakcja na zbocze opadające Wtedy procesor obsłuży przerwanie tylko raz po znianie stanu INT1 z wysokiego na niski (jeśli skorzystasz...
Witam w funkcji obsługi przerwania ISR(PORTC_INT0_vect){.... chce zablokowań kolejne wywołanie tego przerwania, ale nie mogę i proszę o pomoc kolegów bardziej doświadczonych. Konfigurację przerwania zrobiłem tak: [syntax=c] PORTC.DIRCLR = PIN4_b...
Witam, W chwili obecnej pracuje nad termometrem, sterowanym na pilota. Pilot wysyła dane w kodzie RC5. Wysłane dane trafiają na odbiornik podczerwieni TSOP31236 (36kHz). W momencie gdy dane nie docierają na wyjściu odbiornika jest stan wysoki, gdy odbierze jakiś sygnał na wyjściu jest poziom...
To jest tak: Config Int0 = P3.2 ' Ustawienie przerwania zewnętrznego na pin P3.2 Reset Tcon.0 ' Przerwanie wywoła stan niski Set Tcon.0 ' Przerwanie wywola opadające zbocze (z H do L) To samo z Int1 To tyle pozdrowienia.
Witam! Oczywiście (INT1)PD3 noga 7- deklaracja " ldi A,$80 out GIMSK,A" mozliwosc generowanie przerwania przez urządzenie zewnętrzne . ldi A,$08 out mcucr,A deklaracja wyzwolenia zboczem opadającym dla sygnalu INT 1. Co do schematu to do nogi nr 7 PD3 (konfigurowane jako wejscie ) podłączony...
Witam, Od razu pisze że nie jestem mistrzem w pisaniu programów, a z stm zaczynam swoją przygodę. Chce wyłączyć przerwanie od EXTI na przykład po obsłudze tego przerwania: Do wyłączenie/wyłączenia przerwania np. od Timera jest TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); //TIM...
Witam. Mam problem z panelem dotykowym, a dokładniej z sygnałem TIRQ. Wyświetlacz 2,8 '' ze sterownikiem ILI9325 Panel dotykowy ze sterownikiem XPT2046 Dotyk podpięty do SPI na porcie C. Połączenie 1-1 bez pull-up'ow, rezystorów w linii i kondensatorów. pin 2 na porcie C dostaje sygnał...
Oczywiście. ICP może być wyzwalany zboczem. Wybierasz zbocze opadające/narastające i masz przechwycony moment zmiany stanu. Ponieważ zbocza muszą występować naprzemiennie, więc łatwo policzyć z tego wypełnienie i okres. Przerwanie OVF w tym przypadku służy np. do detekcji zaniku sygnału...
- Podobne rozwiązanie jest często stosowane. Mianowicie linie, które mają być podpięte do jednego wejścia dołącza się na wejścia bramki AND a jej wyjście na wejście przerwania. Dodatkowo te linie dołącza się na linie portów skonfigurowanych jako wejścia. To przypadek gdy interesuje...
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ć...
Chcę zrobić licznik prędkości do motoroweru simson(generalny remont). Nie mogłem się powstrzyamć od działania;) napisałem taki oto programik. Jednak zmienna wynik strasznie się waha od wartości 5 do 237. Pomiar robię na wiatraku z komputera, przypuszczam że nie ma on idealnej prędkości...
Przerwanie wywoływane jest zboczem opadającym. Ok. Po zastosowaniu takich samych priorytetów przerwań i zredukowaniu przerwań do takiej postaci: [syntax=c]void EXTI9_5_IRQHandler(void){ if( xEXTI_CheckIT(9) == EXTI_INT_ON ){ //Card reader 2 in 2 vEXTI_ClearIT(9); count++; } ...
Timer input jest to wejście zegarowe dla timera, który w tym trybie jest po prostu taktowany jakimś zegarem zewnętrznym. Czas trwania impulsu zliczasz wykorzystując właśnie bramkowanie, natomiast jeśli chodzi o zliczanie równoczesne impulsów z zewnątrz to musiałbyś mieć 2 timery, nie 1....
Ja mam tak i działa [syntax=c] int ADC_On() { RCC_APB2PeriphClockCmd(R... ENABLE); RCC_AHB1PeriphClockCmd(RCC_AH... ENABLE); GPIO_InitTypeDef GPIO_S; GPIO_StructInit(&GPIO_S); ... = GPIO_Pin_0; GPIO_S.GPIO_Mode = GPIO_Mode_AN; GPIO_S.GPIO_PuPd...
MCUCR |= (1<<ISC01)|(1<<ISC11); // konfiguracja przerwania od INT0, reakcja na zbocze narastające Tu w komentarzu oczywiście powinno być zbocze opadające.
No niestety ale muszę wykorzystać ten nieszczęsny przycisk. Obecny kod: Jeżeli zwierasz switch'a do masy to może "jakoś" zadziała. Z tym, że tylko, dlatego że przez drganie styków tego switch'a kilka razy zmieni ci się zbocze na wejściu. Gdybyś podawał stan niski z wyjścia INT jakiegoś...
Stworzyłem kod konfiguracji zewnętrznego przerwania EXTI0 na PB0, reagującego na zbocze opadające. Niestety nie chce on działać. Próbuję już to uruchomić od wczoraj, niestety bez skutku. Czy mógłby mi ktoś wskazać w którym miejscu popełniam błąd. Program ma działać w taki sposób,...
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...
Witam, uruchomiłem przerwania jednak jest jeden defekt i to poważny. Pętla główna działa ok i przerwanie od INT1 wywołuje się poprawnie, ale tylko jeden raz. To znaczy wchodzi do obsługi przerwania i powraca do pętli głównej, ale przy kolejnym żądaniu przerwania już go nie wykonuje....
Dzień Dobry Chciałem zapoznać się z konfiguracją przerwań zewnętrznych. I mam pewien problem. Wydaje mi się, że rejestry skonfigurowałem dobrze. Założenie jest takie, żeby wygenerować sygnał prostokątny na pinie następnie podać ten sygnał na pin który będzie odpowiedzialny za...
Zmienna pomocnicza zmodyfikowana w programie obsługi przerwania powinna być widoczna w całym programie. Nie bawiłem się nigdy Tiny 13, więc moje spostrzeżenia mogą być mylne lecz uważam, że kolega zapomniał o istnieniu przerwań zewnętrznych INT. Gdybym pisał ten program to podałbym...
Witam. Mam problem z obsługą przerwań (PIC12f675). Napisałem procedury zgodnie z manualem i przykładami ale kompilator wywala mi błąd: Executing: "C:\Program Files\HI-TECH Software\PICC\STD\9.60\bin\picc.exe" -oodbierz.cof -modbierz.map odbierz.obj delay.obj rs232.obj --chip=12F675 -P -q...
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...
Mam problem z przerwaniem od Timera0. Chodzi o to by Timer0 zgłaszał przerwanie w trybie pracy z porównaniem. Jest to tryb Clear Timer on Compare Match (CTC). Licznik zlicza zdarzenia zewnętrzne i w momencie zliczenia do zadanej wartości ma zgłosić przerwanie i zacząc liczyć od zera. Aby to...
Witam ponownie, znalazłem wcześniej na elektrodzie program zegarka na LCD 2x16, który niestety nie działał prawidłowo (migały niezrozumiałe znaki na lcd). W celach edukacyjnych postanowiłem przerobić procedury obsługi wyświetlacza, co dało efekt końcowy jaki teraz mam czyli działający...
Witam serdecznie. Szukałem już chyba wszędzie, próbowałem kilkunastu innych programów i problem ciągle zostaje nie rozwiązany. Otóż piszę program do sterownika pieca. Posiada on 3 czujniki DS18B20, 3 przekaźniki i 1 triak do sterowania pompki kolektorów. Wszystko działa bez zarzutu. Problem...
Witam na forum. Korzystam i dołączam się do tematu. Mój problem jest dla mnie niezrozumiały. Próbowałem kompilować i testować prościutki programik z przerwaniami, ale nie wychodzi. Oto ten programik. #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h>...
Cześć. To mój pierwszy post na forum dlatego witam wszystkich. Post można podzielić na dwie części: to działa i to co nie działa. Zacznę od tego co działa. Do pinu PD0 przypisałem przerwanie. W procedurze obsługi tego przerwania zwiększam zmienną o 1 i wyświetlam na LCD. Kabelkiem...
Witam, czy ktoś może podpowiedzieć czy sygnał zewnętrznego przerwania musi być utrzymany w stanie ( np. niskim) do czasu wywołania procedury przerwania czy może zostać zwolniony. przykład dotyczy ATmega128 (kwarc 14MHz) gdzie uruchomione są dwa przerwania od licznika TIMER1 oraz...
Przerwanie źle działa - reaguje n zmianę stanu jednak tylko raz na kilkanaście zmian. Jeżeli uruchamiam procesor ze stanem wysokim na wejściu INT a INTEDG = 0 (zbocze opadające) to po starcie procedura obsługi przerwania jest wywoływana. Jeżeli jest tam zero to po starcie nie wchodzi do procedury...
Witam mam takie szybkie 2 pytania ( Czy dobrze rozumiem że konfiguracja przerwania INT0 "The falling edge of INTn generates asynchronously an interrupt request." (nota strona 90) mówi nam o tym że działa normalnie jak np. w atmega8 tylko że jest możliwe jego wywołanie w momencie kiedy jest procek...
Witam, projektuję układ z mikrokontrolerem ATTINY414 zasilany bateryjnie. Jego zadaniem jest cykliczne, co 3 s, wykonywanie pomiaru temperatury i obliczanie średniej. Ponieważ jest zasilany bateryjnie, układ będzie normalnie uśpiony i tylko co 3 s Timer wybudzi uC, aby zmierzył temperaturę...
Moj uklad wyglada tak ze 'normalnym' stanem dla fototranzystora jest oswietlenie a wiec przewodzenie (w zalozeniu jedynki na przerwanie), gdy fototranzystor sie zaciemnia, zbocze opada i dalej wykonywana jest obsluga przerwania. Pytanie dotyczylo tego czy te 2mA moglo utrzymac jedynke na porcie na...
Czesc Zaczalem nauke programowania mikrokontrolerow avr w jezyku C. Doszedlem do zagadnienia przerwan i musze przyznac, ze nie kumam pewnych rzeczy. A mianowicie, mam nastepujacy kod: // Testowanie przerwań zewnętrznych #include <avr/io.h> // dostęp do rejestrów #include...
Witam serdecznie. Piszę program, w którym muszę zliczać przychodzące impulsy z licznika energetycznego do procka. Aby nie zliczać impulsów pochodzących od drgań styków wymyśliłam takie rozwiązanie. Jeśli na INT0 przyjedzie zbocze opadające, włącz licznik T0. Gdy licznik przepełni...
Witam, proszę o info czemu mi to nie działa. Działenie powinno być takie: przerwanie zewn INT4 powoduje podanie kolejno 67, 67 i 66 impulsów w kolejnych uruchomieniach. Realizuję to przez załączenie T0 w obsłudze INT4. T0 odlicza 250us i ustawia zmienną i aby wykonał się switch() w...
Napisałem program do sterowania serwami z wykorzystaniem PWM oraz wszystkim ma sterować klawiatura podpięta tylko do przerwania INT0 (wciśnięcie klawisza na klawiaturze powoduje odpalenie przerwania oraz zmienia stan jednego portu. Poniżej zamieszczam kod. #include <avr/io.h> //#include...
Skoro zerujesz ręcznie piny to czego się spodziewasz jeśli nie wyzwolenia przerwania od zbocza opadającego? Moduł EXTI działa niezależnie od tego czy ma włączone przerwania czy nie - jeśli są wyłączone to po prostu nic się nie wywoła, ale flagi zostaną sprawdzone. Jeśli włączysz przerwanie,...
Witam. Mam takie problem. Chcę sobie poćwiczyć zrobienie tzw bramy świetlnej na mikro, z wykorzystaniem INT1 i INT0. Bramy są zewnętrznymi urządzeniami, na nózki Atmegi podaję tylko sygnały logicznej 1 lub 0. Mam taką sytuację: - przerywam bieg pierwszej bramy, zostaje zliczona osoba -...
Masz tak- zegar odmierzający 1s. A co by szkodziło gdyby odmierzał co 100ms. Albo co 10ms czy 1ms. Wtedy w każdym przerwaniu można zwiększać jakieś zmienne i dopiero gdy osiągną zadaną wartość wykonywać jakieś funkcje. Wtedy zamiast _delay() możesz sprawdzić czy zmienna osiągnęła...
Witam Zacząłem pisanie programów na AVR w C (Atmel AVRStudio 4) i natrafiłem na problem z obsługą przerwań zewnętrznych, a mianowicie procesor nie obsługuje przerwań zewnętrznych. Użyty kod poniżej [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> unsigned...
W jaki sposób można ustawić priorytetowość przerwań? Mam taki problem: Za pomocą przerwań zewnętrznych mierzę długość impulsów na 2 wejściach.Wszystko gra do póki nie podłącze do atmegi USART który wypytuje co jakiś czas o te dane. Kiedy leci pytanie i Atmega ma przerwanie od...
Witam, Zacząłem pisać program na atmege8 w bascomie, do sterowania preampem tda8425 przez enkoder, wyświetlając to wszystko na LCD póki co 8x2. Program jest w fazie powstawania, ale mam kilka pytań co sądzicie o moich rozwiązaniach i czy tak w ogóle może być? Enkoder obsługuję...
Witam mam lekki problem, mianowicie staram się oprogramować zewnętrzne przerwanie, standardowo wywoływane po wciśnięciu przycisku, reagujące na zbocze opadające. Okej, wszystko elegancko ale po wejściu w przerwanie nie jest kasowana flaga przerwania. Przeglądając RM, nie odnalazłem żadnego...
Witam. Za mną cały dzień ślęczenia nad tym nieszczęsnym prockiem i problem dalej nie rozwiązany. Potrzebuję oprogramować przerwania EXTI z przycisków/krańcówek itd. Z kodem zszedłem już do poziomu migania diodą, żeby tylko uruchomić sukcesywnie te przerwania, a tu dalej klapa....
Po poprawie program wygląda tak jak w syntaxie. Teraz programowo wszystko z przerwaniem powinno być ok (jeżeli ciągle nie jest, proszę o wskazanie co jest błędne). Licznik nie liczy poprawnie ponieważ ciągle występuje drganie styków, które chciał bym rozwiązać sprzętowo, ale aktualnie...
Witam! W ramach napisania programu do obsługi klawiatury na złączu PS/2 chciałem zapoznać się obsługą uart w przerwaniu wyzwalanym zewnętrznym sygnałem. Sam uart działał, poprawnie wysyłał znaki, same przerwania zewnętrzne także działały, natomiast próba wysłania pojedyńczego znaku...
Też stosowałem kiedyś tą metodę "wyskoczenia" z przerwania we wskazane przeze mnie miejsce i wszystko działało, tutaj też nie widzę błędów o ile "jakies_miejsce" to młodszy bajt adresu i po wykonaniu określonych tam działań nie chcesz wracać do miejsca jeszcze sprzed przerwania. Ale...
Ups... :oops: Przepraszam za wprowadzenie w błąd, nie zauważyłem tego: '89C2051' Nie pamiętam czy w Bascom'ie '51 jest jakieś konkretne polecenie do ustawiania sposobu obsługi przerwań (daawno go nie używałem), ale to powinno zadziałać: Set Tcon.0 Set Tcon.2 Po dodaniu tego gdzieś...
Niestety mam tylko jedną diodkę, więc musiałem się ograniczyć do mrugania jedną sztuką. To mnie zmyliło, już byłem w euforii, że działa.. ale to była przedwczesna radość. Zmodyfikowałem Twój program do obsługi jednej diodki (drugą wyrzuciłem z kodu) + zmiana Fcpu na 1MHz. Mruga 3...
Ja też Bascoma nie znam więc Ci wytłumaczę jak ja bym to zrobił, może Ci się przyda. Masz zmienną impuls która jest inkrementowana w przerwaniu od zdarzenia zewnętrznego np zboczem opadającym. Ustawiasz sobie jeden Timer zgłaszający przerwanie (np od przepełnienia) powiedzmy co 1 ms....
Witam, ostatnio podłączyłem do Atmegi wyświetlacz od nokii 3310 i postanowiłem pouczyć się trochę timerów i przerwań. Chciałem napisać prosty programik liczący impulsy i wyświetlać je na LCD. W przerwaniu od INT0 zliczam impulsy, a w drugim przerwaniu co sekundę przepisuje ilość impulsów...
Wydumałem sobie co do pierwszego ze skoro deklaruje podciąganie do plusa to panuje stan 1 bit jest ustawiony. Co do drugiego, nie upieram się bo wiez ze źle to dziala ale staram się zrozumieć, przerwanie wywoluje zbocze opadające przycisku uruchamianego paluchem, nie chce mi się wierzyć ze zawsze...
Ok kod już wklejam - wczoraj na szybko przed spaniem posta piałem. Konfiguracja pinu od przerwania oraz samego przerwania: GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_AHBPeriphClo... ENABLE); GPIO_InitStructure.GPIO_P...
Dzięki BlueDraco za Twoją cierpliwość. Jaką wartość ma przerwa, jeśli nie wszedłeś pod pierwszy if()? przerwa ma wartość =1 (warunek zanegowany - nie wchodzi do pierwszej lini) Wchodzi do drugiej lini bo przerwa=1 a warunek=TRUE Czemu służy drugi if()? wejdzie do pierwsz linia...
W przerwaniu mam zamiar uruchomić timer1, w którym wykorzystuje Input Capture by zatrzasnąć kolejne zbocze opadające Timer powinien sprawdzić stan pinu za jakiś czas np 30ms. Powinieneś to jeszcze połączyć z wykrywaniem zarówno zbocza opadającego jak i narastającego. Zależnie od tego,...
Idzmy głównym wątkiem bez cofania sie. Tak, uaktywnia ale już wiem, ze było ono przechowywane w SREG. To jest wyjaśnione. W SREG przechowywana jest informacja o fladze I, czyli fakt włączenia lub wyłączenia przerwań globalnych. Nie ma to nic wspólnego z "przechowywaniem" informacji o przerwaniach...
Dzień dobry. Nie potrafię znaleźć nigdzie odwiedzi na nurtujące mnie zagadnienia. Chce przesłać jakieś dane przez interfejs UART używając przerwania z jednego układu do mikro kontrolera atmega328P. Układ ten (oprócz zasilania) ma tylko dwa wyprowadzenia: RXD i TXD. Czy jeśli podłącze...
Mam pytanko, może ktoś pomoże.Dopiero ucze się programować AVR więc wiele rzeczy nie jest jeszcze dla mnie jasne. Nie wiem czy dobrze zrozumiałem jdee takiego przerwania, Wydaje mi sie ze ustawienie czasu przepełnienia na 0,5 sekundy powoduje ze max wartość jaka się znajdzie się w zmiennej...
Prosiłem o więcej informacji :( Wypróbuj coś takiego: #include <avr/io.h> //#include <avr/interrupt.h> #include <interrupt.h> #include <signal.h> SIGNAL (SIG_INTERRUPT0) { unsign... int i=1; PORTC^=_BV(PC0); // zmieniamy stanu na przeciwny while(i++); //elimi...
Wykorzystaj np. Linie INT0. A przerwanie wyzwalaj opadającym zboczem czyli falling. Jeżeli przerwanie wystąpi to realizuj obsługę klawiatury. Pozatym skorzystaj z funkcji GETATKBD() bo getkbd() jest stworzona dla matrycy 4x4 lub 4x6. Pozdrawiam Dawid.
Konfiguracja przerwania od RTC: RCC_APB1PeriphClockCmd(RCC_APB1Perip... ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Perip... ENABLE); GPIO_InitTypeDef GPIO_InitStructure; /* TIM4 channel 2 pin (PB.07) configuration */ GPIO_InitStructure.GPIO_Pin...
Witam Właśnie piszę program do sterowania diodami na dyskotekę tzn. wąż świetlny. Projekt jeszcze nie jest skończony ale niby działa i niestety pojawił się problem. Przycisk Sv1 Alias Pind.3 służy jak na razie do wyboru programu (zwiększa o jeden) Na razie jest 6 programów. Owy...
O i dzięki schematowi od razu widać błąd: Przyciski podłącz do GND, a nie Vcc, a w programie włącz pull-up, i ustaw reakcję INT na zbocze opadające. Tylko czy wiesz dlaczego Twój układ nie działał? Osobna sprawa do drgania styków przycisku: Rysunki załączaj przyciskiem...
Po resecie TCON ma wartość 0x00 czyli sygnał niski generuje przerwanie, a w tym przypadku to powinno być zbocze opadające. Dodaj linię set TCON.0 przy konfiguracji przerwań.
Witam! Problem polega na tym że chociaż użyłem zmiennej volatile nie nastepuje jej zwiększenie w przerwaniu a przez to wykonanie pętli if. w czym może być problem? Dodano po 46 rozwiązałem to poprostu trzeba było wsadzic petle if w nieskończoną pętle while
Nie mogę sobie poradzić z przerwaniami, nie widzę w którym miejscu zrobiłem błąd. Kompilator czepia się linii ISR(INT0_vect) i ISR(INT1_vect) [syntax=c] * main.c * * * generator impulsów bramkowych * * PB2, PB3, PB4 przyspieszenie impulsu * * PD6 wejście załączjące zgrzewanie ...
witam, Mam następujący problem: Do Pinu 3 portu GPIOC mam podłączony sygnał 1kHz i chcę generować przerwanie od zbocza opadającego. moja konfiguracja: [syntax=c] GPIO_InitTy... GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; RCC_AHB1PeriphCl...
Witam ,przeszukuje internet w poszukiwaniu rozwiązania na przerwania GPIO w gcc dla raspberry pi b+ , biblioteka wiringPi po mimo prawidłowo skompilowania kodu i ustawienia pinu , nie wykazuje w testach aby przerwanie od zbocza opadającego prawidłowo działało :( Dodano po 1 [syntax=csharp] #include...
Witam chciałbym zapytać czy jest możliwe uruchomienie przerwania ICP na ATTINY 13: Przykład przerwania: [syntax=c]TCCR1B |= (1<<CS11); // Timer1 / 8 ICP TCCR1B &=...
Przedewszystkim trzeba ustawić aby przerwanie wywoływało opadające zbocze a nie stan niski (ustawienie domyślne). W tym celu należy odpowiednio ustawić rejestr Tcon(set Tcon.0)
Mam kłopot z obsługą przerwania INT0 w ATmega32. Chciałem, żeby były generowane zboczem opadającym. Na nogę ITN0 wchodzi sygnał prostokątny 1Hz z wypełnieniem 50%. Jest rezystor podciągający do +5V. Kod jak niżej. Powinno generować sygnały na beeperzerz podłaczonym do portu D ale nic...
Po pierwsze - witam na forum (mój pierwszy post tutaj). Włączam obsługę przerwań na początku programu: sei(); GICR =0x40; MCUCR ... zbocze opadające ... ... Na nogę INT0 podpiąłem zwykły przycisk monostabilny (zwiera do masy) z pull-up`em 1KΩ. Jego naciśnięcie powoduje...
Ja klawiaturkę taką 4x4 zrobiłem odrobinę inaczej, tj. a program obsługi działa na zasadzie wykrycia naciśnięcia jakiegoś klawisza a następnie na tej podstawie sprawdzenia który to klawisz został wciśnięty: void sprawdz(volatile int x) //sprawdza ktory przycisk zostal nacisniety { volatile...
Wspomniane sygnały są prostokątne i przesunięte w fazie względem siebie o 1/4 okresu. No to jest właśnie 2-bitowy kod Greya. Przeanalizuj sobie jakie kombinacje stanów logicznych pojawią się po kolei i porównaj z tym co napisałem w poprzednim poście. Zresztą zobacz Electrical Characteristics...
Koniecznie zadbaj o to, żeby wychodząc z tego przerwania jego flaga była wyzerowana, a wtedy to o czym kolega _marek_ mówi nie będzie miało miejsca. --- Podczas puszczania przycisku są zdecydowanie mniejsze drgania styków niż podczas jego przyciskania i o to mi chodziło. Poza tym reagujesz...
Witam. Mam 2 problemy: 1) Nie udało mi się włączyć rezystorów podciągających na porcie B. Są one podpięte do wyjścia zegara typu OC i chcąc zminimalizować ilość elementów na płytce wpadłem na pomysł włączenia tych wewnętrznych. 2) Nie wiem dlaczego gdy na RB0 wystąpi zbocze...
Napisz konkretnie jak masz rozwiązany sprzętowo przycisk, czy inny system wywołania przerwania na INT0, bo z tego schematu nie bardzo to widzę. Dokładnie, a ze schematu widać jednak, że tylko klawisze w ramach tzw małej klawiatury S1 , S5 , S9 oraz S13 robią zwarcie do GND, czyli...
Jeżeli chcesz korzystać z zewnętrznego rezonatora kwarcowego to musisz pobawić się fusebitami. Trzeba tylko uważać z fusebitami. Jesteś pewien, że akurat w tym zastosowaniu, do którego ja używam rezonatora, jest to konieczne? Gdzieś spotkałem się z przykładem, gdzie był podłączony...
Witam, na potrzeby większego projektu testuje zliczanie impulsów z czujnika szczelinowego jak poniżej: Chcę zliczać impulsy z dwóch czujników. Wykorzystuje do tego przerwania zewnętrzne INT0 i INT1, podłączając wyjścia sygnału z czujników odpowiednio do pinów PD2 i PD3. Przerwania...
Do wejścia PB2 dolutowałem 1uF (ceramik) plus kilka zmian w algorytmie. Wydaje się że problem drgania styków jest opanowany. [syntax=c] #define F_CPU 16000000UL // Atmega644 #include <avr/io.h> /*biblioteka avr*/ #include <string.h> /*biblioteka napisy*/ #include...
Niebieski przebieg (na pierwszym zdjęciu) pokazuje, że jest to napięcie wyprostowane. Jesteś pewien, że zero będzie rozpoznawane: a) nie więcej niż raz na 10ms? b) za każdym razem, gdy sygnał zbliży się do zera (nie zostanie pominięty)? Z Twojego kodu wynika, że wyzwalasz przerwanie...
nie jestem pewien czy w pętli dobrze odczytam enkoder, bo muszę wykrywać zbocze opadające ,a nie konkretny stan styków, poza tym w innych pętlach w programie też czytam enkoder łącznie z wyświetlaniem lcd ,ale już przy wolnych obrotach, chciałbym się głównie dowiedzieć co w bascomie przymula...
wszystko jest odłączone żeby wyeliminować wpływ, jest tylko płytka z procesorem i dolutowanym rezystorem. Przed chwilą pomyślałem sobie żeby zrobić tak aby stan normalny to zwarcie pinu do masy a przyjście sygnału to zwieranie do plusa (aktywowanie zboczem narastającym). Ale to nie zmienia...
Problem rozwiązany. Przede wszystkim ustawiłem wszystko tak jak ma być pod mojego buttona (ale to nie było powodem problemu!): Nie mam zielonego pojęcia . Co zrobiłem? Wyciągnąłem kawałki kodu z biblioteki ST32... Jedyne czym się różni kod to tak na prawdę brak wywołań: assert_param(IS_EXTI_LINE(EX...
są jakieś praktyczne przypadki wykorzystywania zdarzeń? Pytam ogólnie w całej rodzinie stm32. Tak w praktyce to zdarzeń nie ustawia się wcale. BlueDraco, a np. zdarzenie od zmiany stanu pinu ? Zdarzenie od przepełnienia licznika i zmiany stanu pinu ja osobiście dość często wykorzystuję....
Tak wygląda część z przerwaniem. Cały kod jest dość długi i działa poprawnie, tylko z tym mam problem. Nie jestem w stanie wykryć co robię źle. [syntax=c] int k = 0; volatile char licz=0; ISR(INT4_vect) { licz = 1; } ///////PĘTLA GŁÓWNA PROGRAMU int main(void) { sei(); DDRE...
Ale zbocze opadające masz na jeden cykl programu, to co zatrzymasz? Nie lepiej użyć znaczników krokowych S jeżeli nie spełni warunku nie przechodzi do następnego kroku.
Witam szanownych użytkowników, Programuję mikrokontroler ATmega32, mam problem z przerwaniem INT2, które po starcie urządzenia się odpala mimo, że nie puszczam sygnału wyzwalającego przerwanie. Ponieważ projekt jest za duży, żeby zamieścić go w całości zamieszczam tylko najważniejsze...
Mam problem z uzyskaniem oczekiwanego działania przerwań INT0 i INT1. Procesor to ATMEGA 16 z zewnętrznym taktowaniem 16MHz. PD2, PD3 są skonfigurowane jako wejścia z podciągnięciem do 1. W obu przerwaniach jedyną czynnością jest inkrementowanie zmiennych zdefiniowanych jako volatile uint32_t....
WItam; Mam pytanie. Otóż zrobiłem sobie przerwanie sprzętowe INT0 i ustawiłem je aby występowało od obu zboczy. Ale mam problem, bo nie wiem jak sprawdzić w przerwaniu czy wykonało się od zbocza narastającego czy od opadającego. Próbowałem wprost sprawdzić w przerwaniu stan tego...
Przerwania PCINTx wykonują się przy każdej zmianie stanu logicznego, niema możliwości konfiguracji np. tylko dla zbocz narastającego lub opadającego. Stan zbocza na poszczególnym pinie sprawdzasz w przerwaniu. Attiny13 ma 6 pinów PB.0-PB.5 (PCINT0 do PCINT5) które mogą wywołać przerwanie....
Stworzyłem kod który powinien wyświetlać czas trwania stanu niskiego na lcd. Na wyświetlaczu pojawia się 0.0 ms oraz na przemian 1 lub 2 takt(czyli ile zliczył timer). Proszę o naprowadzenie na właściwy kierunek osiągnięcia zamierzonego celu. kod: [syntax=basic4gl]$regfile = "M8def.dat" $crystal...
Cześć, mam napisać "prosty" program dla ATmegi2560. Po wciśnięciu przycisku na porcie A, ma on zapalić odpowiadającą mu diodę na porcie B. Dioda ma się świecić 1 sekundę a potem ma zgasnąć. Za podtrzymanie świecenia mają odpowiadać przerwania timera1, a program ma się zaczynać od...
Mam program, w którym uruchamiam przerwanie z pinu ICP. I wszystko działa jak należy, program jest przetestowany. Postanowiłem połączyć go z programem do obsługi karty pamięci pobranym z //**************************************... **** MAIN routine FOR Interfacing microSD/SDHC...
Warhard cyt: Powiedzmy że sygnał liniowo opada ze stanu wysokiego w stan niski w czasie 1 sekundy. (Bardzo ale to bardzo małe strome zbocze) Przerwanie ustawione jest na opadające zbocze. Czy AVR zgłosi mi tylko jedno przerwanie ?. Czy bede miał przerwanie za przerwaniem ? Przerwanie...
Nie neguję rozwiązania przerwanie-w-przerwaniu, w niektórych sytuacjach jest to rozwiązanie bardzo eleganckie i efektywne, tylko należy pamiętać aby dobrze wyłączać przerwania. Nie popieram natomiast pętli oczekującej w przerwaniu, kod warto przeprojektować względem tych pętli pozbywając...
Niekoniecznie będzie to 160%, gdyż wg noty zegar wynosi min. 10 MHz, czyli 16 MHz, które można łatwo uzyskać (24 MHz zresztą też), zadziała. Oczywiście o jakimś sensownym przetwarzaniu danych raczej mowy nie ma - ale jeśli kamera będzie podłącozna pod interfejs RGB kontrolera LCD to przesył...
A czy czasem ten encoder nie ma wyjścia typu OC (otwarty kolektor)? Jeśli tak, to przy takiej dużej częstoliwości impulsów, odległość pomiędzy może być tak mała, że na skutek tworzenia się układu całkującego możesz źle interpretować te impulsy. Jeśli rzeczywiście jest to encoder...
Witam Klawiatura zbudowana jest za pomocą sześciu przycisków monostabilnych, podłączonych do portu PF0-PF5. Równolegle z każdym przyciskiem jest włączony kondensator elektrolityczny o pojemności 1µF w celu eliminacji wpływu drgań styków. Aby nie odczytywać stanu linii cały czas,...
Ale nadal pozostaje pytanie: Dlaczego flaga INTF1 jest ustawiona, skoro po resecie powinna być 0? Do tego momentu wejście sobie pływa i logika od wykrywania zbocz może już je rejestrować. [syntax=c]PORTD|=(1<&l... // podciągam do vcc[/syntax] Tutaj: [syntax=c]EICRA|...
Cześć. Chcę skonfigurować linie PB8 i PB9 jako źródło przerwań żeby reagowało na zbocza narastające i opadające [syntax=c] RCC->APB2ENR |= RCC_APB2ENR_IOPBEN | RCC_APB2ENR_AFIOEN; gpio_pin_cfg(GPI... 8, gpio_mode_input_floating); gpio_pin_cf... 9, gpio_mode_input_floating); AFIO->EXT...
Mam do rozwiązania pewien problem związany ze sterowaniem wartością PWM w zależności od stanu dwóch przełączników hebelkowych SW1 i SW2. Zmiany muszą uwzględniać włączanie i wyłączanie tych hebelków. Scenariusz wygląda następująco: SW1 i SW2 są wyłączone - PWM = 0 Włączam...
Reagują na zbocze opadające, narastające i na niski stan... jak sama ich nazwa wskazuje:>
Przy wejściu w przerwanie nie reaguje na kolejne zbocza narastające lub opadające musi zakończyć obsługę przerwania i dopiero jak z niego wychodzie podejmie reakcję na kolejne zbocze. Przypuszczalnie w tym czasie zanikają drgania styków. Procesor ma w tym czasie sporo warunków do sprawdzenia....
Witam, Do STM32F4 mam podłączony enkoder inkrementalny o rozdzielczości 1024 imp/obr. Chciałbym wykorzystać pełne możliwości sprzętowego modułu obsługi takich enkoderów przez F4, czyli zmieniać wartość licznika na opadających oraz narastających zboczach sygnału. W tym celu skonfigurowałem...
Żeby nie mieszać przysłona zasłonięta ma dawać 0 (zaneguj sprzętowo) podłączone do pina /INT (jak zwał tak zwał) przejście /INT z 1>>0 (zbocze opadające)- przerwanie 0 na pinie /INT licznik liczy prościej nie potrafie
Witam Na AVRach można to zrobić sprzętowo. Na przykładzie ATMega8, wejście T1 ustawić na zbocze opadające, liczni 1 ustawić na PWM lub inny rodzaj pracy i wpisujemy wartość o 1 mniejszą niż przepełnienie. W momencie pojawienia się zbocza opadającego na wejściu T1, licznik przepełni...
Jest jeszcze przerwanie PCINT wyzwalane dowolnym zboczem. Wejść PCINT jest zdecydowanie dużo, zatem można reagować nie tylko na dwa przerwania INT0/1. Fakt, nie wszystkie AVRy to mają. Co do programowej obsługi to trzeba skanować klawiaturę w krótkich odstępach czasu i porównywać stan...
Nie wiem jak to w bascomie nie wnikałem w kod, ale można to zrobić tak że deklarujesz aktywację przerwania jednym zboczem, a po jego wywołaniu zmieniasz tą konfigurację na drugie zbocze (zmiana w rejestrze MCUCR). Albo wywołanie przerwania ustawiasz na dowolną zmianę sygnału i w jakiejś...