Witam Do tego celu można dojść za pomocą timra i przerwań. Po prostu w momencie wciśniecia przycisku , puszczasz w ruch timer. Jeśli zliczy powiedzmy sekunde to zapala Ci jedną diode, jeśli doliczy do 5 sekund , to zapalasz inną. Oczywiście musi być to tak zrobione żeby procek nie czakał az naciśniesz przycisk. Po prostu po wykryciu zmiany przycisku...
Witam Czy i jak można umieścić procedurę obsługi przerwania w innym pliku niż plik z główną funkcją programu "main(){}". procedura obsługi przerwania będzie mi potrzebna do obsługi 4 przycisków. Przerwanie będzie od Timera0. Procedurę obsługi przerwania chcę umieścić w pliku w którym się znajduje funkcja obsługi przycisków. Czy jeśli umieszczę procedurę...
Cześć, Do mojej instalacji alarmowej opartej o Integrę 64 + manipulator TSI chciałbym podłączyć rolety. Planuję zakup poniższego zestawu: 1. Roleta: IT2000 - Ponadto chciałem zapytać o ewentualne zastąpienie INT-IORS jakimś tańszym i mniejszym rozwiązaniem. Co myślicie o RM84 2P cewka 12V? Pobór prądu: 40mA(at)12V/DC więc wygląda, że centralka spokojnie...
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 int wsk=0; volatile int i=0; for(i=0;i<1;i++) //pętla FOR...
Witam, Mam prośbę o pomoc w realizacji funkcji. Mianowicie: Chciałem wykryć wciśnięcie przycisku normalne (t<1sek),oraz dłuższe (t>3sek). Jak najlepiej to zrealizować. Wiadomo, że wciśnięcie przycisku obsługuję przez przerwanie. Pozdrawiam, A.
Cześć. Napotkałem ostatnio na pewien problem, mianowicie w momencie gdy wywołuję przerwanie w swoim układzie, to po jego obsłudze główny blok programu nie jest kontynuowany, tylko wszystko zaczyna się od początku (albo resetuje procek). W załączniku schemat urządzenia. Załącznik usunąłem. Przerwanie jest wyzwalane jednym z 9 przycisków, następnie bramka...
DEX - no cóż dlatego, bo taki układ już jest i nic nie da się teraz zrobić. Kolumny i wiersze są podpięte bezpośredni pod wymienione porty.. Więc bezpośrednie wykorzystanie zewnętrznego przerwania nie wchodzi w rachubę. mariuszlorenc - no wlasnie może o to mi chodzi, ale jak to się robi, bo to moje naprawdę pierwsze doświadczenie z Timerami, flagami...
Witam, Mam problem z następująca rzeczą, Na pin PC6 podpiąłem tymczasowo przycisk - po naciśnięciu zwiera pin PC6 do masy. Przycisk uruchamia przerwanie EXTI i zmienia stan wyjścia na przeciwny. Po wciśnięciu przycisku brak jakiejkolwiek reakcji na zdarzenie. Konfiguracja przerwania: [syntax=c] void init_interrupt_PC6(void) { gpio_pin_cfg(GPIOC, 6 ,...
2 układy, tak też można ale w między czasie byłem na politechnice i kolega doradził mi że problem tkwi w źle podłączonej klawiaturce . ja wziąłem schemat podłączenia z "Elektroniki praktycznej " nr 3/2001-zakładałem że tam są sprawdzone rzeczy , niestety okazało się inaczej . Tam jest schemat pewnej centralki gdzie klawiaturka jest kąbinacją 4 lini...
Witam. Mam liczbę T1 w formacie SINGLE. Chcę z niej uzyskać część rzeczywistą (z zaokreąglaniem lub bez - obojętnie, jak prościej). Jak to zrobić? Myślałem eby w jakiś sposób zastosować asemblerowskie div, ale to coś nie działa. Pomocy, już siedzę nad tym...ehh Procek to AT89C4051. update: niżej dalsza część problemu ;)
Wszytsko wrzuce w poniedziałek po południu bo nie mam dostępu teraz do niego. Ogólnie przerwanie działa ale też nie do końca, bo jak jedno się wykona i stoi na wait'cie w pętli głównej to już na kolejne, nie reaguje Obsługa przycisku w przerwaniu jest niezbyt wskazana. Owszem przycisk uruchomi przerwanie ale do tego należy również doliczyć drgania styków....
chcialem zrobic budzenie procesora za pomoca ktoregos z 4 przyciskow. schemat jest podobny do tego (tylko tutaj jest wykorzystany attiny2313 ja chce atmega32): Przed wejsciem w tryb powerdown chcialem wystawic na przyciski stan niski, wtedy bym mial mozliwosc wychodzenia z powerdown za pomoca przerwania wykonywanego po wykryciu stanu niskiego na int0....
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...
Witajcie drodzy forumowicze. Buduję lampkę RGB na Attiny2313 i oto kod który już napisałem: [syntax=c] #define F_CPU 1000000UL // 1 MHz //#define F_CPU 1 00 00 00 UL // 1 MHz //#define F_CPU 1 00 00 00 0 UL // 10 MHz //#define F_CPU 1 00 00 00 00 UL // 100 MHz //#define F_CPU 1 00 00 00 000 UL // 1000 MHz // 1GHz #define red OCR0A #define white OCR0B...
Na poczekaniu zrobiłem podobny projekt sterujący serwomechanizmami poprzez przycisk, wykorzystujący przerwanie zewnętrzne na zboczu narastającym. Wszystko działało bez zarzutu. Tutaj, po przyjrzeniu się raz jeszcze temu, co naskrobałem widzę, że owszem, program działa. Wchodzi w pętlę while(1) i liczy. Ale najwidoczniej przepełnienie nie następuje,...
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ć...
Witam wszystkich serdecznie! Pewien czas temu zacząłem swoją przygodę z Arduino i jak chyba każdy trafiam na problemy, z którymi niestety sam nie potrafię sobie poradzić. Tak stało się i teraz więc już wyjaśniam na czym polega mój problem. Piszę program do sterowania drzewkiem RGB zbudowanym na diodach WS2812 i bibliotece FastLED. Póki co mój program...
Próbuje zrobić obsługę przycisku w przerwaniu z funkcją eliminacji drgań. Problem polega na tym,że po odmierzeniu zadanego czasu przerwanie wywołuje się samo po raz drugi mimo że nie naciskam przycisku. Próbuję to zrobić tak, że gdy zmienna naciskany jest przycisk na PB3 to blokuje przerwania od tego wejścia, uruchamiam timer i gdy zmienna "delay" doliczy...
Cześć, Wpadł mi w ręce zestaw ewaluacyjny EK-RA6M3 od Renesasa. Postanowiłem podjąć się próby nauczenia programowania MCU w tym zestawie. Znalazłem krótki poradnik na youtube jak odpalić pierwszy program typu "Hello World" czyli miganie diodą LED. Udało mi się program uruchomić i mniej więcej opanować jak migać diodami z różną częstotliwością. Kolejnym...
W życiu bym nie wpadł na to że kompilator zoptymalizuje program, tak że nie będzie działać. Raczej szukałem problemu w moim kodzie i logice działania. W planie procesor ma obsługiwać wyświetlacz, przerwania zewnętrzne (pomiar prędkości maszyny) oraz sterowanie PWM i przekaźnikami. Wracając do tematu powinienem zadeklarować całą strukturę jako volatile...
Wyłącz nieużywane porty COM i LPT w BIOS'ie. Szczegóły są w podobnej wiadomości sprzed kilku dni - użyj przycisku szukaj.
Możesz to zrobić np na tyrystorze. Jeden przycisk poda napięcie na bramkę i ten się załączy. Kolejne wciśnięcia nic nie zmienią, drugim przyciskiem przerwiesz obwód przy katodzie czy anodzie i tyrystor przestanie przewodzic do czasu aż znów wcisniesz przycisk 1. Tyrystorem mozesz zasilic co tam sobie chcesz np. leda. Jak chcesz konkretniej, sam musisz...
Ja bym spróbował podpiąć przyciski pod przerwania int0 i int1 i reagować tylko na zbocze falling. Wciśniecie i trzymanie jednego przycisku nic wtedy nie da. Ustawić flagi i zerować je po wykonanej operacji.
Najrozsądniej jest zwykle badać stan przycisków w przerwaniu timera, np. tym samym, którego używasz do obsługi wyświetlacza. Popatrz np. tu:
W ten sposób daleko nie zajdziesz. Zacznij od tego, żeby testować przyciski w przerwaniu timera - kod bęzie znacznie prostszy i bardziej niezawodny. żeby pozbyć się if() możesz napisać signal_incrValue = !!(PIND & 0b00000010); albo signal_incrValue = PIND >> 1 & 1; No dobra, to faktycznie działa, tylko dlaczego? Co robią te magiczne podwójne znaki...
Witam Trafił do mnie iphone 7 plus z uszkodzonym przyciskiem home(przerwana taśma) podmieniłem przycisk home, nowy, z demontażu, z innego telefonu i żaden nie działał, w końcu polutowałem stary i działa tylko się mocno grzeje, co muszę zrobić żeby zadziałał inny przycisk nie zależy mi na odcisku palca tylko na działaniu przycisku?
Jak osiągnąć natychmiastowe przełączenie programu? a) nie używać w kodzie funkcji delay() b) odczytywać przyciski w przerwaniu P.S. ja bym zamiast deklarowania trzech zmiennych boolean, zadeklarował jedną i nadawął jej wartości od 1 do 3 a potem wybierał podprogram konstrukcją switch - case. Bo nie przewidujesz chyba sytuacji, że więcej niż jedna ze...
Naciśnięcie każdego innego przycisku powoduje przerwanie wysyłania sekwencji kodu, a funkcja "Power" jest bistabilna. Według mnie, powinieneś rozebrać pilot, bo prawdopodobnie na stałe jest zablokowany przycisk PWR.
Kod narazie wygląda tak. Po naciśnięciu przycisku ma po kolei załączać diody. Potem jest regulowany potencjometrem czas w którym wszystkie diody świecą, a na koniec diody po kolei gasną. Kod zapewne mógłby zostać jakoś skrócony, poprawiony itp. ale piszę tak jak umiem. Mam nadzieję, że z czasem pewne rzeczy będę potrafił zrobić w jakiś prostszy sposób....
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, choćby taka z Arduino. Temat oczywiście nie zastąpi w pełni czytania noty...
witam! Musze dosc precyzyjnie odmierzac czas (1ms) dysponuje ATmega 32 z zewnetrznym kwarcem 8Mhz... ustawilem sobie preskaler timmera na 8 ( czyli stuka sobie z f= 1Mhz) teoretycznie powinno byc dobrze... ale w praktyce pomiar spoznia mi sie o 3sec. na minute ( ???!!!) juz nie wiem co robie nie tak... jesli ktos moze spojrzec bylbym wdzieczny... #include...
Witam tworzę program w arduino i napotkałem na taki problem: jak napisać funkcję działającą w ten sposób przycisk on (stan wysoki) dioda mruga 5razy i zapala się na stałe. oczywiście świecenie jak i mruganie może być przerwane z chwilą rozłączenia przycisku. Czyli naciskam przycisk --> dioda mruga 5 razy i zapala się i pali do momentu aż puszczę przycisk....
W Internecie znaleźć można dużą ilość projektów dedykowanych dla Raspberry Pi - od bardzo prostych dla początkujących do niezmiernie skomplikowanych, dla osób ze sporym doświadczeniem. Poniżej opisany zostanie projekt, który jest relatywnie prosty, jednakże dosyć zaskakujący i przydatny - chodzi tutaj o fizyczny przycisk, jaki umieścić można np. na...
Witam Posiadam plytke testowa fimry Kamami ZL11 i modul dip z procesorem AT91SAM7S256. Zaczynam nauke programowania w CrossStudio tego procesora i mam problem z odczytem stanu przyciskow w petli (ale nie uzywajac przerwania). Program aktywuje port GPIO (ustawia linie wejsciowe i wyjsciowe), ale nie moze odczytac stanu przyciskow. Gdzies wyczytalem ze...
Witam! Początkowo też myślałem, żeby program oprzeć na "switch'u", jednakże nie chciał funkcjonować poprawnie, więc zacząłem szukać innych rozwiązań ( stąd próba realizacji na if'ach ). Obecnie kod wygląda następująco: attachInterrupt() , którym będzie przyciśniecie przycisku, tak ?
zastanawialem sie w jaki sposob zrobic obsluge sterowania 3 przyciskami np. do ustawienia zegara czy czegos tam... myslalem nad sposobem 3 przyciski przycisk 1 podpięty pod przerwanie int , przelaczanie w sposob: -ustawienie godziny -ustawienie minuty -wyjscie z ustawienia (i wyswietlanie czasu) przyciski 2 i 3 (jako gór-dół w ustawianiu czasu) musialbym...
olo_3 -> to jest cały kod? ten który tu pokazałeś????? po pierwsze - gdzie masz pętlę główną po części inicjalizacyjnej programu ??? DO ... LOOP - chyba że ślepy jestem czy jak? (jeśli rzeczywiście jej nie masz to nie dziw się, że twój program wariuje bo po z tego co widać po inicjalizacji odrazu program leci do obsługi przrwania i się zapętla na śmierć)...
Autor zastanawiał się, jak zaimplementować w projekcie interfejs bardziej elegancki, niż zwykle stosowane przyciski. Częściowo zainspirowany materiałami wideo umieszczonymi przez D. Jones'a na stronie EEVBlog, postanowił zainteresować się pojemnościowymi przyciskami dotykowymi. Zwykle jednak wadą tego typu rozwiązań jest konieczność wykorzystania dedykowanych...
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...
Mam ten sam problem, znalazłem przerwaną ścieżkę przy przycisku. Czym najlepiej połączyć to teraz, mam lakier grafitowy i lutownicę Hot-Air?
Czołem. Piec gitarowy ma 4 przyciski do przełączania brzmienia. Wlutowałem się w obwody przycisków i wyprowadziłem je do przycisków w kontrolerze na podłodze, naciskane stopą, taki footswitch. Wszystko fajnie działa, przełącza brzmienia. Problem jest taki, że brzmienie jest przełączane w momencie kiedy przycisk puszczam a nie kiedy go naciskam - tak...
Projektuje układzik wykorzystujący prostą klawiaturę 3 przyciskową. Przyciski podłączone są do końcówek PD5, PD6 i PD7. Używam rezystorów podciągających z atmegi. Program piszę w bascomie i mam teraz problem. Mam ustawione cykliczne przerwanie (co 100ms) od Timera1, w którym sprawdzam stan tych 3ch końcówek. No i wszystko działa, sczytuje stany końcówek...
proponuję dołożyć gdzieś w obsłudze timera dodatkową zmienną która będzie odliczać do zera jeśli nie zero. W podprogramie obsługi naciśnięcia(pewnie debounce?) wystarczy ustawić w zmienną timera(tą do odliczania) i sprawdzać czy już osiągneła zero: przycisk: przycisk_dlugo=255(czas trzymania) do if przycisk_dlugo=0 then cos tam if p3.7=1 then exit do'...
Witam Jestem początkujący jeśli chodzi o mikrokontrolery. Jakiś czas temu zaczął mnie nurtować jeden problem. Robię projekt, który robi za termometr i zegarek oraz ma klawiaturkę 4 przyciskową do obsługi interfejsu. Później ma być jeszcze dodany czytnik kart microSD. Czujnik temperatury/wilgoci ma obsługę w postaci 1wire i wykonuje pomiar co 10sek jak...
Witam Chciałem włączyć przerwania zewnętrzne: ENABLE_INTERRUPTS(INT_RB) - jak dobrze rozumiem to są przerwania na liniach RB4-RB7 W obsłudze przerwania dałem tymczasowo proste włączenie odczekanie chwili i wyłączenie diody. Po uruchomieniu układu dioda cały czas się włącza i wyłącza. Coś jakby ciągle na którejś z linii RB4-RB7 pojawiało się przerwanie....
Faktycznie, z tymi nawiasami idzie się zaplątać, lecz niestety Twój kod również nie działa. Fakt, występuje inny objaw niż wcześniej, buzzer nawet po naciśnięciu nie chcę zamilczeć po ponownym przekroczeniu temperatury. Aktualny kod: [syntax=c]/* * main.c * * Created on: 2011-08-20 * Autor: Bartekk * ->Uproszczony sterownik pieca CO<- */ #include...
Zacząć od przerwania timera... Cały kod w C to po 2 linie kodu na wykrycie naciśnięcia każdego przycisku przerwania, 2..4 linie do sterowania diodą i z 8 linii inicjowania w main().
Witam, stworzyłem na płytce stykowej układ, gdzie podłączyłem przyciski, LCD hd47780, rtc ds1307 i buzzer. Korzystam z bibliotek do wyświetlacza od "radzia", TWI od p. Mirka oraz ze znalezionej na tym forum biblioteki do RTC. Napisałem szybki program, który wyświetla godzinę w formie hh:mm:ss na ostatnich polach pierwszej linii. Dodatkowo dodałem przerwanie,...
Czesc! Mam do was pytanie jak przerobic ten program tak aby jednym przyciskiem np na p1.1 wchodzic do programu ktory bedzie wykonywal zliczanie impulsow jednokrotne a drugim zeby ta liczbe zapamietac i wrocic do glownego programu oczywiscie ta liczbe chcialbym gdzies zapamietac zeby moc z niej korzystac w glownym programie bo ja probuje i mi to nie...
Tak wiec plik glowny wyglada to nastepujaco #include <at89c5131.h> #include "zmienne.h" #include "funkcje_lib.h" extern GET_KEY(); BYTE Tablica[10]; //Tablica[0] sekundy //Tablica[1] minuty //Tablica[2] godziny //Tablica[3] dni void RTC_INIT() { RCAP2H =(0-10000)>>8; // licznik zlicza impulsy RCAP2L = (0-10000); // opoznienie 10ms - sprawdzone...
OK, rozumiem. Napisałem coś takiego, prosta sekwencja na liczniku do sterowania silnikiem krokowym. Przyciski zwiększają lub zmniejszają prędkość sekwencji, tylko mam taki problem. Muszę zrobić tak, aby jedno wciśnięcie przycisku powodowało przyspieszenie, potem drugie wciśnięcie przycisku kolejne przyspieszenie itd. Z tego co wyczytałem, to najlepiej...
Witam, zmontowałem Sterowanie do trackera do solara na atmedze 328 i pojawia się problem z dzialaniem przycisków. Otóż raz działa wszystko, raz jak nacisnę jeden to działa jak drugi, raz nie działa wcale. Dotyczy to wszystkich przycisków. Zwarc w układzie nie ma. Na załączonym schemacie nie zwracajcie uwagi na zwarcie przy LCD (błąd w schemacie). Dodatkowo...
Witam Jak w temacie mam problem z fałszywym sygnałem wyzwalającym przerwanie. Moje urządzonko przedstawia się następująco: Sercem jest AT89CX051, do którego podłączone dwa przekaźniki oraz 3 pcf'y 8574 - jeden odbiera sygnały z klawiatury(6 przycisków), pozostałe dwa sterują dynamicznie cyfrowym wyświetlaczem LED. Do tego na krańcówkę wyprowadzone jest...
Musisz podać więcej szczegółów: - jaki procesor, - jaki wyświetlacz, - jak podłączony wyświetlacz, - jak podłączona klawiatura, - ... Najlepiej bedzie jak załączysz schemat Poniżej masz przykład obsługi klawiatury matrycowej 4x4 z książki "Mikrokontrolery AVR w praktyce" /***************************************... /* Ćwiczenie...
ściągnij sobie ze strony www.st.com manual rm0016 poczyaj o obsłudze portów GPIO masz tam 3 rejestry które trzeba ustawić oraz ITC 1 rejestr do ustawienia ustaw wykrywanie przerwania na porcie A na opadającym zboczu EXTI_CR1 |=0x02 ustaw port PA3 jako wejscie PB_DDR = 0x00 ustaw pull-up jesli potrzeba PB_CR1 |= 0x04 ustaw aktywne przerwanie na porcie...
[syntax=basic4gl]Config Timer0 = Timer , Prescale = 1024 Enable Timer0 : On Timer0 Przerwanie0 Dim Tmp As Word Tmp = 0 Dim Ptimer1 As Word Ptimer1 = 0 Do If Klawisz = 0 Then If Ptimer1 = 0 Then Ptimer1 = 100 End If If Ptimer1 < 95 And Klawisz = 0 Then Tmp = 1 End If End If If Tmp = 1 And Ptimer1 < 85 And Ptimer1 > 70 Then If Klawisz = 1 Then...
Witam, Mam mały problem z napisaniem kodu tak aby ten program uruchamiał się za pomocą przycisku [syntax=basic4gl]Config Pinb.1 = Output 'linia pb1 jako wyjście Config Timer0 = Timer , Prescale = 256 'deklaracja timera jako czasomierza On Timer0 Przerwanie_co_2ms 'deklaracja jaka etykieta obsługuje Led Alias Portb.1 'alias dla wyjścia b.1 Dim Licznik...
Witam, mam problem z programem na mikroprocesor. Na początek dodam, że prototyp, zanim poszedł w odstawkę pół roku temu działał prawidłowo. Program w tym momencie ma za zadanie wyświetlić 4 zmienne na wyświetlaczu. Uruchomienie przerwań zawiesza program. W zależności od tego kiedy zostaną rozpoczęte, skutkuje to innym efektem. Umieszczając sei(); na...
Warto by było tą konfigurację rozwinąć o jeszcze jedną linię (odświeżaną za każdym razem po wywołaniu przerwania): [syntax=basic4gl] Timer0= x 'lub Timer0=Timer0 + x 'opcja dokładniejsza [/syntax] gdzie x=256-licznik, "licznik" dobierasz w zależności od tego jak gęsto ma być wywoływane przerwanie. Przykładowo dla zegara 8Mhz i Prescale =64, aby uzyskać...
Skorzystaj z dobrodziejstwa, zwanego przerwaniem. Kilka dni temu coś podobnego napisałem na tym forum. Wystarczy trochę poszukać. [syntax=cpp] // Int0 przez rezystor do masy, a przycisk do Int0 i do +5V int ledOut = 13; // (oczywiście możesz wybrać inny pin) volatile int state = LOW; void setup() { pinMode(ledOut, OUTPUT); attachInterrupt(0, zapal,...
Dzieki Jaca to mi dziala,ale zastanawiam sie jak za pomoca jednego przerwania wykonac dwie czynnosci,tzn po wlaczeniu zasilania ukazuje sie menu wzmacniacza,buszujemy sobie po nim za pomoca 3 przyciskow: select,up i down.Teraz jak tylko przycisniemy 4 przycisk(mute) wywolujemy przerwanie i nastepuje wyslanie na magistrale i2c "komendy" o wyciszenie...
Najlepiej podac przyklad z zycia wziety. Zalozmy ze wykonujesz czynnosc zwana prasowaniem. Nagle rozlega sie szwonek do drzwi. Co robisz?? PRZERYWASZ prasowanie i idziesz zobaczyc kto dzwoni, gdy sie okaze ze to listonosz przyniosl list polecony to go odbierzesz i wrocisz do prasowania. Tak samo jest w procesorze. Wykonuje on program glowny ktory np....
Witam Dziękuję za pomoc, ale nie opisałem dokładnie problemu i Twoje rozwiązanie nie pomaga :-(. Chodzi o to że podczas symulacji zwierając P3.2 lub P3.3 do masy w podglądzie rejestru P3 widać że zmienia się jego wartość, natomiast program nie przechodzi do obsługi przerwania. Natomiast gdy naciśniemy przycisk INT0 lub INT1 podczas symulacji program...
1 Przeczytaj notę katalogową ATMegi 2 Podłącz przyciski, najlepiej pod piny z przerwaniami (druga strona przycisku do masy), wyświetlacz pod któryś z portów (np PORTB). Rezystory ograniczające prąd w poszczególnych segmentach (na oko kilkaset omów :)) 3 Podłącz stabilizowane zasilanie 5V do układu 4 Napisz program sterujący (w wybranym języku) 5 Podłącz...
moja zmienna jes 32bitowa, bo i kod jest dla 32bitowej architektury (ARM7)... co wiecej moj kod obsluzy na raz 32 przyciski, twoj jedynie 1 <: pod wzgledem zuzycia pamieci wiec wygrywam, pod wzgledem tlumienia drgan juz jest gorzej, w koncu u ciebie jest 8 porownan, u mnie tylko 2. Jak zwykle coś za coś - ale niech Ci będzie, masz większy procesor,...
Witam. Szczęśliwie dla użytkowników praktycznie wszystkie wyświetlacze alfanumeryczne LCD obsługuje się tak samo. Ich chipy sterujące są zgodne z HD44780. W skrócie obsługa LCD'ka wygląda tak: - inicjalizacja (zestaw komend sterujących, ustawia się min. sposób podłączenia 4/8 bit, ilość linii itp itd.). Sprawa dosyć dobrze opisana w większości datasheet'ów...
Witam, Jestem poczatkujacy jesli chodzi o programowanie pod architekture Cortex. Posiadam zestaw ewaluacyjny STM32 Butterfly. Probuje skonfigurowac przerwanie, aby wykonało się po naciśnięciu przycisku. Debugujac program widac, ze po nacisnieciu przycisku flagi sa ustawiane, ale funkcja obslugujaca przerwanie nie jest wywolywana. tak wyglada moj kod...
Pytałeś o wybudzanie procesora, odpowiedz masz w linku dla przykładu klawiatury matrycowej. W ogóle lepiej zastosuj power-down A wybudzić możesz tylko stanem niskim przerwania int0. A jeśli chodzi o przerwania pin change warto zapoznać sie z rejestrami z tym związanymi a wszystko stanie się jasne. Chodzi o to ze przerwania zostaje wywołane, jeśli choć...
Dziwne rzeczy się dzieją... podłączyłem przełącznik (normalnie zwarty) zamiast diody zenera, żeby ręcznie wywoływać przerwanie. Przy przyciśnięciu na PD2 podawany jest stan wysoki - dioda podłączona pod PB2 gaśnie ale wartości na wyświetlaczu dalej się zmieniają... czyli procek nie usypia. Po puszczeniu przycisku wymuszany jest stan niski, następuje...
Ten drugi pomysł jest moim zdaniem lepszy. Do tego możesz użyć końcówki przerwania INT - ma konfigurację zbocza, którym jest wyzwalane przerwanie.
Przycisk stop uskodzony. Raczej zestyk pomocniczy stycznika głównego. Co to za układ sterowniczy, gdzie po przerwaniu i zablokowaniu obwodu przyciskiem STOP da się podać napięcie przyciskiem START? V.
Wkleję cały program: = 0x33" naprawiło problem, więc gdzieś tu tkwi szkopuł. Bo jeśli dobrze rozumuję , to: bajt XX10 XX11 & ~0x33 1100 1100 ( czyli ~(0011 0011)) bajt XX00 XX00 PD7 jest niepodłączone. PD6 to wyjście na tranzystor (przez rezystor). Nie mam schematu, ale układ elektrycznie działa ok. PD2 i PD3 to switch'e zwierające do masy. Drugi...
Jak pewnie wiecie od jakiś kilku generacji ipody nano mają usterkę związaną z przyciskami. Ten, który posiadam - 6 generacji nawet po kilku miesiącach odmawia posłuszeństwa. Zazwyczaj "wbija" się przycisk od uśpienia. Naprawa wydaje się prosta - wystarczy go rozebrać i podkleić aluminiową płytkę. Tyle w teorii;) Podczas odklejania izolacji z taśmy flex...
1. Podprogram obsługi przerwania "Przerwanie" musi kończyć się instrukcją "Return" 2. Wciśnięcie przycisku z tego co widzę łapiesz przerwaniem zewnętrznym INT0, w takiej sytuacji równolegle z przyciskiem przydałby się kondensator rzędu 100nF lub większy (trzeba popróbować), inaczej będziesz miał trzaski i w efekcie wielokrotne pojawienie się przerwania...
Po zaprogramowaniu timera w tryb CTC oraz skorzystaniu z porad, dioda zapala się lecz nie gaśnie po określonym czasie. Nie jestem pewny co źle zrobiłem, wykorzystanie innej zmiennej sprawiało że dioda w ogóle się nie zapala. Prawdopodobnie źle zaprogramowałem timer, a jako że info na timer timera CTC z przerwaniem znalazłem tylko po angielsku więc bardzo...
Na podstawie informacji zawartych tutaj: oraz zgodnie z sugestiami w poprzednich wypowiedziach zrobiłem sobie w celu przetestowania taki oto program: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> int time=0, flaga=0; int main (void) { DDRB |= (1 << 0); // Ustawienie bitu LED jako wyjćcia TCCR1B |= (1 << WGM12); //...
Witam serdecznie, W bascomie, w chwili wystąpienia zewnętrznego przerwania na jednym z pinów obsługujących takie zdarzenia, program skacze do podprogramu obsługującego przerwanie, po czym wraca do miejsca w którym aktualnie wykonywał się program w chwili jego wystąpienia. Czytałem że można przestawić (wykasować) bity odpowiadające za zapamiętanie w...
Witam Podświetlenia i tablica rejestracyjna posiada osobny bezpiecznik i wyjście z wyłącznika świateł.Może przerwane przewody na klapie(niekoniecznie przerwane)wybiły bezpiecznik,łatwe do sprawdzenia.
Inaczej projektuje się zegar dla zasilania z baterii, a zupełnie inaczej dla zasilania z zasilacza. Jeżeli mikrokontroler ma być zasilany z baterii, to projekt musi drastycznie zminimalizować zużycie energii. Aby to zrobić należy zmniejszyć radykalnie napięcie zasilania i zmniejszyć częstotliwość zegara F_CPU. Należy także usypiać mikrokontroler ......
Dzień dobry, Kupiłem mysz Razer Naga na straganie z zniszczonym przewodem USB. Przewód trochę skróciłem polutowałem, sprawdziłem multimetrem i wychodzi na to że nie jest nigdzie ,,przerwany". Po tym zabiegu ponownie złożyłem mysz, podpiąłem do komputera i zainstalowałem oprogramowanie(Wszystko robione inną myszką). I tutaj pojawia się problem bo: W...
Witam, odgrzebałem swój projekt odbiornika podczerwieni, który działa świetnie, rozpoznaje adres i komendy pilota. Wszystko obsłużone jak należy. Problemem jest wykrycie przytrzymania przycisku. Nie zrobiłem tego odrazu a teraz zaczęły się schody. Napisałem fragment odpowiedzialny za obsługę przytrzymania jednak nie działa :( Projekt na Atmega328p,...
Ze względu na to, ze AVR nie ma możliwości wybudzenia z uśpienia zboczem Już pisałem koledze, że nie jest to prawdą. Tylko stare ATMegi nie miały takiej możliwości. Nowe ATMega/ATTiny jak najbardziej umożliwiają wybudzanie zboczem. Autor nie napisał o jakim procesorze mowa, można tylko zgadywać. W większość projektów widze Mega8, choc dużo lepsza Mega88...
zastosowałem Timer i nie działa, nie załącza mi alarmu wogóle. Zasada jest taka, jeżeli uzbrojony ma dać mi czas na wyjście i ma zacząć czuwać, następnie gdy wykryje ruch ma czekać 6 sekund, jeżeli nie rozbroje w tym czasie ma załączyć syrenę, jeżeli tak wyłącza alarm. [syntax=c] #include <Timers.h> // biblioteka timers #define PRZYCISK 21 //...
1. Przerwanie nie służy do niczego. 2. main() kończy się i ląduje w krzakach. Dzięki uprzejmości środowiska będzie to zapewne pętla nieskończona, bez tej uprzejmości skutek jest trudny do przewidzenia, np. wykonywanie main() w kółko. 3. Widać będzie odpowiedź systemu na pierwsze przerwanie. 4. W przerwaniu czekamy nie wiadomo na co i po co. 5. (uwaga...
Mam dość dziwna sytuację z moim passatem b5 z 1997 roku, mam do niego kluczyk hella z 2 przyciskami 433mhz i niestety nie działa mi z przycisków na kluczyku centralny zamek, dioda po naciśnięciu przycisku na kluczyku świeci się raz, jak przetrzymam przycisk to tak wolno pulsacyjnie, próbowałem kilka metod zakodowania kluczyka, trzymania 2 przycisków...
Połowiczny sukces. Przy pomiarach napięcia na płytce z wyświetlaczem chyba zrobiłem przypadkowe zwarcie na nóżkach tranzystora Q1 C1815 (ten najbliżej wejścia zasilania). Raczej na pewno zwarłem emiter i kolektor i sterownik zapiszczał tak jak przy włączeniu kuchenki i kliknął przekaźnik. Wyświetlacz ożył. Możliwa jest taka blokada jakiejś części? Przekaźniki...
OpenBeken posiada system głębokiego uśpienia, który pozwala w zasadzie wyłączyć BK7231 do momentu upływu określonego czasu (DeepSleep) lub do wystąpienia zdarzenia GPIO (takiego jak naciśnięcie przycisku - PinDeepSleep). W przypadku urządzeń zasilanych bateryjnie ta funkcja jest niezbędna, w przeciwnym razie baterie rozładują się w ciągu jednego lub...
Oto cały program, poprawiłem go według Waszych wskazówek jednak dalej nie wchodzi do obługi przerwania. Powiedzcie mi co w nim jest nie tak? Żeby przyśpieszyć analize opisze go po krótce. Przez włączeniem należy ustawić w stan wysoki Pind.3 wtedy program poprosi o tekst do wyświetlenia. Potem przechodzi do pętli w której są 3 efekty okazywania napisu...
No nie do końca bo przeniesienie całej obsługi do klawiatury powoduje robienie długich procedur w przerwaniu, czyli jeszcze gorzej niż jak je zrobisz w poprogramie głównym. Ja bym to rozwiązał nieco inaczej, tzn zamiast expandera IIC dałbym uC jakiś mały (ATtiny2313, 89C2051 itp.) i znaki bym wysylał UARTEM albo nawet po tym IIC (zrobienie programowego...
Może podłączałeś nieoryginalny zasilacz i padła stabilizacja-obadaj jak wychodzi napięcie z zasilacza lub z baterii.Czy jest na sterowany z pokrywy na której są switche poprzez tasiemkę czy na płycie głównej są wszystki klawisze(jeśli jest tasiemka to może być przerwana.Lub wylały baterie.
Chodzi mi o jakiś przykladowy kod źródłowy, By kontroler np 2313 reagował przerwanem na przycisk. Wiem że to dyletancka postawa ale nie wiem czy symulator dobrze odzwierciedla przerwania...
Teraz już jest prawie wszystko jasne :) Układ resetu jest konieczny, tu masz rysunek podłączenia - 4 post Bigfoot'a (podobny problem) . Wymusza impuls resetu po załączeniu zasilania zanim układ się ustabilizuje. Musisz jeszcze przy wejściu INT dać kondensator ok. 10u równolegle z włącznikiem a rezystor wymienić na większy ok 4,7k bo bez tego występują...
Witam! Temat być może poruszany nie raz jeżeli chodzi o sprawę odczytywania stanu przycisków. U mnie jednak stanowią one niejako tło. Program ma za zadanie badać prawidłowe działanie kontaktronów, które są wyzwalane poprzez magnes umieszczony na wałku silnika krokowego. W załączonym kodzie przedstawia się to w ten sposób, że po włączeniu zasilania silnik...
Chętnie bym pomógł jeśli idzie i przerwania czy czytanie stanów portów, ale niestety to co napisałeś nie da się przeczytać (kod programu) - składnia lingwistyczna !! - definicje na sbi, cbi, wciącia, o tagach już nie mówiąc ;)
Do negowania bitu P1.7 można zastosować przerwanie od przepełnienia licznika. Resztę spróbuj wykombinować sam :)
Nawet za bardzo nie wiem jak temat nazwać. Cchaiłbym stworzyć uklad ktory: Przerwie połączenie na okreslony czas 15sekund (zaciski np. A i B, które normalnie cały czas są zwarte a w wypadku zasterowania-patrz poniżej- zostaną rozwarte na określony czas). Dwie niezależne metody zasterowania powyższego przerwania. 1. Impulsem 12V (włączenie zapłonu w...
Otoz mamy taka sytuacje kilkanascie przyciskow awaryjnych w dosc duzych odleglosciach polaczonych w szereg.W momencie wcisnieta jednego z nich zaczyna sie kociol bo szuka gdzie przerwany zostal obwod. Czy spotkal sie ktos moze z rozwiazanami lub ma pomysl jak w dosc tani sposob przerobic taki system aby mozna bylo poinformowac ze np przycisk X zostal...
Co do tych błędów to trudno mi się wypowiadać, u mnie takie się nie pojawiały. A tak z nudów to sobie tą płytkę też zaprojektowałem. Przy jednostronnej zabrakło mi czterech połączeń. Może warto było by zrobić jednostronną i tylko wstawić tu cztery mostki. No ale może Tobie tam wyszło inaczej... Na schemacie wprowadziłem pewne poprawki głównie w kwestii...
Witam Używając Paragon Partition Manager'a próbowałem podzielić C:/ na dwie partycje. Przy 99% proces stanął; myślałem, że sie zawiesił więc wyłączyłem laptopa przyciskiem. Po tym standardowy komunikat "Operation interrupted, please insert recovery disk". Próbowałem z płytą od Visty, odnawianie MBR i różne inne cuda na kiju. Włożyłem "Recovery CD" od...
...z tym alkoholem to ostrożnie, w niektórych klawiaturach może się okazać, że warstwa przewodząca się zmyje. Niedziałanie bloku klawiszy sugeruje przerwę na styku matryca klawiatury-sterownik klawiatury bądź przerwaną ścieżkę na matrycy klawiatury.