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ł obrazu kamera LCD procesora nie zajmie. Wszelkie timingi da...
Chyba raczej ldi r16,2 out MCUCR,r16
Witam, żeby dużo nie zmieniać w programie, w pierwszej kolejności spróbowałbym przenieść przerwanie na zbocze opadające, ewentualnie zwiększyć podciągnięcie (dodatkowe np. 10k do pinu). Samo przerwanie też bym zmienił na "jedna_czterysta_pięćdziesiąta_litra++" (np uint32_t) i dostosował resztę.
sygnał podany na wejście PD2.
Tylko na opadanie. W końcu ZBOCZE.
Napisałeś Enable Timer1 . Licznik Timer1 ma nie tylko jedno przerwanie. Każde zdarzenie ma swoje źródło przerwań i trzeba je włączyć. :arrow: Help w temacie ENABLE.
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.
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<<PD3); // podciągam do vcc[/syntax] Tutaj: [syntax=c]EICRA|=(1<<ISC11);// przerwanie na zbocze opadające EICRA&=~(1<<ISC10);//...
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 zboczem rosnącym. Wyczytałem, że w Bascomie można zrealizować t przerwaniem...
...Jakie jest zatem rozwiązanie tego problemu (jeśli jest)? Bascomowy UART programowy działa jedynie wtedy , kiedy wywołamy funkcję z nim współpracującą. W pozostałych przypadkach ( kiedy działają funkcje/procedury nie związane z programowym UART-em ) , nadchodzące dane są "niewidoczne" dla procka :( Np. jeśli masz w kodzie Wait 1 , a w czasie działania...
Witam. Poczytaj o przerwaniach i o reakcji na opadające zbocze. Wykrywasz przerwanie na opadające zbocze. W obsłudze przerwania sprawdzasz czy na wejściu jest stan niski.
Można by ustawić przerwanie zewnętrzne na zbocze narastające, uruchomić timer i przełączyć przerwanie na zbocze opadające. Gdy pojawi się to opadające to zatrzyma timer i masz czas impulsu. Jeszcze jedynie uwzględnić przepełnienie timera, w razie jak się coś przestawi z czasami.
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 (zbocze opadające lub poziom niski) to będzie to działać, czy nie....
A czym generujesz sygnał PWM? Może czasy narastania i opadania zboczy są na tyle duże że procek wykonuje kilka razy przerwanie przy jednym zboczu i powoduje to takie skutki. Generalnie to co napisałem wyżej powinno działać.
A co jest na wejściu INT1. Jeśli zrobiłeś przerwanie niskim stanem to może masz tam cały czas stan niski i jak włączysz przerwania to znów się robi obsługa przerwania. Ustaw przerwanie na zbocze opadające i powinno się poprawić.
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)
No fakt - najpierw inkrementuje :oops: Jeśli chodzi o TF2 to sprawa ma sie tak(to sprawdziłem w bibli 51): Ponieważ Timer2 posiada 2 źródła przerwań , za którymi stoją flagi EXF2,TF2 to nie są one zerowane sprzętowo , byśmy wiedzieli co spowodowało przerwanie T2 , a mianowicie opadające zbocze na T2EX(P1.1) czy przepełnienie licznika.Więc flagi TF2/EXF2...
Witam serdecznie. Zbudowałem sobie licznik impulsów na AVR-ku. Generalnie układ pracuje poprawnie ale bywa że czasami zliczona jest nieprawidłowa ilość tych impulsów. Iteraz mam pytanie bo zgupiałem. 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...
przecież masz ustawione przerwanie na zbocze opadające.
Przepraszam ale w pierwszej wypowiedzi popełniłem błąd logiczny - oba przerwania powinny być ustawione na te same zbocze a nie różne. Dlaczego, bo tak jak napisałem wcześniej nie będzie można określić kierunku zmian, zawsze bedzie ta sama kolejność wywoływania przerwań. Obojętnie czy kręcimy w lewo czy w prawo. np. ChA narastanie 0->1 a ChB opadanie...
A spróbuj tak: [syntax=c]{ _delay_ms(3); PORTC|=_BV(PC0); _delay_ms(1); PORTC&=~_BV(PC0); }[/syntax] Pamiętaj że łączny czas funkcji od momentu pzerwania do momentu powrotu z przerwania pod żadnym pozorem nie może przekroczyć 10ms. Inaczej każde następne przerwanie jest "spóźnione" o wartość nadmiarową nad te 10ms. Poza tym: [syntax=c]MCUCR|=_BV(ISC01)|_BV(ISC00);....
próbowałem już z przerwaniami ale coś nie mogłem odczytać z TIMERA wartości na jakiej został zatrzymany przy przyjściu przerwania INT. Bo właściwie to nie wiem jak poczekać na przerwanie tak żeby np. w pierwszym INT kasować TIMER a w następnym odczytywać. A czy można zdefiniować równocześnie przerwanie na zbocze opadające i narastające i kiedy przyjdzie...
To raczej inaczej się robi. Wykorzystaj piny ICP i przypisane im rejestry. Timer musi pracować z częstotliwością zależną od wymaganej przez ciebie rozdzielczości pomiaru czasu. W przerwaniu odczytujesz zamrożone stany rejestru i masz pomiar w tyknięciach licznika timera. Czyli trzeba to zrobić tak: Ustawić przerwanie na zbocze narastające, zapisać...
Ok, nikt więcej nic nie podpowiedział, więc pomyślałem jeszcze trochę. Wydaje mi się, że sniffowanie transmisji będzie łatwiejsze. Wyświetlacz obsługuje sprzęt audio, więc nie ma tutaj szybkich zmian na wyświetlaczu. Po przeczytaniu datasheetów, doszedłem do wniosku, że w momencie opadania zbocza E wszystkie sygnały muszą być stabilne. Wydaje mi się,...
... INT'y mam ustawione tak, że generują przerwanie gdy jest zbocze opadające, ale w trybie wylaczenie to chyba bez znaczenia. Prosze o pomoc Dzieki Wyłącznie INTx ustawiony na poziom (niski) obudzi Twojego proca - patrz dokumentacja :D Piotrek
Jeśli masz osobny procesor audio to nie ma porzeby sumowania czasów. Wystarczy pomiar pomiedzy przerwaniami. Jeśli jest zachowana symetria to owszem ale dmucham na zimne. Czyli to co nazywasz przerwaniem to szpilka "0" lub "1" czy jakoś inaczej. Przerwanie to zbocze opadające. A co jeśli nie ma CTCSS co proc-audio wtedy daje :?: A tego nie wiem jeszcze...
Takie ustawienie enkodera jest mozliwe. Reagowanie na stan to bład. Powinieneś reagować na zbocze. Np. przerwanie zewnętrzne AVR'ów potrafi reagować zarówno na zbocze narastajace i/lub opadające. Jak odczytywac w którą strone następuje ruch?. Najlepiej jak sobie znajdziesz gdzieś w internecie opis takiego enkodera z wykresami sygnałów wyjściowych, bo...
Możesz podać źródło do tej informacji? Ze schematu portu IO w DS bynajmniej to nie wynika, a biorąc pod uwagę, że dla innych interfejsów na pinach maksymalne czasy narastania/opadania są podane to nie spodziewał bym się poprawnej pracy dla stanów przejściowych.
Czyli np jeżeli chce zmierzyc czas trwania impulsu to robię to tak - while(jakis_warunek) { -ustaw przerwanie na zbocze narastające -uruchom timer -ustaw przerwanie na zbocze opadające -odczytaj timer, wyzeruj rejestry timera } Czy takie coś zadziała?? Czy jest możliwość skonfigurowania dwóch osobnych przerwań na zbocze narastające i opadające czy za...
Anody diod chyba muszą brać prąd z plusa zasilania a są podłączone tylko do wejścia procka. Daj tam (między anody diod a plus zasilania) jakiś opornik 500-1000 Ohm. Skonfiguruj przerwanie na opadające zbocze. Dodano po 4 Masz jakiś oscyloskop?
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 przerwanie przypadalo w takim niefortunnym momencie,...
Kod jest OK. Napisz jak wygląda LED_G_ON. Zdeasembluj to w studio i sprawdź gdzie faktycznie jest wektor przerwania, czy na własciwym miejscu?
Witam. Zapomniałem napisaś poprzednio . Przerwanie ma reagować na zbocze opadające i tak jak już napisałem pierwszą instrukcją w przerwaniu jest wyłączenie triaka. Sam stosowałem takie rozwiązanie i nie miałem najmniejszych problemów. Jednakrze stosowałem inny detektor zera (bardziej precyzyjny).
CZy w mikroprocesorach 89C2051 można ustawić przerwanie zewnętrzne aby reagowało na zbocze narastajace bądź opadające pisząc progam w Bascomie. Szukam po necie nic na ten temat nie mogę znaleźć.
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 OBR po przeliczeniu na sekundy będzie równa też 0,5s. Ale niestety...
Dotykając czymś metalowym +5V lub masy wyzwala się przerwanie (opadające zbocze). Oscyloskop na linii +5V pokazuje szpilkę trwającą ok. 200ns (tani chiński oscyloskop, nie wiem na ile precyzyjny). Dzieje się tak nawet przy zasilaniu bezpośrednio z baterii. Co więcej, podłączając oscyloskop tylko do baterii i dotykając minusa nożem też jest szpilka....
Chcę podłączyć 5 przycisków do portu P0 i jednocześnie tak by każdy z nich wyzwalał przerwanie na zbocze opadające. http://images14.fotosik.pl/39/6435d160ef... Zrobiłem takie coś. Teraz teoretycznie po uruchomieniu się przerwania zerowego powiniene, miec mozliwość odczytania który przycisk był wciśnięty. Algorytm był by taki, ze sprawdzam czy...
ok. a więc sygnałem powodującym jest narastanie lub opadanie ale tylko narastanmie przepisuje albo tylko opadanie przepisuje a może zrobić zmiana z 0 na 1 przepisywała generuje przerwanie w kturym zmieniam znacznik i teraz zmiana z 1 na 0 przepisuje generuje przerwanie i tak na odwrud potem odejmuje i mam wynik a jaka jest instrukcja do negowania bitów...
Ż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
to co przedstawiłem to tylko kod do debuggowania problemu Wiem jak zrobić debouncing. Ale wygląda na to że to przerwanie faktycznie woła się też na zbocze opadające. Z przyciskiem to też tylko przykład. Mam tam podłączony sygnał w którym chce zliczyć ilość zboczy opadających. Sygnał mierzony jest dobry bo oglądałem go na oscyloskopie
1. Gdzie masz jakąkolwiek eliminacje drgań tego przycisku? 2. Algorytm działania też wygląda nie ciekawie. Wg mnie powinno to wyglądać tak: Po wykryciu przerwania od INT powinieneś wyłączyć to przerwanie następnie wyeliminować drgania (odczekać te min 50 ms) następnie włączyć przerwania od Timera. W przerwaniu od Timera powinieneś sprawdzić czy przycisk...
Witam buduje na Arduino Pro Mini licznik impulsów do 9999. Na poniższym obrazku prezentuje schemat jego wejść. J1 do podawania impulsu +24V/24V AC a J2 to wejście na styk bezpotencjałowy np przycisk albo kontrakton. Katoda diody Zenera jest podłączona do wejścia nr 2 APM. I do tego przerwanie na zbocze opadające. Nie jestem jakimś wirtuozem elektroniki...
W praktyce super dokładne wyznaczenie tego zera nie jest ani możliwe ani potrzebne niemniej jednak na tym detektorze daje sie regulować jasność żarówek od 0 do maxymalnej. Więc jest wystarczająco dokładny można przyjąć że to zero jest wystarczająco blisko zera ;) Przerwanie mam ustawione na zbocze opadające i wszystko gra ;)
Pozostaje tylko zwłoka faktycznej obsługi przerwania która nie jest stała więc dokładność wyniesie kilka cykli. Można ją wyeliminować kosztem obu wejść INT, dodatkowego przewodu i zewnętrznego generatora przerwań dla ADC. Teraz dokładność wyniesie jeden cykl. Gdyby dodatkowo mikrokontrolery "napędzać" wspólnym oscylatorem zaczną mieć znaczenie: propagacja,czas...
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 wyliczy deltę pomiędzy czasem rozpoczęcia a odczytanym w tym...
Faktycznie o drganiach styków nie pomyślałem czyli dać delay 3 ms po wyzwoleniu przerwania ? Czy w jakiś inny sposób lepiej to zrealizować? Czytałem opisy do badania stany styku ale to jest przerwanie i samo w sobie reaguje na zbocze opadające. (stan portu PULL_UP wywalam przerwanie przez podpięcie do 0)
AVE... (at)Nsvinc... Zrobiłbym to tak(na PIC16F785): 1. Ustaw przerwanie pinu na zbocze narastające. 2. Gdy pojawi się zbocze narastające: - zresetuj flagę przerwania; - ustaw przerwanie pinu na zbocze opadające; - ustaw preskaler timera; - włącz timer sprzężony z głównym zegarem. 3. Gdy pojawi się zbocze opadające: - zatrzymaj timer; - zresetuj flagę...
Przerwanie ustawione jest na zbocze opadające, więc czas jest uzależniony od szybkości zasłaniania i odsłaniania transoptora i od szerokości szczeliny. To będą długie(z punktu widzenia uC) czasy.Sprawdź jednak, czy nie ma oscylacji bo jak nic nie wiadomo o czujniku, to nie można stwierdzić czy ma jakiś układ formowania impulsów czy nie.
Przede wszystkim nie wiecz czy wykrywasz początek bitu startu, jego środek, czy może prawie koniec. Gdybyć wykrywł zbocze z wykorzystaniem przerwania, to dopiero wtedy mozna mówić o synchronizacji. Przecież on b. szybko wykonuje kod, a jedyne co sprawdza to czy zbocze opadło. Nie ma możliwości, żeby udało mu się podczas np. skoku do początku pętli...
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. 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 sposób wyzwalania przerwania INTx. Składnia: CONFIG INTx = LOW LEVEL | RISING...
No nie mogę powiedzieć że coś działa jak ustawiam trigger na zbocze opadające a przerwanie cały czas uruchamia się na poziomie niskim (przytrzymanie klawisza) https://obrazki.elektroda.pl/7274678600_...
Witam. Mam problem w znalezieniu rozwiązania. Chciałbym zrobić układ wykrywający zanik zasilania i w momencie zaniku zasilania zapisać pewne zmienne do pamięci. Wiem że można było wykorzystać Drown-Out Detector, dla atmega16:3,6V - 4,6V dla atmega16L(tak jak wyżej, lub...): 2,5 - 3,6V Zasilanie w moim układzie waha się między 4,5 a 5V, dlatego tez użyłem...
Chce mierzyć impulsy z zakresu 10kHz do 120kHz... 89cx051 (at)24MHz + Basic = Ciężka(niemożliwa?) sprawa przy 120kHz. Może w asm dałoby radę , ale Basic :( Zmienił bym także koncepcję/sposób pomiaru , a mianowicie: Sygnał podaję na INT0 i odwrócony(zanegowany) na INT1 , włączam bramkowanie liczników T0 i T1 i niech zliczają cykle maszynowe.T0 liczy...
Witam, Zależy mi tylko na tym, żeby Arduino zliczał impulsy z kontraktrona do 5 - 1 impuls- świeci się dioda led 1 - 2 impuls zapala się dioda led 2 - 3 impuls zapala się dioda led 3 - 4 impuls zapala się dioda led 4 - 5 impuls zapala się dioda led 5 i dodatkowo daje sygnał ciągły HIGH na pin SILOWNIKA przez cały 5 po 6 impulsie reset i znowu: - 1...
Mechanizm detekcji przejścia przez 0 jest na płytce wykonawczej która jest zgodna z kitem AVT2623 więc możesz sobie poczytać - tam jest na końcu tranzystor który wyłącza się gdy napięcie jest poniżej 1.2V a wszystko idzie jeszcze przez transoptora - a wiec ja w mikrokontrolerze mam ciągłe napięcie a gdy jest przejście przez 0 niezależnie od tego czy...
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ę ma opuścić. Tu sprawa jest prosta, ale chciałbym aby po ustawieniu...
Mam teraz wg takiego schematu: http://obrazki.elektroda.pl/9572200900_1... I jest "0" i "1" na mniej więcej odpowiednich poziomach i nawet widzi przelatującą kulkę rzuconą z ręki. Problem jest przy prędkości ok 100m/s. Zero reakcji jest. Przerwanie mam ustawione na zbocze opadające.
Jak masz ustawione na Low Level i trzymasz nóżkę na poziomie low to przerwanie wykonuje się w kółko, dopóki nie zmieni się stan na wysoki. W przypadku zboczy przerwanie wykonuje się tylko na zboczu - opadającym, rosnącym, lub dowolnym (jest taka opcja też do wyboru). Czyli tak jak napisałeś :)
Ustaw timer w tryb multiwibratora. Opadające zbocze wyzwoli multiwibrator i wywoła przerwanie. Będziesz miał informacje o początku pierwszego bitu.
Witam siedzę od jakiegoś czasu i nie mogę za chiny uruchomić przerwań. Program piszę w assemblerze. chcę uruchomić przerwanie INT0 i INT1 na porcie E Oczywiście odpowiednie bity kierunkowe tego portu są ustawione na IN (czyli wyzerowane) Chcę wywołać przerwanie INT0 gdy na bicie1 portu E pojawi się zbocze opadające. Podobnie z drugim przerwaniem: Chcę...
Biblioteka przejrzysta? Dobry żart :) Masz ustawiony main stack? Jak tak to spróbuj tak (przerwanie przykładowo na opadające zbocze na PA3) [syntax=c]static void ExtIInit(){ RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; // enable clock for alternate function AFIO->EXTICR[0] = AFIO_EXTICR1_EXTI3_PA; NVIC->ISER[0] = NVIC_ISER_SETENA_9; EXTI->IMR = EXTI_IMR_MR3;...
IRQ tester https://obrazki.elektroda.pl/3243423400_... IRQ Tester to proste narzędzie, głównie do testowania czasu odpowiedzi na impulsy, lub czasów międzyzboczowych dostarczonego sygnału. Program został napsiany na ukontroler AVR Atmega168, a jego głównym zadaniem jest funkcja multiwibratora monostabilnego, którego działanie polega...
grysek -> oczywiście, że tak można - jak najbardziej tylko, jeszcze trzeba ustawić w jaki sposób ma być wyzwalane przerwanie - najlepiej ustawić na zbocze opadające czyli falling. po drugie takie rozwiązanie jest dobre ale nie zabardzo nadaje się do rozwiązań gdzie wykorzystuje się multipleksowanie przy wyświetlaczach LED. Wtedy zwykle powoduje to...
Najczęściej z enkodera mamy dwa sygnały, A i B... Sygnały te są przesunięte względem siebie... Ja najczęściej robię to tak, że A mam podpięte pod przerwanie zewnętrzne a B pod dowolny pin... I teraz kiedy generowne jest przerwanie w jego obsłudze sprawdzam stan na linii B... Jeżeli np. jest niski to zwiększam licznik o 1 a jeżeli wysoki to zmniejszam...
czy wiesz jak będzie wygłądał przebieg napięcia zwrotnej SEM na cewce w zależności od tego czy lokalizator wykrywa diamagnetyk lub paramagnetyk? Z tego co wiem przebieg ten jest w każdym przypadku inny. Zasadniczo przebieg jest taki sam i różni sie o na pewnych odcinkach o zaledwie o np 1mV, więc jako takiej różnicy nie zobaczysz. Ten przebieg to impuls...
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 SW1 przy wyłączonym SW2 - PWM = 153 Przy włączonym SW1 włączam SW2 - PWM po upływie...
Przemyślałem Twój pomysł skorzystania z odejmowania sygnałów . Z jednej strony to ciekawy pomysł, bo jeśli poruszamy się w zakresie napięć sygnału użytecznego nie-przesterowanego, i np. jeden wzmacniacz ma wzmocnienie=1, a drugi 2, to np 1xsinA - 2xsinA = -1xsinA. Tutaj wszystko jest OK. Natomiast jeśli obydwa wzmacniacze zostaną przesterowane, wówczas...
Hmm, poszedłem za twoją radą i spróbowałem zrobić to na komparatorze. Wyjście z dzielnika (nie mogłem znaleźć w dokumentacji, jakie jest maksymalne napięcie, jakie można puścić na komparator) dałem na wejście AIN0, a, do AIN1 puściłem masę (z mostka oraz z mikrokontrolera razem). Oczywiście zmieniłem przerwanie (opadające zbocze z komparatora), pod...
Ja robiłem to od razu w przerwaniu... tzn... Kiedy narastające zbocze wywołuje przerwanie... W obsłudze odrazu przestawiam rejestr INT0 na reakcję na zbocze opadające i odpalam timer + flaga... Po kolejnym przerwaniu mam ustawioną flagę więc zatrzymuje timer i przpisuję jego wartość do zmiennej, przestawiam INT0 i zeruje flagę...
Kolega jeszcze napisze na co dokładnie reaguje przerwanie. Jak widac na schemacie powinno to by opadające zbocze. Czy tak jest napisany program?
Istnieją dwie cyfrowe metody pomiaru częstotliwości: 1. Pomiar ilości impulsów wzorcowych w trakcie trwania okresu sygnału mierzonego. Konkretnie mierzymy imp. wzorcowe w trakcie trwania połowy okresu - zwykle, gdy jest poziom wysoki. W takiej sytuacji jeżeli zmierzysz N imp. wzorcowych w trakcie połowy okresu, to: Tx=2*N*Tw, gdzie Tx okres przebiegu...
Witam Po przesiadce na C umęczyłem taki program, ale dalej coś nie teges? Przerwanie wykonuje się 128 razy ale tylko Y się zwiększa. Jeżeli te sprawdzenie IF od stanu 0 na pinB.3 jest złe to i tak przerwanie powinno się wykonać 256 razy. Bo mam na tym porcie 128 impulsów "0" a przerwanie powinno się wykonać na zboczu opadającym i narastającym. Co jeszcze...
Nie znam się na '51, ale zakładam, że można skonfigurować niektóre piny tak, żeby zbocze opadające wyzwalało przerwanie? Jeśli tak, to softwarowy uART jest banalny do zrobienia. Przykład znajdziesz w nocie aplikacyjnej AVR 304 - Half Duplex Interrupt Driven Software UART. Co prawda inny procesor ale zasada działania jest niezależna od procesora. Albo...
Byc może problemem jest zbyt mały opornik R2 nigdy nie daje mniejszego niż 1k Także o tym myślałem, ale wtedy powinien być cały czas wysoki stan na wejściu INT1, a już na pewno nie przypadkowe zbocze opadające, na które przerwanie ma reagować. Autor poszedł spać więc poczekamy do jutra.
Widziales kiedys sinusoidę? ma dwa zboCza: narastająCe (rising) i opadająCe (falling) Przerwanie może byC wyzwolone jednym z tyCh dwóCh zboCz. w powyższym kodzie masz na zboCze opadająCe, będzie działaC.
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ń.
W przerwani tylko uruchamiaj lub zatrzymuj timer w zależności czy to przerwanie na narastające czy na opadające zbocze bo tam możesz wykryć start i koniec impulsu. W obu przerwaniach użyj osobnych timerów i wtedy się program wyrobi. W przerwaniach zawsze rób jak najmniej jeśli używasz więcej niż jednego źródła przerwania.
Witam, problem rozwiązany Oto działający kod: [syntax=c]#define F_CPU 8000000UL /* Częstotliwość kwarcu */ #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> volatile uint16_t licznik = 600; //czas trwania sygnału volatile uint8_t stan = 1; //1-czekamy na zbocze opadające, 0-czekamy na zbocze narastające int main()...
Że jak? Do Loop Load Timer1 , 5 Return Czy to co powyżej (do,loop) to przemyślane działanie czy jakaś opcja debug'ujaca? A - i jak wywnioskowałeś, że nie działa przerwanie?
Zasada liniowego sterowania fazowego jest taka: 1. Przejście przez zero generuje przerwanie zewnętrzne INT (opadające zbocze), w którym: a) wyłączasz bramkę optotriaka b) przeładowujesz TIMER wartością, którą odczytujesz z tablicy w zależności od aktualnego poziomu mocy. TIMER ten będzie odliczał opóźnienie włączenia optotriaka c) uruchamiasz TIMER...
ATMega8 nie posiada przerwań PCINTx (SIG_PIN_CHANGE X ) które teoretycznie można by wykorzystać. Lepiej połączyć linię RXD z wyprowadzeniem INT0 (lub INT1) i tak skonfigurować przerwania by wykrywało zbocze opadające - bit startu. Jak wykryje zbocze to przerwanie trzeba zablokować, przekazać działanie do modułu USART, który pobierze nadchodzące znaki,...
Ja to kiedyś zrobiłem tak, że wyjście jednego kanału do wejścia przerwania, a drugi do jakiegoś pinu. Działało na banalnie prostej zasadzie - sygnałz pierwszego kanału wywoływał przerwanie (opadające zbocze) a w procedurze obsługi przerwania odczytywany był stan drugiego kanału i na podstawie tego albo zwiększanie, albo zmniejszanie licznika. Efekt...
Jak na razie testuję to na guziku, podłączonym do PD2 (INT0)... To może nie być miarodajne, ze względu na drgania styków, chyba że wprowadziłeś jakiś sprzętowy debouncing. Jeśli chodzi o kod, nie sprawdzałem, czy cała idea jest prawidłowa, ale zauważyłem: ... MCUCR=1<<ISC00; //przerwanie wyzwalane zboczem narastającym __|-- MCUCR=1<<ISC01;...
Bity w MCUCR określają na co będzie reagować przerwanie zewnętrzne... Zmiana stanu, opadające lub narastające zbocze więc jest to jak najbardziej potrzebne... SIGNAL (INT0_vect) - obsługa zewnętrznego przerwania INT0... SIGNAL (TIMER0_OVF_vect) - obsługa przerwania od przepełnienia timer0... Co do portu... Jak na mój gust powinno być PORTC = !PORTC;...
Przerwania typu PCINT działają podczas zmiany stanu pinu, obojętnie czy to jest zbocze narastające czy opadające. Poprostu ma być to zmiana stanu, tak więc jeśli naciśniesz przycisk to przerwanie bedzie generowane dwa razy (w momencie naciśniećia i puszczenia). Natomiast inaczej jest w przypadku przerwań INT0 i INT1 gdzie możesz sobie wybrać kiedy ma...
Witam. Teoretycznie więc: Do obwodu wprowadzasz rezystor pomiarowy, jak wiemy z prawa Ohma zmianom prądu w obwodzie będą towarzyszyły zmiany spadku napięcia na tym rezystorze :) Wystarczy odpowiednio go dobrać i może uda wysterować się nim tranzystor (musisz policzyć czy wystarczający będzie prąd bazy). Tranzystor będzie np. zwierał Ci wejście przerwania...
Ok, sprawdziłem. W trybie z korekcją czegość takiego nie ma. Używam teraz tego trybu, bo nie wiedziałem jak wyłączyć te COMy, zeby bylo automatycznie... Teraz druga sprawa: mam dwa przyciski na przerwaniach INT0 i INT1, ale mi one w ogóle nie działają. Celem głównym jest osiągnięcie przechodzenia w tryb uśpienia i jego budzenie, ale jak już wspomniałem,...
Możesz spróbować mniej więcej tak: // deklaracja zmiennych globalnych volatile uint8_t prev_tcnt, T; // w funkcji 'main' // skonfiguruj przerwanie INT0 tak, by reagowało na obydwa zbocza MCUCR |= (1<<ISC00); // używaj raczej makra ISR ISR(INT0_vect) { // sprawdzasz które zbocze wywołało przerwanie // jeżeli zbocze narastające,...
Ok, dzięki! :) Nie mogę więcej "pomógł" wstawić :P Mam jeszcze ciekawą koncepcję z usypaniem mikrokontrolera. Nie chcę zakładać z tym osobnego tematu, chociaż może tak zrobię jeśli temat okaże się nie taki trywialny. Mianowicie, chciałbym żeby przerwanie zewnętrzne zostało wykrywane po odłączeniu (zbocze opadające) i podłączeniu (zbocze wzrastające)...
Męczę się od tygodnia z modułami RFM12B 868MHz podłączonymi do Atmegi AT90USB1287. Próbowałem różnych kodów i bibliotek. Mam 4 moduły - wszystkie sprawdzałem. Nie mogę przeprowadzić transmisji. :( Nadajnik pracuje zasilany przez amperomierz, widać że na czas nadawania prąd zasilania rośnie. Ale kiedy nie nadaję ale nie wyłączę nadajnika, prąd pozostaje...
Zostaje do omówienia pin INT od PCF8574. Na tym pinie pojawi się zbocze opadające gdy zmieni się coś na wejściu PCF8574. Nie ma możliwości maskowania przerwań dla poszczególnych pinów PCF8574, a przerwanie jest wyzwalane na każdą zmianę stanu (zarówno rosnące, jak i opadające zbocze) na pinach PCF8574. Lepiej chyba użyć MCP23017 do tego celu. Dodano...
a próbowałeś z przerwaniami? można wykorzystać opadające i narastające zbocze sygnału przełącznika które powoduje przerwanie w odpowiedznim momencie.
AVE... Spróbuj tej drugiej metody z użyciem wejścia do generowania przerwania. Tak się robi mierniki częstotliwości i LC na PICach... Ustawiając najpierw przerwanie na zbocze narastające, a po starcie timera na opadające możesz mierzyć długość impulsu. Przy szybkim zegarze nie będzie problemu z czasami...
Tak to wygląda: https://obrazki.elektroda.pl/6963899300_... I tak jak wspominałeś, Twoim zadaniem jest zmierzyć czas trwania sygnału wyjściowego z czujnika - czyli na linii ECHO. Będziesz miał czas trwania przebytej przez falę drogi- jak kolega wyżej wspomniał fala wykonała dwukrotność drogi czujnik-przeszkoda: od czujnika do przeszkody...
Sposób kol. remiorn jest prawidłowy pod warunkiem, że sygnał jest wolniejszy (ponownie nie zmieni stanu) niż przerwanie programu i wejście do funkcji obsługi przerwania wraz ze wszystkimi czynnościami jakie są realizowane na początku tej funkcji. Może nastąpić bowiem taka sytuacja, że sygnał zdążył się zmienić z powrotem na stan początkowy. Jeżeli natomiast...
Czy wykrywasz przez zerem, czy po zerze to nie ma znaczenia - mechanizm powstawania błędu jest taki sam. To co powinieneś zrobić to wykrywać moment przejścia po zerze tak jak teraz, lecz blokować możliwość włączenia triaka na chwilę przed kolejnym zerem. Czyli przerwanie musi być na obu zboczach. Na opadającym blokujesz możliwość wyzwolenia triaka,...
Prosze o podpowiedz-przykladzik jak configurowac (w ATMEGA32)przerwanie np. INT1 aby reagowalo na opadajace zbocze
Witam, po długiej przerwie, przetestowałem parę rzeczy, jednak nadal wszystko nie działa jak powinno :cry: , pomimo tego jestem bardzo wdzięczny więc klikam 'pomógł' osobom które zainteresowały się problemem. Na początek, częstotliwość PWM mam trochę ponad 32 kHz. Testowałem układ z diodą 1N4148, lecz procesor nie reagował na impulsy, tzn. występowały...
No to sprawdź ten kod [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 $sim Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.0 , Rs = Portd.1 Config Lcd = 16 * 2 Config Portc.5 = Output Config Portc.4 = Output Config Pind.2 = Input Config Portd.2 = 1 ' załaczenie rezystora podciągającego On Int0...
układ zbocze opadać bascom zbocze opadać sterować zbocze opadać
skuter zapłon xantia regulator czujnik otwarcie klapa
Fiat Panda 1.1 2004 – montaż liczników z obrotomierzem i halogenów, instalacja, kompatybilność Mitsubishi Outlander II brak świateł mijania i drogowych – żarówki, bezpieczniki, przekaźniki sprawne