Mam program, tak jak poniżej, nie reaguje na przerwanie z int0 i int1. Program ma sterować silnikami od drzwi garażowych '--------------------Sterownik bramy by Peter507------------------------------' Enable Interrupts Enable Int0 Enable Int1 On Int0 Przerwanie On Int1 Przerwanie1 Dim Licznik As Byte , Licznik1 As Byte , Stan_bramy As Byte , Opcja1...
Zmodyfikowałem przerwanie do takiej postaci: ISR(INT1_vect) //przerwanie od złącza PD3 (INT1) { if( ((PIND&0x08)==0)&... ) //jeśli został zwarty pin... { TCCR1B |= _BV(CS10); //start timera (przerwanie przez zrównanie) znacznik=1; //oznacz że rozpoczeło się liczenie...
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...
Pin P2.0 generuje zbocza, a P3.3 ma je wychwytywać i generować przerwanie. Oczywiście P3.3 skonfigurowany jako CT16B0_CAP0 oraz ustawiony LPC_IOCON->CT16B0_CAP0_LOC dla P3.3. Pętla główna się kreci bo widzę, że zmienna i jest inkrementowana natomiast zmienne licznik, licznik2, przerwanie zawsze mają wartość 0 zatem program nigdy nie skacze do przerwania....
W zasadzie nie potrzebujesz JP13. To chyba taki ukłon w stronę 8051 z dwoma przerwaniami zewnętrznymi. AVRy mają przerwania PCINT na prawie wszystkich pinach i w momencie jak wciśniesz przycisk i tak możesz wywołać przerwanie. Niemniej w ogóle nie powinieneś robić tego na przerwaniach zewnętrznych (poza wyjątkową sytuacją gdy wprowadzasz uC w głębokie...
Witam , posiadam enkoder , dajacy sygnały A i B chce dołaczyc go do uC Atmega, tu jest problem poniewaz procesor ma za zadanie wykonywac pewna czynnosc na wewnetrznym przerwaniu od licznika.... bedzie ona wywoływana z pewna czestotliwoscia i ona ma najwyzszy priorytet. teraz pytanko , jak podlaczyc enkoder do uC aby nie zgubic zadnego impulsu z niego..........
Witam, W mikrokontrolerze AtMega16 mam do portu PC.3 podlaczony przycisk, chcialbym od niego odebrac przerwanie. Jednak nie wiem jak ustawić rejestr maski TIMSK? Mam taki przykaldowy programik: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #define D1_ON PORTC &= 0x02 //0xBF #define D2_ON PORTC &= 0x03...
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ą "swoją" częstotliwość i gdy stwierdzą zgodność z obwodem czasowym, na swoim...
Witam męczę się już od dawna z przerwaniem od timera 0. Wymyśliłem sobie że po przepełnieniu licznika 0 ma nastąpić przerwanie. Licznik 0 liczy od 0-255 chciałem miec kontrolę na częstotliwością wywoływania przerwania więc gdy przerwanie jest wykonywane wpisuję od razu do licznika konkretną liczbę tak by miał on mniej do zliczania. Problem polega na...
Witam, mam pewien problem z przerwaniami, otóż zastosowałem przerwanie zewnętrzne do zliczania obrotów i przerwanie timera do zliczania czasu w sekundach, ale po włączeniu przerwań timera, zobaczyłem w debuggowaniu że przerwania zewnętrzne zliczają do około 4. Czy jest to możliwe że przerwania się gryzą ze sobą? Proszę uzupełnić tytuł postu- zgodnie...
Cześć :) Sprawdzam różne rzeczy podczas nauki uarta dla xmega128a3u. Korzystam z biblioteki Atmela, uart w trybie z przerwaniami, software'owy cykliczny bufor odbiorczy i nadawczy. Mam tablicę z danymi w formie znaków ASCII. Oglądam sobie wszystko przy pomocy realterma, do PC podłączone za pomocą przejściówki rs485-usb. Chciałem na początek obliczyć...
Witam Chciałem do kuchni wstawić czujnik PIR, ale z dodatkową zaletą, czyli stopniowym zwiększaniem i zmniejszaniem PWM, dodatkowo jeśli podczas zmniejszania PWM nadejdzie przerwanie INT1 od czujnika PIR, to program ma przestać zmniejszać, tylko zacząć zwiększać i to nie od zera, ale od wartości na której "zastało" go przerwanie INT1 od PIR. W sumie...
Witam Potrzebuje pomocy przy stworzeniu algorytmu do sterowania Triakiem wykorzystując do tego licznik mikrokontrolera 8051. Narazie wygląda to tak ze wykrywam zero napięcia sinusoidalnego 230V 50Hz czyli okres mam 20ms (dokladnie wykrywam początek sinusoidy i tylko początek bo mam transoptor prosto pod nap 230v przez rezystor podpięte bo tak życzy...
Masz to zupełnie źle rozwiązane. Oczekiwanie w przerwaniu to jest kardynalny błąd! Jeśli chcesz to tak zrobić, to powinieneś mieć bufor z możliwością sprawdzenia ile jeszcze zostało do wysłania - np licznik pozostalych znaków. W przerwaniu sprawdzasz licznik - jeśli większy od zera, to zmniejszasz, wysyłasz, przesuwasz index tablicy (czy jak to tam...
Witam. To mój pierwszy post na tym ciekawym forum. Potrzebuje pomocnych informacji od programistów uC rodziny 8051. Mam mikrosterownik 89S52. Zamierzam dołączyć pamięć zewnętrzną 62256 (używane będą porty P0 i P2 oraz rozkaz MOVX). Port P2 ma rezystory podciągające do Vcc i służy jako wyjście starszego słowa adresu A8-A15 dla pamięci. (Robię według...
Wystarczy 1 timer. W przerwaniu do licznika (lub rejestru compare) oprócz tego co masz zrobić ładujesz kolejno wartości z tablicy czasów za ile ma wystąpić następne przerwanie. Albert
Niestety... Zawsze jednak możesz testować w programie stan PINA.0 np. w przerwaniach z licznika. Albo wymienić układ na ATMega162 i skorzystać z przerwania PCINT0.
Witam serdecznie Mam problem z immo w audi a3 z 1997r, gdyż wymieniam licznik z racji, że na starym nie działa obrotomierz ( miga także kontorlka oleju i przegrzania silnika) Sprawdziłem i sygnał prostokątny dochodzi do licznika na pinie 11 ( kostka niebieska) zmienia się także w takt obrotów silnika. Sprawdzałem płytę licznika i połączenia aż do przetwornika...
Witam, Mam problem z obsluga przerwan od przepelnienia licznikow. W projekcie wykorzystuje 3 liczniki w atmega8, timer2 wykorzystuje do generacji sygnalu 40kHz natomiast pozostale dwa maja zliczac czas od nadania sygnalu do otrzymania echa. Narazie napisalem osobną obsluge kazdego z timerow i dzialalo. Po wrzuceniu wszystkiego do jednego projektu dziala...
Dokładnie tak jak pisze Fredy. Z pewnością po zastosowaniu jego rad twój problem zostanie zlikwidowany. Nie mniej jednak ogólna strategia programowania mikrokontrolerów (mikroprocesorów) mówi, że program obsługi przerwania powinien wykonać się maksymalnie szybko. Jeżeli twój program nie robi wiele więcej Twoje rozwiązanie z poprawkami zaproponowanymi...
Zasymulowałem działanie tego programu w AVR Studio i mam małą zagrychę. Nie wiem czy to wina AVR Studio (raczej nie), ale przerwanie nie działa tak jak powinno :D zmieniam stan (załóżmy diody) na pinie 7. - Gdy stan ma sie zmienic z "1" na "0" to po wywołaniu przerwania tak się dzieje, ale gdy ma się zmienic z "0" na "1" to przy kolejnym przerwaniu...
Witam Piszę program, który ma mierzyć długość impulsu podawanego z zew. źródła jakim jest odbiornik RC, częstotliwość impulsów to 50Hz, a ich długość mieści sie w przedziale 1ms-2ms. To mój pierwszy program na AVR w którym obsługuje przerwania zew. i mam pewien problem, program już napisałem, sprawdziłem go na symulatorze i wydaje się działać poprawnie,...
Witam Wszystkich Mam taki oto problem. Piszę w asemblerze program obsługujący interfejs UART (mk:atmega32) oraz wysyłający odebrane dane na wyświetlacz złożony z 10 matryc (5x8) LED. Napisałem program który mi odbiera dane (w procedurze przerwania) i umieszcza odebrany znak w buforze UART. Następnie w innym przerwaniu pochodzącym od licznika2 wykonuję...
Tak jak w tytule, poniżej kawałek kodu. Wygląda to tak że w pętli głównej jest polecenie "Wait" a INT0 ma przerywać tą pętle, i tu jest pytanie czy przerwie "Wait'a" ?? Dim Licznik As Byte Enable Interrupts On Int0 , Przerwanie , Nosave Licznik = 0 Do If Licznik = 1 Then Pind.0 = 0 Pind.1 = 1 Wait 20 Pind.0 = 1 End If If Licznik = 2 Then Pind.0 = 1...
Witam ,napisałem sobie następujący program który ma pełnić funkcję prowizorycznego zegarka. W obsłudze przerwania timer inkrementuję sobie sekundy , ale gdy chce wyświetlić je w main ciągle wyświetla zero na led. Natomiast gdy ostatnią linijkę kodu zamieszczę w obsłudze przerwania działa ok . W związku z tym moje pytanie jak zrobić, żeby przekazywać...
Proszę o pomoc w zaprogramowanie przerwania pochodzącego od licznika T0 do krótkiego programiku który napisałem.Prośba maja jest aby licznik zliczył 10s (startując równo z odliczaniem do dziesięciu które widac na wyświetlaczu siedmiosegmentowym) i włączył przerwanie które wykona program według pokazanego kodu.Są to moje początki dlatego proszę o wyrozumiałość....
Poniższy program dla wersji ATMega32 usiłuję przerobić na wersję dla ATMega644p /która posiadam/. Program ma za pomocą przerwań realizować opóźnienia. Niestety robi się to wszystko skomplikowane ponieważ jak wiadomo szczególnie system przerwań i timerów jest dużo bardzie rozbudowany niż na niższych modelach procesorów. Jeśli ktoś jest w stanie mi pomóc...
Witam! Mam na początku pytanie: Co jest pierwsze przy pojawieniu się impulsu na ICP, przerwanie od niego czy przepisanie zawartości licznika do rejestru ICR1? Planuję zrobić licznik czasu trwania impulsu i wymyśliłem coś takiego (na razie schematycznie): [syntax=c] ISR(przerwanie od przepelnienia licznika) { wartosc = 0; marker = 0; } ISR(przerwanie...
Co do eliminacji drgań. Można też tak: wciśnięto klawisz, wykonujesz akcje z nim związaną i kasujesz jakiś licznik i teraz choćby program odczytał kolejne wciśnięcie klawisza (drgania) to ignorujesz to przez czas drgań styków. Brzmi zawile, ale jest banalne: [syntax=c]if ((!(PINB & col)) && (licznik > 20 )) //warunek czy klawisz jest wciśnięty, tzn...
Jestem początkującym z programowaniu w C.Opiszę problem : Zbudowałem licznik zwojów do nawijarki na ATMEGA 8 . Licznik liczy zwoje przy pomocy optobariery szczelinowej i tarczy z dziurką(czyli zliczanie gdy na wejściu stan niski) liczy w przód i w tył(przy odwijaniu). Jedno wejście ATMEGi zlicza impulsy (PULSELOW) , drugie to wejście sterujące aby zmieniać...
Witam wszystkich! Mam taki mały problemi z licznikami, mianowicie. Zrobilem prosty pomiar prędkości obrotowej poprzez pomiar czasu jednego obrotu. Sygnał doprowadzony jest do INT0 (pin3.2 - ustawiono że działa na zbocze ) co powoduje uruchomienie licznika T0, który co 1ms generuje przerwanie i zwieksza zawartosc o 1 licznika programowego. Wylaczenie...
Jestem początkujący. Czy ktoś mógłby mi opisać jak zrobić opóźnienie na liczniku T0 w asemblerze. Ważne są ustawienia TMOD i TCON ale co dalej. Chce uzyskać opóźnienie około 1s (jak wywołać przerwanie od licznika i jak je realizowac aby trwało 1s) ? Kwarc 20MHz, cykl maszynowy trwa 0,8us.
Zkopiowałem sobie taki kawałek kodu: #include <avr/io.h> #include <avr/interrupt.h> #define TIMER0_INIT 175 char i; // procedura obsługi przerwania od timera TC0 SIGNAL (SIG_OVERFLOW0) { TCNT0 = TIMER0_INIT; // załadowanie do licznika wartosci poczštkowej PORTB ^= (1<<PB1); // zmiana stanu na wyjściu } //...
Witam ! Zwracam sie z prosba o rade w sprawie obslugi przerwań. Jestem na ukonczeniu projektu termometru na AT89S52 w ktorym mają działac dwa przerwania - wewnetrzne od timera ktory zapisuje wyniki 10 kolejnych pomiarow do pamieci wewnetrzej u-kontrolera oraz zewnetrzne od przycisku - microswitcha ktory powoduje wypisanie zapisanych wynikow z pamieci...
Witam Wiecie może czy i jak obsłużyć wejście izolowane a konkretnie przerwanie od INT1. Chce podłączyć swój układ przez wej. izolowane , a program w DSMie żeby wykrywał przerwania generowane przez sygnał z mojego układu. (np. żeby na każde przerwanie gasił lub zapalał diode testową) Czy możliwe jest tez np. przy pomocy licznika odpytującego co określony...
Ja mam podobny problem z ATmega 32 i z przerwaniem od przepelnienia licznika T1. Program caly czas siedzi w przerwaniu nie moze nie z niego wrocic. Kod wyglada mniejwiecej jak ponizej. jezeli w funkcji main w petli while jest printf to program wraca z przerwania. Jezeli wstawie tam np swiecenie diody to program krazy caly czas w przerwaniu. Moze mi...
witam INT0przerwanie zewnętrzne końcówka INT0 INT1przerwanie zewnętrzne końcówka INT1 TIMER0przerwanie przepełnienia licznika TIMER0 TIMER1przerwanie przepełnienia licznika TIMER1 Gdy używane są przerwania INT0 lub INT1, można określić warunek zgłoszenia tego przerwania. Należy w tym celu użyć instrukcji SET / RESET i ustawić odpowiednie bity w rejestrze...
prosze oto kod mam problem z ogarnięciem dlaczego nie zlicza mi sygnałów z int0 #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> // funkcje sei(), cli() #include <avr/signal.h> // definicje SIGNAL, INTERRUPT #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include...
Witam. Mam pewien problem z programem. Generalnie układ posiada 3 przyciski. Kontaktron - generuje przerwania (nie sugerować się nazwą, testuję to na zwykłym switchu) P_zeruj - Przycisk od zerowania wyniku P_mierz - Jeśli jest w stanie 1 to przerwania są włączone jeśli nie to wyłączone. I tu pojawia się problem. Jeśli P_mierz ustawię w stan 0, to przy...
Witam, ostatnio zająłem się pisaniem stosunkowo prostej aplikacji na AVR ATmega8, potrzebnej mi na studia. Na celu miałem też trochę lepsze poznanie AVR. W czym problem : W moim programie chciałem przetestować typowe zachowanie uC, napisałem kilka prostych funkcji, włączyłem przerwania, zrobiłem pętle nieskończoną w której na moim wyświetlaczu 7 segmentowym...
Witam, mam problem z uzyskaniem przerwania od licznika. Program w ogólności ma co mniej więcej sekundę na przemian zapalać i gasić diode. Licznik jest w trybie porównania do wartości 156. Częstotliwość oscylatora to 4 MHz, przeskalowana przez 256. Program niestety nie chce wejść w przerwanie. Może któryś z bardziej doświadczonych forumowiczów jest w...
Witam napisałem prosty kalkulator w c++, obliczający przerwania dla zaokrąglonych czasów, Mi się przydał do zegarka i stopera może i Wam się przyda Program napisany pod Linux, skompilowana wersja na Windowsie nie działa Pozdrawiam Brak zdjęć, proszę to poprawić, regulamin wewnętrzny pkt. 2 (joy_pl)
Witam buduje sterownik Dmx do sterowania oświetleniem scenicznym i mam problem w protokołem ponieważ DMX bazuje na RS485 i posiada dodatkowe ramki takie jak: 2. Break. 3. Mark After Break (MAB). 4. Start Code (SC). 5. Mark Time Between Frames (MTBF). 6. Channel Data (CD). 7. Mark Time Between Packets (MTBP). Problem jest taki że sama ramkę danych wysyłam...
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 zewnętrzne przerwanie INT1(aktywne zbocze opadające). Sygnał przerwania...
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. Mam problem z jednoczesnym użyciem biblioteki IRremote i przerwań. Gdy używam oddzielnie biblioteki i przerwań wszystko działa bez problemów. Natomiast poniższy program odczytuje za każdym razem różne kody przycisku z pilota. Będę wdzięczny za wszelką pomoc mogącą mnie przybliżyć do znalezienia rozwiązania. Dodam tylko, że docelowo przerwania...
Też użyłem s'ki + esp8266 i wynik wrzuca tutaj i u mnie też widać jak lodówka chodzi Możesz coś więcej powiedzieć? Co i jak z tym ESP8266. Ska ma wyjście impulsowe 1000imp/kWh w Lua napisałem skrypt który używa jednego wejścia jak przerwania, każde przerwanie inkrementuje licznik, dodatkowo uruchomiony jest timer na 60sekund który wysyła przez net...
Trzeba tak samo, jak w procesorze, włączyć je i skonfigurować w procedurze inicjalizacji/resetu. Pauzujesz symulację i przełączasz się na pracę krokową i udajesz kwarc... ;) Np. po odpowiedniej ilości cykli zegara pojawi się przerwanie od timera/licznika, jeżeli wcześniej je włączysz w TIMSK i ustawisz preskaler w TCCR0 dla Timer0. Zmieniasz wartość...
Witam przy skrzyni biegów powinien być impulsator i od niego jest poprowadzony przewód do wiąchy i dalej do licznika ,trzeba zobaczyć czy nie jest przerwany.Powodzenia
Witam wszystkich. Pisze program do pewnej maszyny gdzie pracują silniki krokowe itp. Ale jest tez pomiar temperatury (termostat) jak zrobic zeby co ok 2s niezaleznie od głównego programu procesor sprawdzal czy wlaczyc czy wylaczyc grzalke. Slyszalem o przerwaniu z przepelnienia licznika ale nigdy tego nie praktykowalem. Procek to ATMEGA 128 a kompilator...
Przed ustawieniem znacznika AS0 należy: - wyłączyć licznik T2 (jeśli był włączony); - wyłaczyć obsługę przerwań (znacznik I w SREG); - ustawić AS0; - wyzerować bity OCF2 i TOV2 w TIFR; - włączyć przerwania; - włączyć licznik T2 (z dzielnikiem 1:128); I diodka powinna już migać radośnie po warunkiem, że w procedurze obsługi przerwania od przepiełaniania...
Wiec tak licznik naprawiłem koszt 150 złotych u mechanika 15minut roboty dla kogoś kto wie w czym tkwi problem.A w roli wyjaśnienia to typowa usterka dla grupy vw dochodzi do przerwania ścieżki w liczniku ale żeby było trudnij to ścieżka pod wskaźnikami co wiąże się z zdjęciem wskazówek później trzeba je dobrze włożyć i wyskalować to tyle życzę powodzenia...
Witam. Mam pytanie jak obliczyć czas przerwania od licznika T0 w mikrokontrolerze Atmega8. Gdy preskaler=1, licznik zaczyna liczyć od 0, oraz mikrokontroler działa na wewnętrznym oscylatorze (1MHz)??
Witam Mam taki problem iż mam przerwaną ścieżkę na tej "płytce" która podaje prąd do wszystkich wskażników w liczniku czy w jakiś sposób mogę je zlutować z powrotem ???
Witam. Pisze program sterujący pracą silników krokowych. Pisałem cały czas tak program by mieć konktrolę nad prędkością każdego z silników osobno (chodzi o to że silniki mają różne przekładnie a chce by wszytskie elementy poruszały się z tą samą prędkością obrotową więc prędkość ustala się raz w programie i się jej później nie zmienia) Zastosowałem...
Witam! Mam problem z uzyskaniem przerwania od licznika 8-bitowego. Piszę w C i w żaden sposób nie mogę się doczytać jak skonfigurować rejestr TCCR0. Przerwanie potrzebne jest mi do całkowania numerycznego metodą trapezów sygnału z żyroskopu. Doczytałem się, że trzeba coś ustawić w rejestrze SREG, ale mało mi zostało czasu, a potrzebuję tego do pracy...
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 się- minie 32ms i w tym miejscu będzie poziom niski na pinie, to atmega...
Do Siwy... tak się składa że mam tzn miałem ten sam problem co Ty kolego tylko że może w troszkę innym samochodziku Audi80 b3 1,8benzyna/lpg bo z tego co się orientuje desel z gazem raczej ciężko spotkać :D problem tkwił w przerwanej ścieżce wewnątrz licznika, przy pomocy miernika z pewnością ją odnajdziesz, popraw też zimne luty bo to też lubi pie......
Mam następujący kod programu. Moje pytanie brzmi: Dlaczego program nigdy nie wchodzi do przerwania, a przynajmniej tak pokazuje VMLab, w którym to symuluję. Czy trzeba jeszcze coś w jakimś rejestrze ustawić. Program ma wchodzić do przerwania w momencie kiedy licznik zrówna się z OCR1A. #include<avr/io.h> #include<avr/interrupt.h> #include<avr/signal.h>...
W oparciu o Wasze rady oraz [url=]Newbie's Guide to AVR Timers i przydatną stronę [url=]ATmega Timer/Counter/Prescaler Calculator w wolnym czasie sklepałem taki kawałek kodu: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> volatile unsigned char nacisnieto=0; kontrola=0; volatile int flaga= 0; //flaga włączenia LED void led(void)...
Witajcie, potrzebuję pomocy padły mi zegary co dalej? krótko opiszę co zrobiłem, zakupiłem vag commandera , po podłączeniu go do auta postanowiłem ściągnąć i zapisać sobie eeprom oraz pin, w trakcje z czytywania połaczenie zostało przerwane i licznik padł,teraz przekręcając stacyjkę kontrolki się świecą ,prędkościomierz i obrotomierz nie działa temperatura...
Witajcie, potrzebuję pomocy padły mi zegary co dalej? krótko opiszę co zrobiłem, zakupiłem vag commandera , po podłączeniu go do auta postanowiłem ściągnąć i zapisać sobie eeprom oraz pin, w trakcje z czytywania połaczenie zostało przerwane i licznik padł,teraz przekręcając stacyjkę kontrolki się świecą ,prędkościomierz i obrotomierz nie działa temperatura...
Witam. Czy w czasie gdy następuje konwersja przetwornika ADC, przerwania są wyłączone - nie zadziała mi przerwanie np. z liczników, czy trzeba w tym czasie je wyłączać?
Witam Wszystkich. Mam taki oto problem z Passatem B5FL 2003r. 1.9 TDI AWX 131KM. Zakupiłem go po małym wypadku, pęknięte wzmocnienie i wystrzelone czołowe poduszki. Samochód nie ma siły mniej więcej do 2 tysięcy obrotów, więc postanowiłem podpiąć go pod komputer, niestety bez rezultatu. Łączy się z wszystkimi modułami prócz silnika. Na początku odpinałem...
Witam, napisałem pierwszy program z zastosowaniem funkcji przerwania. Jest to licznik modulo 10 sterowany przyciskiem X0 (kierunek zliczania). Jednakże nie chce mi się skompilować. Kompilator podpowiada miejsce gdzieś przy funkcji przerwania. Prośba o pomoc i ewentualnie jakieś ciekawe sugestie co do konstrukcji samego programu. EDIT: Poprawiam zapis...
Z pomocą manuala od St do mikroprocesora z rodziny stm8l15x napisałem taki program, który miał zapalać diodę po przekręceniu się licznika. Jednak do przerwania w ogóle nie wchodzę. Co mam nie tak, bo nie potrafię znaleźć. stm8/ #include "mapping.inc" #include "stm8l152c6.inc" segment 'rom' main.l rim ld A,#%11111111 port_init ld PE_DDR,A ld PE_CR1,A...
Niby proste, ale jak ma się mało do czynienia z STM32 to zaczyna byc jednak mylące Mam takich parę pytań bo sie lekko zamieszałem, a nie do końca wiem gdzie to może być napisane? 1. Które z przerwań, wyjątków są związane z rdzeniem, a które za tzw. zewnętrzne? 2. Które przerwania "przechodzą" przez NVIC? Każde z ustawianym priorytetem. Z tego co rozumiem...
(at)lazor1 Dlaczego patrzysz przez pryzmat architektury, którą znasz, a nie odnosisz się do artykułu? Wszystkie 3 części dotyczą prostych struktur 8-bitowych jakie były na rynku 10-20 lat temu, gdzie jedynym efektem przejścia do obsługi przerwania jest załadowanie licznika rozkazów adresem ISR i ustawienie flagi obsługi przerwania. A jeśli robisz w...
taki sam mam i naszczescie dziala ,pewnie kabelek przerwany masz
To raczej nie wina wyświetlacza. Był trochę zaśniedziały w środku czy wilgoć i powstała w tego wyniku śniedź nie ,,zeżarła" w którymś miejscu ścieżki, być może brak zasilania segmentów jest spowodowany przerwaną ścieżką.
Witam wszystkich!!! Mam programik na którym próbuje zrozumieć przerwania zewnętrzne i nie moge pojąć :D . #include <REG420.H> #include <stdio.h> #define OKRES (-46080) unsigned char volatile tim = 0; unsigned char volatile licznik0 = 0, licznik1 = 0, licznik2 = 0; void main(void) { ET0=1; //zezwolenie dla przerwań od...
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...
dla samego NVIC_EnableIRQ(ADC1_IRQn) bez zmian, zalaczam kod przerwania: Dodano po 34 dodam jeszce że jak ustawie breakpinta w przerwaniu ADC, to jak się tam zatzryma pierwszy raz, to już nastepnym razem tam nie wchodzi, tak jakby przerwanie sie wylaczało po pierwszym zatrzymaniu
Witam, Przerabiam książkę STM32 Aplikacje i ćwiczenia w języku C Pana Marka Galewskiego. Dotarłem do ćwiczenia 12c, w którym do sterowania diodami mają być użyte TIM1 oraz TIM2. TIM1 może generować przerwanie ogólne oraz przerwanie z kanału Compare. Dzięki temu łatwo możemy sterować dwoma diodami. Natomiast TIM2 może generować tylko przerwanie ogólne...
Witam, Mam problem z przerwaniem. Chcę zrobić coś takiego, że po naciśnięciu przycisku zeruje się odliczanie. On Int0 Przerwanie Enable Int0 Config Int0 = Falling Enable Interrupts Dim I As Integer I = 0 Do Cls Lcd I Waitms 500 Incr I Loop Przerwanie: I = 0 Return W tym momencie działa to tak. Int0 (z procka) podpinam do GND . Gdy przerwę obwód...
Dzień dobry Koledzy. Piszę kod w C#.NETMF dla STM32F429I-DISC1. Próbuję zrealizować takie działanie w którym wykorzystuję metody klasy UIElement. Jedna z metod obsługuje zdarzenie dotknięcia panelu dotykowego. Druga z metod ("Invalidate();") pozwala aktualizować treść wyświetlacza. Do tego mam timer który co sekundę generuje przerwanie inkrementujące...
Witam! O samym interfejsie 1-wire jest w internecie całkiem sporo. Nie znalazłem jednak nic sensownego na temat oprogramowania urządzen podeń podpiętych (mysle tutaj o czujniku temp. DS18B20 i podobnych). O ile w I2C dosc latwo jest zrealizować komunikacje, o tyle przy 1-wire, gdzie nie ma synchronizacji z osobnego zegara, robi sie problemik. Moje pytanie...
Prezentowane w temacie urządzenie jest funkcjonalnym licznikiem przeznaczonym dla graczy starochińskiej gry GO. Sam nie jestem zapaleńcem GO, urządzenie zrobiłem bratu, pogrywamy wspólnie od czasu do czasu. Aby licznik zrobić bardziej uniwersalnym dodałem możliwość dowolnego ustawiania czasu gry i ruchu gracza. Daje to możliwość wykorzystania licznika...
Witam, Mam taki mały problem. Otóż posiadam Lagunę 1.8 16V z 2001 roku (nr vin, gdyby ktoś potrzebował VF1BG0M0524263013). Miałem problem z "battery charger fault". Poczytałem jednak, że wystarczy przelutowanie lutów w liczniku. Tak zrobiłem, jednak podczas powtórnego montażu przerwałem taśmę wyświetlacza od licznika :( . Postanowiłem zamówić nowy licznik...
U mnie był przypadek nie związany z 400 V. Ale z zamianą fazowego [L] z N. I jak mnie uratowało uziemione N. Stało się to przy wymianie licznika. W mieszkaniu jest N przewód dodatkowo uziemiony. Do tego uziemienia jest podłączenie odgromnika do linii telefonicznej. Możliwe że pracownik zrobiłby zamianę N z L, gdyby nie instalacja telefoniczna. Dokonywał...
Też miałem takie zdarzenie, iskrzyło zdrowo i odmówili założenia licznika. Wykonałem połączenie rur; tej przed licznikiem i tej za licznikiem, napisałem oświadczenie, że wykonano połączenie wyrównawcze i założyli licznik. A powód był taki, Bardzo słabe "zero" na przyłączu kablowym, tak słabe, że podejrzewam, że zerowa żyła była wręcz przerwana. Teraz...
Witajcie ! Wiem, że temat był wielokrotnie sygnalizowany na forum, przejrzałem wszystkie tematy z tym problemem związane i niestety nie uzyskałem satysfakcjonującego rezultatu. Cała idea jest w tym, żeby całą obsługę odczytu temperatur z 4rech DSów, połączonych na oddzielnych liniach, wcisnąć w obsługę przerwań. Krótko mówiąc, chodzi o to, aby odczyt...
Prawdobopobnie tak została ta instalacja wykonana. Nigdy nie zaglądałem pod licznik. Nie chodzi o to, że izolacja przewodu jest w pewnym miejscu przerwana, tyle że sam koniec przewodu dochodzącego do tablicy od pionu jest odsłonięty (czyli ok. 1cm) Dodano po 3 fanatic93 > "na chłoski rozum" to biorąc, też mi się tak wydaje...
Cześć :) Postawiłem sobie za zadanie opanować i dobrze zrozumieć bibliotekę uart od Atmela. W poprzednim poście zastanawiałem się nad przerwaniem TXC, a teraz próbuję wykonać coś w rodzaju echa - mianowicie znaki, które wyślę z terminala do procka chcę wysłać na terminal w takiej samej kolejności + liczba informująca o ilości odebranych znaków. Popełniłem...
Witam. Chcę uruchomić licznik po wykryciu spadku napięcia na komparatorze analogowym. Nie wiem czy dobrze kombinuję :) Łączę z kanałem systemu zdarzeń komparator analogowy. EVSYS_CH0MUX=EVSYS_CHMUX_ACA_CH0_gc; I tutaj nie rozumiem troszkę. W generowaniu przerwań można określić które zbocze wyjścia komparatora ma generować przerwanie. Jak to jest z systemem...
dopadł mnie ponownie problem z licznikiem.... trochę innego gatunku niż poprzednio ale wkurzający. Licznik odcina zasilanie tzn "miga" ale tak jak by ktoś go włączał i wyłączał Początkowo myślałem że to jakiś luz na wtyczce, ale tutaj jest wsio ok. Później obstawiłem dławik za bezpiecznikiem - ale wydaje się być ok. Naciskanie płytki w okolicach rezystorów...
Bez przerwań nie da się zrobić absolutnie niczego, co jest bardziej skomplikowane. Dzięki zastosowaniu przerwań mikrokontroler nie musi stale sprawdzać, czy zaszło jakieś zdarzenie. Ciągłe sprawdzanie czegoś takiego (ang. polling) spowolniłoby program. Ponadto kolejny kłopot to odczytanie danej flagi z układu zewnętrznego (np. przez SPI/I2C) to dodatkowe...
No nie to żebym od razu się domagał:) po prostu myślałem, że się ktoś zainteresuje i jak nie będzie widział tutaj potrzebnych informacji to powie mi jakich (a nie od razu zmiesza z błotem:) bo ja nie wiem co jest potrzebne żeby zdiagnozować ten błąd. Po kolei. Do tego nie robisz wcięć, przez co program jest nieczytelny. Szukałem jak wygląda na tym forum...
Witam! Mam taki dość nietypowy problem. Kontroler ma reagować na jedno z trzech przerwań: TIMERa 0 i dwóch zewnętrznych (czujki ruchu). Te przerwania zewnętrzne zliczają liczbę reakcji czujek, natomiast TIMER 0 ma odmierzać czas i dzięki niemu co kilka sekund mają być wyświetlane statystyki. Bez TIMERa 0 wszystko działa ok, ale statystyki lecą cały...
A wyłączanie nośnej. Jak ma tylko nie wychodzić na zewnątrz to trzeba wpisać: reset Tccr.0 com00 Wtedy PortB.3 jest normalnym wyjściem. A jak trzeba zatrzymać licznik: reset Tccr0.cs00 Wtedy nośnej nie ma ale wyjście PortB.3 jest dalej zajęte. Ja zresetujemy oba bity to Timer nie chodzi i wyjście jest dostępne.
Napotkałem jeszcze parę problemów po drodze: >>gdzie mogę znaleźć schemat jakiegoś kompatybilnego modemu z mikrokontrolerem 8051, wiem ze ma się kończyć na DB9 ale żadnego schematu nie widze... Tu chodzi o programator. Modem to coś zupełnie innego. 8051 można programować poprzez złącze ISP, tak jest w wersji S (ang. serial) np. AT89S51. Programator...
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 char stan0 = 0; unsigned char stan1 = 0; unsigned char licznik1 = 0; unsigned...
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,...
A może jednak jakiś schemat, chociaż blokowy ? Wejścia przerwań dobrze jest podciągnąć przez rezystorek np. 10k do jakiegoś stanu ustalonego np. do Vcc albo GND. Ja spotkałem się z takim przypadkiem, ze w modyfikowanej maszynie przewód był pociągnięty od czujnika do szafy przekaźników i gdzieś tam zaplątany powracał jakimś innym dziwnym kabelkiem do...
Problem dotyczy przerwan. Urzadzenie ktore wykonalem wyglada nastepujaco: - do mikroprocesora przychodza co jakis czas impulsy na licznik T2 do wejscia T2EX (uC AT89S8252) i mierze czas miedzy tymi impulsami, - nastepnie steruje 5 pasmami maszyny SRM, impulsy sterujace wysylam z uC przy uzyciu dwoch licznikow T0 (zalacza impuls) i T1 (wylacza impuls),...
Witam Napisałem poniższy prosty program który po 6 zmianach stanu na nóżce int0 (PB2) wykonuje przerwanie. include "tn15def.inc" .def acc = r16 ;nadanie rejestrowi r16 nazwy symbolicznej .def licz1 = r20 .def licz2 = r21 .def licz3 = r22 .org 0x00 rjmp pocz .org 0x06 rjmp timer0 .org 0x0B ; -- POCZĄTKOWE USTAWIENIA SPRZĘTOWE -- pocz: ldi...
tak korzystam z Keil uVision3. Ustawiłem stos FIQ taki sam jak dla IRQ i teraz działa jak należy. Ale po tym co napisaliści to musze jeszcze zmienić __irq na __fiq. Po wpisaniu stosu nadal nie chce sie skompilować dla __fiq. To jest moja konfiguracja: void timer_konfiguruj(){ // KONFIGURACJA TIMERA 0 T0TCR=0x02;// kasowanie licznika oraz...
To co masz teraz (tak sądzę) jest dokładnie tym, co się stosuje na codzień. Nie da się tego zrobić inaczej w oparciu o przerwanie. Hmm... A jak spróbuje uruchomić Timer0, włączyć generowanie przerwania od przepełnienia się licznika Timera0 i w tym przerwaniu Timera0 zrobić obsługę konwersji, odczytu z przetwornika ADC i zapisu wartości do kolejko FIFO?...
Witam, walczę z GPS i mam problem z Select Case: [syntax=basic4gl]Przerwanie_uart_rx: If Run <> 0 Then Run = Udr Xor 36 'jeśli w udr jest asc("$"), to run=0 If Run = 0 Then Cntr = 0 Cntr2 = 0 'licznik=0 po wczytaniu "$" Zmienna = "" End If Else Select Case Cntr Case 0 To 4 Tudr = Lookup(cntr , Gsv) 'odczyt GGA Run = Udr Xor Tudr 'powrot do znaku...
Wszystkie przerwania których w tym programie używam podałem w poprzednim poście. Owszem obsługa przerwania nie może być przerwana przez inne przerwanie, ale jego zgłoszenie jest zapamiętane i zostaje obsłużone po zakończeniu obsługi tego pierwszego. Tak mi się przynajmniej wydaje, ale mogę się mylić. W moim programie żadne przerwanie nie trwa tak długo...