Bo nie tak się używa przerwań zewnętrznych. Można po pojawieniu się przerwania od zbocza narastającego wystartować timer, w przerwaniu zmienić na zbocze opadające i gdy pojawi się zbocze opadające zatrzymać timer, odczytać jego stan do zmiennej volatile wykasować i ponownie ustawić na zbocze narastające. Mozna też wykorzystać oba dostępne przerwania....
Witam. Rozumiem, że działa to tak: Timer cały czas zlicza czas... 1. Gdy zbocze jest narastajace, przepisuje aktualna wartość timera do zmiennej zbocze1. 2. Zmieniam aby teraz reagował na zbocze opadające. 3. Gdy zbocze jest opadające , przepisuje aktualną wartość timera do zmiennaj zbocze2. albo raczej: 1.Gdy zbocze jest narastajace, zeruję zawartośc...
Zbocze narastające załącza timer a zbocze opadające wyłącza?
To mierz długość impulsu i przelicz. INT0- start timer-zbocze opadające INT1- stop timer- zbocze narastające No i odpowiedni prescaler.
1. Można to różnie rozwiązać. Najprościej, to wykorzystać któryś z pinów INT. Algorytm: - ustaw przerwanie z pinu INT0 na zbocze np. narastające, - gdy pojawi się zbocze narastające to wywoła funkcję obsługi przerwania, - w funkcji przerwania uruchamiasz timer i zmieniasz ustawienia INT0 na zbocze opadające, - gdy wystąpi zbocze opadające - zatrzymujesz...
Ja już chyba na to odpisywałem, albo deja vu:) Nie Timer nie liczy stanów a zbocza... tak można na takie i takie zbocze liczyć... Ty zapewne chesz liczyć na zbocze opadające...
Od INT0-narastające zbocze a od INT1 opadające. Potem TIMER. Chociaż to rozrzutne wykorzystanie zasobów sprzętowych. Pewnie da się taniej. Dodano po 29 Albo w pętli głównej (pooling): jeśli PD.2=1 to start timer odlicz 1ms(albo 2) (może programowo się podeprzeć-nie wiem jaki kwarc i podzielnik) ustaw PA.2 koniec jeśli. A jak nie: ustaw PA.2=0
Potrzebuje mierzyć czas wypełnienia impulsu, ogólnie to na wejściu mam analogowy sygnał o czasie trwania do 10ms, na wyjściu musze mieć reprezentacje jego czasu w wartości 0-180. Padło na 12f1501 bo ma komparator sterujący timerem1 i wewnętrzy oscylator, czyli mogło by być łatwo. Stanem wysokim na komparatorze chciałbym udpalać timer, zbocze opadające...
Prz zboczu narastającym odpal timer, i ustaw przerwanie na wyzwalanie zboczem opadającym. W obsłudze przerwania zatrzymujesz timere i odczytujesz wartośc oraz wyzerowujesz go przygotowując do następnego odczytu. Znając częstotliwośc zegara oraz wartośc prescalera i odczytaną wartość z timera znasz okres od zbocza narastającego do opadającego. Niby...
Układ NE556 (lub CD4538) jako dwa timery czasie 0,25sek wyzwalane zboczem narastający i opadającym potem transoptor lub przekaźnik do styku PLAY/STOP. Optotriak się nie nadaje.
Nie neguję rozwiązania przerwanie-w-przerwaniu, w niektórych sytuacjach jest to rozwiązanie bardzo eleganckie i efektywne, tylko należy pamiętać aby dobrze wyłączać przerwania. Nie popieram natomiast pętli oczekującej w przerwaniu, kod warto przeprojektować względem tych pętli pozbywając się ich - czy to przez automat skończony zmieniając INT1 na przerwanie...
Możesz zastosować 3 timery 555. Timer 1 resetuje timer 2 zboczem narastającym i jednocześnie uruchamia timer 3 Timer 3 załącza zboczem opadającym timer 2 Timer 2 resetuje timer 1 zboczem narastającym i następnie zboczem opadającym uruchamia timer 1 I zabwa rozpoczyna się od początku. Każdy timer ustawiany oddzielnym potencjometrem. Kanał pierwszy to...
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.
Daruj sobie obsługę przepełnień i przerwanie od przepełnienia timer - kompletnie nic one nie wnosi. Po prostu zapisz wartość timera przy zboczu narastającym, a przy zboczu opadającym odejmij od bieżącej wartości tę zapamiętaną - przewinięcie typu uint16_t przez zakres samo załatwi sprawę. Skąd wiesz, jakie masz wartości, skoro nic z nimi nie robisz?
Aha, nie przyszło by mi do głowy, że bity mogą być o różnej długości, ale teraz taka analiza ułatwia dużo napisanie programu. Po tym starcie każde zbocze opadające załączy wewnętrzny timer i przy kolejnych przerwaniach na zboczu opadającym wartość timera będzie porównywana z jakąś liczbą. Jeżeli jest mniejsza to 0, a jeżeli dłuższa to 1. Oczywiście...
Ustaw timer w tryb multiwibratora. Opadające zbocze wyzwoli multiwibrator i wywoła przerwanie. Będziesz miał informacje o początku pierwszego bitu.
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...
Najwygodzniej było by użyć dwóch przerwań zewnętrznych... Jeśli tylko są dostępne... Tak jak pisałem wcześniej jedno reagujące na narastające zbocze, w przerwaniu włącza timer... Drugie łapie opadające zbocze i w przerwaniu zczytuje zawartość rejestru timera i wyłącza go... Albo na odwrót bo nie pamiętam jaka jest kolejność... Wczytujesz tą wartość...
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...
http://obrazki.elektroda.pl/8753306600_1... Tak wyglądają "bity" na kablu. Stan wysoki jest stanem spoczynkowym. Wyobraz sobie, ze bierzesz timer, podlaczasz taki sygnał do procesora, i co zbocze przechwytujesz wartosc z timera a następnie wykonujesz odpowiedni ISR. Każdy odstęp ma przecież swój unikalny czas. W ISRrze wiesz dokładnie, jakie...
Troszkę się pogubiłem z tym kodem. To ma być tak: konfiguruje INT na zbocze narastające gdy pojawi się zbocze narastające to start timer konfiguruje INT na zboczę opadające gdy pojawi się zbocze opadające to stop timer gdy timer się przepełni to zwiększ zmienną Ja w swoim kodzie miałem coś podobnego tylko timer się nie przepełniał i wyświetlałem jego...
(at)pafciowaw Można, ale raczej Koledze polecał bym trzy timery wyzwalane zboczem opadającym, jeden za drugim. Własciwie to cztery timery, bo jeszcze jakaś ,,bramka" przycisku też by się przydała.
Można też wykrywać zbocza i resetować timer na każdym zboczu (opadającym lub narastającym). Wtedy nie trzeba się przejmować zmianami częstotliwości (przynajmniej w górę).
Debouncing w przerwaniu - tylko nie mów, że robisz to przez aktywne oczekiwanie wewnątrz przerwania. Jeśli tak, to zauważ, że to, że skasowałeś flagę przerwania i jesteś w przerwaniu wcale nie oznacza, że flaga nie może zostać ustawiona ponownie. Możliwy jest taki scenariusz: wciskasz przycisk, pojawia się zbocze opadające które ustawia flagę a więc...
Załączenie X2 załącza Y2 na 3s. Gdzie w timer ustawić na 3 sek. Opadające zbocze na wejściu X3 ustawia w stan wysoki Y3 na 3s. Czy ktoś pomoże ???
Kolego (at)dioda_007 tak z zasady nikt gotowca ci nie napisze. Musisz sam coś naskrobać to dalej możemy pomóc jeśli wystąpią problemy. Generalnie musisz użyć któregoś z timerów. Ja bym to zrobił tak: Przycisk switcha podpiął pod PCINT. W podprogramie obsługi przerwania załączał timer zboczem opadającym i zatrzymywał zboczem narastającym. Potem to już...
Witam, samego zbocza (znanego z innych sterowników) nie ma... ale można zastosować timer BH z nastawą w cyklach - 1 cykl to ok. 10 ms - uzyskasz krótki impuls po zmianie jego wejścia z 0 na 1. Analogicznie wstawiając przed niego negatora uzyskasz "zbocze opadające".
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ę...
Można zastosować do wyzwalania impuls stały dodatni po dodaniu niewielkiego układu RC - wtedy timer będzie reagował na opadające zbocze tego impulsu. Jaki jest charakter impulsu na brzęczyk?
On musi dostać impuls na 31b, żeby ruszył, pomiń na próbę kondensator 2n2 i podaj masę bezpośrednio na rezystor 22k, powinien włączyć przekaźnik na ok sekundę, Zobacz na dokumentację timera 555, reaguje na zbocze opadające na wejściu reset(2) [url=https://pl.wikipedia.org/wiki/Timer...
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...
Chcę za pomocą avr mierzyć czas trwania impulsu z kilku kanałów odbiornika modelarskiego i wymyśliłem, że podepnę każdy mierzony kanał do osobnego wejścia uC a wszystkie razem przez diody do do INTx. Po wejściu do procedury obsługi przerwań sprawdzę na którym pinie jest sygnał wysoki i dla tego będę odmierzał czas timerem. Moje pytania są następujące:...
Witam wszystkich kolegów Mam prawdopodobnie dość trywialny problem. Chce zliczać impulsy na jednym z pinów uC (częstotliwość 100-200kHz) w czasie kiedy na innym pinie uC jest stan wysoki. Mój pomysł wygląda tak: Ustawiam timer w 16 bitowy tryb prosty Przerwanie wyzwalane zboczem narastającym zeruje 0 16 bitowy timer Przerwaniem zboczem opadającym przepisuje...
Nie tędy droga, Ty musisz zrobić coś dokładnie odwrotnego - nie wygenerować sygnał, ale go zmierzyć. Rozwiązania są 2, ale jeśli programujesz w bascomie i nie masz ochoty na operacje na rejestrach w procesora to kurczą się do jednego. Mianowicie: 0. ustawiasz timer na zliczanie impulsów i zmianę wartości jakiejś zmiennej - parametry dobierz w zależności...
Nie chcę wyjść na językoznawcę, ale ciężko się czyta ze zrozumieniem takie długie zdanie bez przecinków. Jeśli dobrze odczytałem, to proponuję zrobić taką sekwencję: - timer TON odlicza po wciśnięciu przycisku - po odliczeniu ustawia jakiś bit np.: S kalibracja - po odpuszczeniu przycisku, wykrycie trybu kalibracja i N_TRIG, zbocze opadające na przycisku,...
Witam, mam taki problem i pytam czy wybrane przeze mnie rozwiązanie jest optymalne. Musze zmierzyć czas trwania impulsu (logiczna jedynka). W tym celu podaje ten sygnał na wyprowadzenie INT0. Ustawiam przerwanie INT0 na zbocze narastające. Jeśli pojawi się zbocze narastające w funkcji obsługi przerwania ustawiam flage ZN. W pętli głównej sprawdzam flage...
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...
Masz błędny kod. Jak chcesz by program działał jak trzeba to musisz wiedzieć co robi każda linijka. Włączasz przerwanie od przepełnienia timera0, a nie maż funkcji do jego obsługi. Deklarujesz funkcję do obsługi przerwania zewnętrznego, a nie masz funkcji obsługi i nie zezwalasz na to przerwanie. Na moje oko to po uruchomieniu timera procesor się zresetuje...
Tak po pierwsze to przerwanie masz domyślnie wzbudzane stanem niskim, czyli przerwanie wywołuje się W KÓŁKO dopóki na pinie panuje stan niski. Musisz je ustawić tak, by reagowało na zbocze (w Twoim przypadku opadające). Poza tym jak pisał (at)emarcus - cały program jest pisany bez zastosowania się do jakichkolwiek dobrych nawyków, a i jak widzę wiedza...
Dzień dobry, Mam problem z klawiszami. Zedytowałem do własnych potrzeb fragment kodu znaleziony na http://mikrokontrolery.blogspot.com/ [syntax=cpp]ISR(TIMER0_OVF_vect) { sei(); static uint8_t stan_przyciskow_najstarszy , stan_przyciskow_stary , stan_przyciskow_nowy; stan_przyciskow_najstarszy = stan_przyciskow_stary; stan_przyciskow_stary = stan_przyciskow_nowy;...
LPC176x (czyli wersja 100-nóżkowa) posiada 4 timery, każdy z nich posiada po dwa wejścia: CAP0 i CAP1. Daje to max 8 wejść, czyli może się udać. Pokrótce wejścia CAP pozwalają zapisać aktualny stan timera (rejestr TC) w rejestrze CR0/CR1 w momencie zmiany stanu na takim wejściu. Pomiar szerokości impulsu PWM jest tym samym tak dokładny, jak często tyka...
mały błąd, myślałem że w danej chwili tylko 1 timer może przyjmować sygnały zewnętrzne. W takim razie pozostaje mi wykorzystać 3 timer do odmierzania okresu czasu. Zastanawia mnie jeszcze rozwiązanie z rejestrami ICP/(Input Caputre Unit?) Nie wiem czy dobrze to rozumiem: narastające zbocze sygnału podane na nóżkę ICP uruchamia timer, opadające go zatrzymuje....
W przerwaniu mam zamiar uruchomić timer1, w którym wykorzystuje Input Capture by zatrzasnąć kolejne zbocze opadające Timer powinien sprawdzić stan pinu za jakiś czas np 30ms. Powinieneś to jeszcze połączyć z wykrywaniem zarówno zbocza opadającego jak i narastającego. Zależnie od tego, które zbocze wywołało przerwanie zwiększasz lub zmniejszasz zmienną...
Jak rozumiem chcesz defakto dzielić częstotliwość przebiegu jeżeli tak to nic prostszego: pętla for inkrementowana stanem wysokim np. i po osiągnięciu określonej ilości powtórzeń zmiana jakiegoś pinu "wynikowego" na stan przeciwny. problem się zacznie jak będziesz chciał podzielić przez liczbę inną niż wielokrotność 2 nie mam pomysłu jak takie dzielenie...
Jak już Kolega nabierze wprawy z przerwaniami i timerami to można osiągnąć zamierzony cel w następujący sposób: Dajemy sygnał (którego długość trwania chcemy mierzyć) na wejście INT0 oraz INT1 jednocześnie, przy czym pierwsze ustawiamy na zbocze rosnące a drugie na spadające, w przerwaniu INT0 startujemy timer1 a w przerwaniu INT1 zatrzymujemy go,...
Ciekawe jest to widać w twoim profilu (Pomógł: 79927) :P ale do rzeczy. Według mnie coś takiego można zrealizować w następujący sposób: - konfigurujesz przerwanie zewnętrzne żeby było wyzwalane przerwanie zboczem opadającym, rosnącym etc. - w tym przerwaniu uruchamiasz timer który zlicza sobie impulsy - jeżeli zliczy określoną ilość impulsów to wykonujesz...
Co do kodu: 1/ nie dołącza się pliku iom8.h. Ten plik jest dołączany przez io.h. Należy przy kompilacji przekazać parametr -mmcu=atmega8 2/ Makro "ICP" korzysta z "PINB0", ale to nie jest bit od zmiennej PINB, żeby można było odczytać. To nie jest nawet maska odpowiedniego bitu. To jest numer bitu w rejestrze PINB, pod którym jest pin 0. PINB0 jest...
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...
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,...
Nadajnik możesz to zrobić w oparciu o timer, na którym ustawisz sobie określony zegar - np. te po rz ądane 250 kHz. Być może musisz ustawić 500kHz - aby wyłapywać nie tylko czas cyklu, ale i jego zbocze narastające i opadające. Potem budujesz sobie kolejkę danych (bufor fifo) - która stanowi podstawę dla timera - do "machania określonym pinem". Wysłanie...
Sygnał przychodzący podłączasz do dwóch wejść: INT0 i ICP1. Rejestry MCUCR i GICR konfigurujesz tak, żeby na zbocze narastające na wejściu INT0 timer startował, a na opadające na INT1 zatrzymywał się...
Dzięki za śmigła! Co do impulsów, to jest tak sprawę nadawania już mam powiedzmy rozwiązaną i przetestowaną. Odbywa się to poprzez oczywiście PWM, długości impulsów są łatwo skalowalne (zwykła zmienna typu int) między 1-2ms więc to nie jest problem, jak uporządkuję program to ci podeślę kod jeśli będziesz chciał. Co do pomiaru czasu trwania impulsów...
więc tak jak kolega będzie niegrzeczny to napewno nikt ci nie pomoże. rozwiązanie twojego problemu może być funkcja bascoma PULSEIN var , PINX , PIN , STATE ale ona jest dość mało dokładna i zależy od kwarcu. ja bym ci proponował zrobić tak ustawic timer w tryb timera i tak dobrać preskaler aby napewno nienastąpiło przepełnienie. następnie dodać instrukcje...
Skąd bierzesz sygnał wejściowy? Mam nadzieję, że nie z przycisku - wtedy będziesz miał kilka zatraśnięć timera przy każdym naciśnięciu i zwolnieniu. TIM2->SR&=!TIM_SR_CC1IF ; // Zeruję flage - to inaczej TIM2->SR &= 0; Ta instrukcja zeruje wszystkie znaczniki źródeł przerwań timera. Całkowicie niepotrzebnie używasz też: NVIC_SetPriorityGrouping( 5);...
Potrzebujesz zbudować 2 timery, jeden odliczający godzinę a drugi 5-10min. Zbocze opadające tego odliczającego 1h ma wyzwalać ten 5-10min z kolei ten 5-10min wyzwala ten 1h i będziesz miał pętlę a o to ci chodzi.
Wyzwalaj timer zboczem narastającym jednego impulsu, a resetuj opadającym kolejnego. Zboczem narastającym drugiego przekaż bieżącą wartość timera przed jego zresetowaniem do komparatora. Skorzystaj z definicji częstości f=1/T. Czyli mierzysz czas pomiędzy dwoma kolejnymi impulsami (jest to najkrótszy okres, dla którego częstość ma jakikolwiek sens)....
. Zamierzam zrobić tak by mogli wprowadzić korektę (jeśli będzie potrzebna) i zapisać w eeprom. czy to dobry pomysł? Jakoś tak; $Crystal=12000000 Config Timer1 = Timer , Prescale = 8 On Timer1 Inter_1mS Inter_1mS: Counter1 = Counter1 + Licznik (64036 - wychodzi z obliczeń, że da to 1ms) /tu odliczę sobie 103/ Błednie to rozumujesz, albo błednie podałeś...
http://www.thelearningpit.com/lp/logixpr... możesz się pobawić, jest to RSlogix 500 przerobiony, dodany symulator plus kilka zestawów demo działa 15 dni, można rozszerzyć To co widzisz, to język LAD jest odwzorowaniem schematu elektrycznego. Po lewej stronie masz np 24V, po prawej masę. wszystko to co w środku to elementy który występują w schamacie,...
Witam. Ja bym rozważył wszelkie magnetyczne, odrzuć optyczne, jazda po błocie i nic nie działa. Niestety, każdy czujnik będzie wymagał nieco innego odczytu, kontaktron będzie chyba najprostszy, bo włączasz go jak "przycisk" przez rezystor i kondensator w celu eliminacji drgań. Jak zastosujesz hallotron to nie obejdzie się bez dodatkowego wzm. operacyjnego...
Naprawdę nikt nie jest w stanie nic pomoc ? Miało by to mniej więcej wyglądać tak: -sygnał podawany na ICP ma postać kwadratową -zbocze opadające powoduje zapis wartości timera do rejestru sprzętowego -odejmując kolejne wartości rejestru od siebie uzyskuję czas jaki upłynął między impulsami -obliczając odpowiednio czas uzyskuję ilość impulsów na minutę
OK to jeszcze dopytam tak, rozumiem że na początku przerwania zmieniam stan Edge_ na 0, liczy timer i config int0=rising ale co dalej załóżmy że nadejdzie zbocze narastające i co wtedy się dzieje? No tak, zabrakło jeszcze jednej linijki... sory... Powinno być: If Edge_ =0 Then Start Timer1 Config INT0=Rising Else Stop Timer1 Config INT0=Falling End...
Po co podajesz PWM na wejście sterownika silnika - na jego wejściu powinien być przebieg, którego ilość zboczy (opadających lub narastających w zależności od sterownika) odpowiada ilości kroków do wykonania w zadanym innymi wejściami kierunku. Zatem nie generuj tych przebiegów za pomocą PWM, ale za pomocą timera. Częstotliwość przerwań będzie wtedy...
Chcę napisać procedurę rozpoznającą sygnał z pilota samsung tv. Na analizatorze stanów logicznych odczytałem przebieg z guzika pilota (wkleję go później). Nie jestem do końca przekonany jak ustawić timer w bascomie. Timer musi być wyzwalany zboczem opadającym. Czy potrzebne są jakieś inne dodatkowe ustawienia dla timera? Bit startu ma ok 4,5ms logicznego...
W celu uzupełnienia załączam materiały dotyczące zastosowanych modułów. Timer. Pomiar napięcia, prądu i.t.d. - nie jest niezbędny ("wodotrysk"). Zdjęcie modułu regulacji mocy gdzie jest oznaczone wejście 12V (Power) i wyjście 12V (motor). Myślę że zasilacza nie trzeba pokazywać. Sposób podłączenia wyłącznika lampy z jednoczesnym włączeniem timera do...
Podłączasz do wejścia INT0 i konfigurujesz timer, masz do wyboru zbocza opadające... Przecież w AVR możesz podawać zliczane impulsy bezpośrednio na piny T0 lub T1 - obydwa Counter'y liczą w góre.
Witam problem jest taki że generalna zasada pomiaru takiej długości jest znana... pod INT0 podpinam sygnał... ustawiam przerwanie na narastające zbocze... odpalam timer na opadającym zboczu odczytuje zawartość timera i zależnie ile wynosi to coś tam się ustawia. Napisałem taki program w c i coś nie działa a nie mam pojęcia co;] może kwestia jest taka...
W Bascomie jest do tego specjalna instrukcja Zaglądnij do Helpa na polecenie Pulsein Zauważ że zarówno instrukcja pulsein jak i pulseout mierzy tylko czas trwania impulsu a nie całego cyklu; patrz paniżej diagram: http://obrazki.elektroda.pl/1148630500_1... Zmierzysz tylko L1 albo L2 . Autor potrzebuje zmierzyc czas L (czas pomiędzy...
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.
Też jestem początkujący i choć problem wydał mi się błahy, był niezłą zagwozdką. Ostatecznie dodałem dwa markery Zezw_siln_1 i 2. Błąd miałeś też w pętli reset timerów: jeżeli są resetowane zboczem opadającym, to sygnał musi pochodzić w tym wypadku od wejścia przypisanego do danego timera a nie przeciwnego. Aby zabezpieczyć timer przed resetem przyciskiem...
Piszę pewien program na 90s8535 i mam następujący problem. Wiadomo ze to AVR i nie ma on wejścia kluczującego Timer, więc próbuję zrobić cos takiego programowo. Idea jest taka ze mam podpięty pod INT1 generator i nim ustalam odpowiednie zbocza sygnału. Wymyśliłem, że zbocze wznoszące wywołuje przerwanie a te z koleji włącza prescaler Timera (teraz będzie...
już pisałem co zrobić ale tym razem ty nie doczytałeś chyba, więc: po pierwsze - ustaw wyzwalanie przerwania INT0 zboczem opadającym (falling) po drugie - tuż po wejściu w przerwanie wyłącz je disable INT0 ale zaraz po tym daj Enable Interrupts, żeby mógł działać Timer potem odbierz kod RC5 ustaw swój znacznik Odebrano a resztę przetwarzaj w programie...
Szkoda że na '51, bo na AVR było by łatwiej. Można to zrobić tak: Procki '51 mają wejścia zewnętrznego przerwania wyzwalanego stanem niskim, lub zboczem opadającym. Ciebie interesuje to drugie (bo zboczemn narastającym się nie da jak w AVR). Nie wiem jak wygląda konfiguracja przerwań w BASCOMie, zobacz w dokumentacji, ale podejrzewam że coś w rodzaju:...
Jdno pytanie czy ponizsza konfiguracja bedzie prawidłowa : Chodzi o to aby licznik zliczał impulsy wewnętrzne z kwarcu przez czas jaki na int0 bedzie stan wysoki. w momencie pojawiania sie zbocza opadającego aby program przchodził do obsługi przerwania : Fragmenty w bascom : config timer0 = timer , gate = external , mode =1 set Tcon.0 - reakcja na zbocze...
Proponuję coś takiego: 1. na przerwaniu, na zbocze narastające włączasz timer; 2. Jeśli wystąpi przepełnienie licznika, zmieniasz preskaler i czekasz na następne zbocze narastające. 3. na przerwaniu, na zbocze opadające zapisujesz wartość np. do eeproma. Nie wiem Jakie orientacyjnie czasy będziesz miał do mierzenia, ale jak to rozwiązanie będzie zbyt...
Witam, odwróciłem 115200 ale to wychodzi na jedne bit a nie bajt czyli raz 10 czyli około 86us, to nie jest ważne... Teraz uruchamiam timer co 1ms i sprawdzam czy "były dane" chciałem użyć timer w trybie Slave mode: Reset mode, czyli ja podam mu zewnętrzny sygnał to zbocze narastające lub opadające od transmisji go wyzeruje, a jak nie ma transmisji...
Bezapelacyjnie musisz wywalić bitwait z obsługi przerwania. Ja bym próbował to robić licząc czas pomiędzy przerwaniami. Lub czas pomiędzy zboczem narastającym i opadającym.
Sygnał podaję na nóżkę PORTD.6, mam go skonfigurowanego tak: [syntax=basic4gl]Config Portd.6 = Input[/syntax] Timer konfiguruje jako timer, ponieważ chcę mierzyć czas trwania zbocza: -konfiguruję za zbocze opadające -przepisuję wartość timer1 do zmiennej A -przełączam na zbocze narastające -przepisuję wartość timer1 do zmiennej B -od zmiennej B odejmuję...
Witam Planuje zrobić sobie miernik częstotliwości różnych kształtów napięcia: sinus, prostokąt, trójkąt. Zamianę sinusa i trójkąta na prostokąt mam już zaplanowaną. Zostało mi tylko zmierzenie częstotliwości sygnału prostokątnego o amplitudzie 5V i przedziale częstotliwości od około 10 kHz do 500 kHz. Chciałbym to zrobić na mikrokontrolerze ATmega8...
http://obrazki.elektroda.pl/3880334200_1... Napisane w 3 minuty w LDmicro i zasymulowane. Działa po naciśnięciu start. Nic kolega nie mówił o stop dlatego nie został zdefiniowany. Timery nastawione na 5 sek w celu szybkiej symulacji. Dla scisłości OSF to zbocze opadające. Pozdrawiam
A kolega rozumie różnice pomiędzy pracą w trybie timer i counter ??? ;)
Przecież już mówiliśmy o tym. ATmega8 -> 1,4V (zbocze opadające) i 1,9V (zbocze narastające) przy Vcc=5V. Te napięcia dotyczą wszystkiego. Niezależnie czy używasz pinu jako zwykłego IO, jako wejścia przerwania, czy jako wejścia Timera.
Pozostaje tylko zwłoka faktycznej obsługi przerwania która nie jest stała więc dokładność wyniesie kilka cykli. Jeśli to pisałeś w odniesieniu do mojego postu, to znaczy że nie wiesz jak działa Input Capture od timerów. Przerwanie mogło by przyjść w dowolnym momencie, byle przed następnym zboczem opadającym. Po wystąpieniu zbocza timer automatycznie...
Wejścia capture ustawiasz na zadziałanie na zboczu opadającym i rosnącym (obydwa) i gotowe. Timer może być wspólny, tylko musisz sobie dobrać odpowiednio "podstawę czasową". 4\/3!!
Mam program do zegarka z alarmem...podczas kompilacji w programie Bascom AVR wyskakuje mi bład w tej lini Set Tcon.2 'opadające zbocze int1 dla obslugi timera Enable Interrupts 'odblokowanie przerwań On Int1 Sekunda 'skok do etykiety sekunda gdy wystąpi int1 a brzmi on tak Error:41 Line: 49 Variable can not be used with SET [TCON] Niech ktoś mi pomorze!!!!
Moja propozycja to dwa PCM-04/24V i przycisk dzwonkowy, pierwszy timer ustawiony na 10minut i przerywa obwód przycisku dzwonkowego, drugi timer ustawiony na 5 min i załącza elektrozawór. Timery ustawione na program np. G, "IMPULS CZASOWY WYZWALANY ZBOCZEM OPADAJĄCYM – zasilany układ po zaniku impulsu wyzwalającego (zbocze opadające) załącza przekaźnik...
Czytaj wolniej bo chyba ominąłeś coś co napisałem. Powiedz mi co to ma znaczyć w odniesieniu do mojej poprzedniej wypowiedzi: Start Timer1 usuń bo tylko tu zawadza. Używa się jej tylko kiedy się najpierw Timer zatrzymało. Po konfiguracji Timer jest włączany automatycznie.
Kwarc którego używam to zewnętrzny 8Mhz. A ta się zastanawiam czy zamiast przerwania od przepełnienia ie powinno się użyć jakiegoś porównania wartości timera z w wartością w rejestrze?? Tak, przy opadającym zboczu wyzerować i wyłączyć timer, przy rosnącym wyłączyć (i ewentualni wyzerować), gdziekolwiek w kodzie while(TCNT1<0xB71B); (Czekanie aż...
Potrzebujesz częstotliwość około 2Hz, czyli okres 0,5s. układ dzieli przez 65536. Wzór na częstotliwość f=1/2,3xRtxCt Rezystancja w M, pojemność w uF. Schemat chyba dobrze, tylko na wyjściu tranzystor sterujący przekażnikiem, z diodą zabezpieczającą. Dodano po 12 Warto zauważyć, że wejście 6 wyzwala generator monostabilny opadającym zboczem. Czyli zacznie...
Jeśli mamy kilka możliwości, to należy wybierać najprostszą. Do zdekodowania ramki (telegramu) sygnału z nadajnika wystarczy procesor posiadający licznik pracujący w trybie timer i jedno wejście przerywające. Jeden z Kolegów już to podkreślił - mierzymy czas między zboczami narastającym (opadającymi). Kiedy nadejdzie impuls synchronizacji tzn. timer...
Witam Potrzebuje do mojego projektu bloku opóźniającego coś jak timer TON w sterownikach. Niestety nie mam pomysłu jak to napisać w verilogu. Blok ma opóźnić o ustawiony czas zbocze narastające natomiast opadające by wystąpiło bez opóźnienia.
Witam, Z tego co piszesz sprawa wygląda banalnie. Tylko mam pytanie jak byś proponował zapisać wartość licznika w momencie gdy następuje automatyczne zatrzymanie timera (jak wykryć ten moment)? Przecież napisałem to już w poprzednim poście. Timer kończy liczyć, gdy stan na wejściu INTx zmienia się z wysokiego na niski. Dokładnie to samo zdarzenie (opadające...
No i jeśli chodzi o śmieci na wyjściu odbiornika RRQ3 które są na wyjściu to tak jak opisywałem. Udało mi sie upchnąć cały algorytm w tym samym procesorze co cały właściwy program ale pod warunkiem że w danej chwili procesor zajmuje się tylko analizą danych na wejściu. Opisze jeszcze jasniej metode : Podpinam odbiornik pod dowolne wejście procka. Czekam...
Dopytam GROKa ale on też nie rozumie o co mi chodzi: Takie pytanie. Zadajcie je mu sami i zobaczcie do odpowiedział: Słuchaj... mam 555 w systemie monostabe. Ustawiłem opóźnienie na około 20 minut. Po uruchomieniui na pin 3, 555 pojawia się stan wysoki i dioda się świeci przez 20 minut, po czym gaśnie. I teraz słuchaj. Chcę zrobić jakoś sposób, żeby...
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...
10us, to 5 razy szybciej niż w AVR. To tak wynika mniej-więcej z tego, ze ARM jest na dzień dobry 7 razy szybszy. Możesz napisać jak teraz mierzysz czas impulsu? 10us to tak na oko strzeliłem dlatego że wartość timera MRT obecnie łapana jest softwarowo w przerwaniu na opadające i rosnące zbocze. SCT powinno się dać skonfigurować żeby bez użycia przerwań...
Może lepszym rozwiązaniem byłoby normalne zasilenie układu i usypianie go za pomocą timera. INT0 podciągnięte rezystorem do VCC a wybudzanie zboczem opadającym branym przez diody z przycisków. Czyli np. komenda Powerdown i wybudzenie sygnałem na wejściu INT0 ?
Przykładowo mikrokontroler miałby zmierzyć czas pomiędzy zboczem narastającym i opadającym. Konieczna będzie jednak możliwość wyboru dowolnej konfiguracji. Teraz sprecyzuj te "dowolne konfiguracje". Dowolna konfiguracja znaczy możliwość ustawienia pomiaru od zbocza: -narastającego do opadającego -opadającego do narastającego -narastającego do narastającego...
Witam, Zastanawiam się nad dekodowaniem kodu RC5 bez użycia Timera. Przyszło mi do głowy, iż można byłoby czekać na pierwsze zbocze opadające (pierwszy bit startowy) a następnie próbkować (w procedurze przerwania) co 3/4 z 1.76ms wejście wykorzystując puste pętle..aż do końca (do 14-bitu). Rozwiązanie takie wstrzymuje jednak główny program na ok. 25ms...
Wieża to samsung max 550, pilot ma w sobie układ BU2478-2Z. Próbowałem przy pomocy Timera, co ok 500 us w przerwaniu Timera sprawdzałem stan wejścia sygnałowego od czujnika 0/1. W pętli dodawałem daną wartośc do ciągu znaków. W efekcie otrzymałem "analize" sygnału którą trzeba troszkę dostroić Timerem i wydobyć z tego interesujący nas fragment. Działa...
Wybacz nie dostałem wiadomości od Ciebie. Wykorzystuje ICP i konfiguruje go na zboczek opadające. gdy wykryje te zbocze przestawiam ICP na zbocze rosnące i odejmuje jedna wartość od drugiej. I masz czas trwania jednego wtrysku Następnie sumujesz te impulsy aż inny timer wywoła przerwanie ( w moim przypadku ci 1s). Potem to już tylko obliczenia.
zbocze opadające opadające zbocze zbocze narastające opadające
dekoder cyfrowy polsat kupić tranzystory 2sc2166 zaprogramować pilot samochodu
gramofon daniel obroty silnik zelmer
Jak usunąć pobrane programy z TV Panasonic Viera? Lokalizacja skrzynek bezpieczników w Range Rover P38