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.
Może przybliżę bardziej zastosowanie. Chodzi mi o program sterujący silnikiem krokowym (w założeniu unipolarnym) z progrmów typu mach3, step2cnc, turbocnc. Programy te jak wiadomo podają przez port LPT step i dir. Step czyli krok można wykorzystać jako sterowanie przerywaniem int1 w naszej atmedze. Natomiast dir określa kierunek i przyjmuje stan niski...
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...
Widzę profesjonalna analiza:)Dziękuję. Jednak aż tak zaawansowany nie jestem by zastosować wszystkie Twoje wskazówki.Jednak niektóre pojęcia nie tyle, że są obce co nie do końca znam zasadę ich działania np.flagi. Układ chciałem by działał bez obsługi z zewnątrz czyli brak sterowania włącznikami góra dół jedynie impuls zewnętrzny a właściwie zmiana...
Ż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?
hmmm takie kombinacje.... przacierz można rejestr odpowiadający za przerwanie ustawaiać w czasie wykonywania programu... raz ustawiasz go na zbocze narastające, a potem w obsłudze przerwania na zbocze opadające.
Nie możesz "przekierować" pinu. Przypisanie przerwania zewnętrznego jest hardwareowe. Generalnie wszystko zależeć będzie od tego jak masz skonstruowaną główną funkcję. Jeżeli stosujesz w niej co rusz jakieś opóźnienia to będzie lipa, ale jeżeli cała główna funkcja wykonuje się szybko, bez zbędnych opóźnień to wtedy bez problemu w głównej pętli analizujesz...
Wykorzystaj przerwania. _delay w C i wait w Bascomie to jest to samo paskudztwo.
pixel7 ale bzdura. Nie wydaje mi się. Bzdura bzdura. Takie coś zareaguje na poziom a nie na zbocze.
Ustawiając int na opadające zbocze...
Wszystko zależy od tego co jest źródłem impulsów. Jeżeli przycisk, to może to być efekt odbijania sie styków. Jeżeli to sygnał z innego urządzenia to może jego wydajność prądowa jest mała i zbocze zbyt wolno opada. A jeżeli sygnał jest dostarczany przez dodatkową rezystancję to może podciągający rezystor jest za mały.
Proszę o prosty program który będzie obsługiwał przerwanie INT2 opadającym zboczem na procesor atmega 8535 w bascomie. Wynikiem działania obsługi przerwania może być zaświecnie ledy na dowolnim porcie. Próbowałem różnych konfiguracji i nic nie działa, INT0 i INT1 działa a INT2 nie :( z góry dziękuję george2002
Witam. Borykam się z problemem przerwania INT1 w procesorze Atmega88p. Otóż przerwanie raz działa poprawnie , wykrywa odpowiednie zbocze , a innym razem załącza się praktycznie losowo . Napisałem specjalnie prosty programik aby zobrazować problem . Program jest pisany w bascomie jednak ze sporą ilością wstawek z assemblera . (Na czystym bascomie zachowuje...
Ten kod to zupełnie najprostszy sposób jaki można sobie wyobrazić w Bascomie. Chodziło mi tylko o to aby sprawdzić czy ATMEGA działa: Config Pinb.0 = 1 ' port jako wyjście Do Portb.0 = 0 Waitms 2 Portb.0 = 1 Waitms 2 Loop End Na innym ATMEGA8 z kwarcem 8MHz impulsy 1µs mają wzorowy kształt prostokąta. Więc nie jest to kwestia sondy i oscyloskopu....
...Załamała mnie Twoja wypowiedź kolego korrus666... Widać programowanie w językach wysokiego poziomu strasznie Cię okaleczyło. Napisz trochę programów w asemblerze, a wyjdzie Ci to na dobre. Zrozumiesz działanie procesora (choć Atmega to już mikrokontroler) i będziesz pisał lepsze programy w swoim C, Javie, lub co gorsza Bascomie. OOO Matko! A mnie...
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...
Źródło INT0 włącza źródło INT1 i same siebie wyłącza. W przerwaniu z INT1 podobnie: Źródło INT1 włącza INT0 i same siebie wyłącza. A może jednak popróbujesz z przełączaniem trybu pracy INT0 "w locie": raz narastające, raz opadające zbocze?
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...
olo_3 -> to jest cały kod? ten który tu pokazałeś????? jeśli tak - to po pierwsze - gdzie masz pętlę główną po części inicjalizacyjnej programu ??? DO ... LOOP - chyba że ślepy jestem czy jak? (jeśli rzeczywiście jej nie masz to nie dziw się, że twój program wariuje bo po z tego co widać po inicjalizacji odrazu program leci do obsługi przrwania i się...
7401 to była jakaś bramka, nie ma to chyba tutaj większego znaczenia. O ile pamiętam 74151 to multipleksery - tutaj chyba odpowiadają za doprowadzenie odpowiednich danych do 7447. Sygnał możesz brać z wyjścia 7442 tak, jak dotąd - to wiecej kabelków, ale jak już masz podłączone.... Chyba, żeby się okazało, że program się nie wyrabia z tymi wszystkimi...
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źć.
Jeżeli już tak to ustaw przerwanie na każdą zmianę i sprawdzaj stan pinu int0. będzie szybsze bo nie będzie procedur ustawiania falling/rising: config int0=change ... przerwanie_int0: if pind.2=0 then 'opadajace zbocze else 'narastajace end if ... return Z analizy kodu asm bascoma wynika ze szybciej zadziała oddzielny warunek: if pind.2=0 end if...
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...
Język nie jest ważny. Polega to na odpowiednim ustawieniu sygnałów na wejściach LCD czyli sterowania rejestru Port. Jak wrócę z pracy to wstawię tu kod napisany w C dla zwykłego LCD ( z lekkim tłumaczeniem). Może uda się to przerobić na Bascom. Wtedy uzyska się dostęp do czasów. Do tego czasu spróbuj wyssać procedurę inicjacji z noty katalogowej. P.S....
On Urxc Rs_rx_ok On Utxc Rs_tx_ok '---------------------------------------... Dim Rs_tx_bufor(7) As Byte Dim Rs_tx_licznik As Byte Dim Rs_tx_ograniczenie As Byte Ddrd = &B00000010 'TXD = wyjscie, reszta wejscia Portd = &B00000010 'TXD = stan wysoki, reszta HI-Z Ddrb = &B00001000 'PB3 = wyjscie,...
Reagują na zbocze opadające, narastające i na niski stan... jak sama ich nazwa wskazuje:>
Napisalem w bascomie program ktory ma mierzyc czas trwania impulsu. Dokladniej jest to pokazane na rysunku w zalaczniku. Ale niestety program niechce dzialac a dokladniej pokazuje mi na lcd caly czas 101 i niewiem co jest grane bo moim zdaniem jezeli zmienia sie czas trwania impulsu to powinna sie zmienic iloscimpulsow zliczonych przez licznik. dodam...
Witam A nie lepiej wyzwalać przerwania zboczem, zamiast poziomem? Przykładowo: CONFIG INT1 = RISING 'reakcja na zbocze rosnące CONFIG INT1 = FALLING 'reakcja na zbocze opadające Wtedy procesor obsłuży przerwanie tylko raz po znianie stanu INT1 z wysokiego na niski (jeśli skorzystasz z FALLING oczywiście). Co robisz źle to trudno powiedzieć nie widząc...
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ę...
Tak właśnie to wyczytałem, zmieniłem nawet tablice na VOLATILE i też nie pomogło :( Ale teraz mam 202 przerwania w sumie czyli już jakiś postęp, a ma być 256 na obydwu zboczach , 128 na opadającym
Rzeczywiście, z zaremowaną funkcją bitwait zmienna W przybiera wartości. Nie mam pojęcia dlaczego. Musisz tu zrozumiec mechanizm pomiaru długości trwania impulsu w instrukcji "PULSEIN": patrz 'Bascom help' Pulsein W , Pinc , 0 , 1 W tym konktetnym przypadku pomiar czasu dokonywany jest pomiędzy zboczami, z których pierwsze jest rosnące a drugie opadające....
Przerwania PCINTx wykonują się przy każdej zmianie stanu logicznego, niema możliwości konfiguracji np. tylko dla zbocz narastającego lub opadającego. Stan zbocza na poszczególnym pinie sprawdzasz w przerwaniu. Attiny13 ma 6 pinów PB.0-PB.5 (PCINT0 do PCINT5) które mogą wywołać przerwanie. I tu jest jedna myląca rzecz :) dla tych pinów jest tylko jeden...
To jest jakaś transmisja szeregowa procedure SendWord(W:Word) rozkłada słowo na bity i wysyła pojedynczo korzystająć z procedur One i Zero. Wygląda jakby na któreś linii była dana była na drugim bicie a zegar na pierwszym (najmłodszym) wpisywanym do portu o adresie IO. Wysłanie danych polega na wpisaniu jej do drugiego bitu i zmiany pierwszego dwókrotnie...
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ń.
tak :D set ISC01 , procesor będzie reagował na zbocze opadające :) ale w 2051 trzeba rc zastosować...
Nie wiem o jakie przerwania Ci chodzi zewnętrzne czy wewnętrzne. Uwaga dotyczy przerwań zewnętrznych. Jeżeli ustalisz priorytet dla INT0 a będzie ono reagowało na stan a nie na zbocze to procek nie zauważy przerwania INT1 do czasu wystąpienia stanu wysokiego na INT0. Sposób reakcji ustala się komendą Set (opadające zbocze) lub Reset (niski stan) Tcon.0...
Nie zadeklarowałeś na jakie zbocze reaguje INT, czyli masz domyślne ustawienia procesora (rejestry są ustawione po resecie na domyślne). Jakie dane wystawia Twój odbiornik IR, czy w stanie spoczynku masz stan H czyli +5V? Jeśli tak to przerwanie powinno być tylko na zbocze opadające. Twój odbiornik ma stan wysoki jak nic nie odbiera, każdy wysłany bit...
Próbuję zrobić emulator dekodera PT2272 (dekoder pilotów radiowych), transmisja nie jest zbyt skomplikowana i wykonanie kodera było proste. Problem zaczyna sie po stronie odbiorczej. Na przebiegu zaznaczyłem wszystkie 4 stany jakie występują w słowie kodowym. Są to odpowiednio "0" "1" "T" i ostatni synchronizujący. http://obrazki.elektroda.pl/4855744500_1...
. 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ś...
Witam, zwraca się z ogromną prośbą do wtajemniczonych w programowaniu w Bascomie. Otóż piszę program do mierzenia obrotów wirnika silnike elektrycznego i wykombinowałem sobie, że to będzie działać tak, że co obrót wygenerowane zostanie przerwanie zewnętrzne a właściwie przepełniony zostanie T2 bo będzie mu brakowalo zawsze tylko 1 do przerwania, a w...
dzieki za podpowiedż! więc zrobiłem tak ,ale bez lcd,bo ledy już działają: B Alias P3.3 A Alias P3.2 Set A Set B Set P3.5 Set P3.7 Reset Tcon.0 On Int0 Rotarydec Enable Int0 Enable Interrupts Do Loop Rotarydec: If A = 0 Then If B = 0 Then Reset P3.7 Waitms 250 Else Reset P3.5 Waitms 250 End If End If Set P3.7 Set P3.5 Return i w zasadzie działa,tylko...
hmm ultradźwiękowych nie da się poznaczyć dodatnich i ujemnych połówek fali ultradźwiękowych troszeczke nie rozumiem po co okreslac to czy to jest dodatnia czy ujemna mozna to zrobic przez rozroznienie czy to jest narastajaca zbocze czy opadajace czyli tak jakbysmy brali wszystko co sie znajduje nad osia OX i sprawdzali zbocza jesli wybierzemy naraztajace...
wynik końcowy faktycznie za każdym razem jest inny. (at) emarcus możesz podpowiedzieć jak powinien wyglądać serwis int1? Popatrzyłem troche bliżej na twoj kod. Z jakiego powodu potrzebujesz otrzymać wynik ("Czas_2") z dokładnocią aż do 9 miejsc decimal? Jeżeli jeden z czynników iloczynu (rozdzielczość timera) jest liczbą wymierną z dokładnościa do...
Lj = Li / 250 250 to ilość impulsów na 1 l. według producenta Dodano po 5 Cały problem w tym że nie wiem jaki uklad wsadził do tego przepływomierza i co ma na myśli 250imp/l . Próbuje na różne sposoby poprawnie zliczać litry . Brak jakiejkolwiek noty tego przepływomierza z innymi przepływ. niema problemu bo sygnał prostokątny i jak pisze 689 imp/l to...
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...
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...
Używasz INT0 i INT1 do zliczania impulsów na linii A impulsatorów, ustawiasz generację przerwań na opadające zbocze. W przerwaniu sprawdzasz linię B danego impulsatora, jeśli B jest w stanie wysokim, to masz impuls "w lewo", jeśli B jest w stanie niskim, to masz impuls "w prawo". Pozostaje jeszcze eliminacja drgań styków... ;) Timer1 wykorzystujesz...
Witam. Dzieki FastProjectz za szybka odpowiedz. To juz przecwiczylem na ARDUINO i sie wgrywa wszystko do RFM65W bo. p.p jest SPI sprzetowe uzyte w kodzie C , ktorego nie znam a tylko wgralemi pozmienialem troche zawartosci rejestrow dla RFM65W bo RFM96 to podobny tyle ze ma RX/TX. Robilem na ATTINY45 SPI programowe ale wynik jest podobny, chyba, ze...
Mi to encoder wogóle nie chodził przy zastosowaniu polecenia z bascoma (encoder)... Rozwiązałem ten problem używająć przerwania: Getecounter: 'Wywołane przez przerwanie zboczem opadającym Waitms 4 If Pind.2 = 0 Then If Pinb.4 = 0 Then Decr Ecounter Else Incr Ecounter End If Return
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...
witam mam mały problem napisałem taki program ma byc on na attiny13 :) $regfile = "attiny13.dat" Config Portb.2 = Output Config Int0 = Falling Enable Interrupts Enable Int0 On Int0 Czekaj Set Portb.2 Do Loop End Czekaj: Reset Portb.2 Waitms 5 Set Portb.2 Return Kiedy na wejscie podamy 0 to na wyjsciu ma sie pojawić 0 przez 5ms i po tych 5ms stan wyjscia...
Mam już program napisany w Bascomie obliczający czestotliwość a z częstotliwości okres jednak nie bardzo mam pomysł jak moge wychwycić koniec impulsu(zbocze opadające)...Reszta to pikuś następnie obliczam procent wypełniania impulsu do całego okresu...ma ktoś pomysł jak zrealizować czas trwania impulsu w Bascomie? Dodam tylko że impulsy zliczam poprzez...
$regfile = "M16def.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111 : Portd = &B11111111 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2 Config Lcd = 16 * 2 Cls Cursor Off Noblink Lcd " HELLO WORLD!!!"...
Zmień wywoływanie podprogramu Int0 na opadające zbocze a nie na niski poziom(domyślne) i wszystko będzie dobrze. A swoją drogą to co to za mikrokontroler bo nie jesteśmy jasnowidzami?
Niebieski przebieg (na pierwszym zdjęciu) pokazuje, że jest to napięcie wyprostowane. Jesteś pewien, że zero będzie rozpoznawane: a) nie więcej niż raz na 10ms? b) za każdym razem, gdy sygnał zbliży się do zera (nie zostanie pominięty)? Z Twojego kodu wynika, że wyzwalasz przerwanie na zboczu opadającym sygnału [syntax=vbnet]Config Int1 = falling[/syntax]...
...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...
Tak, tylko jeszcze muszą być odpowiednie czasy. Stan niski przez minimum 0.8 us i powrót do stanu wysokiego, oczekiwanie minimum 3ms. [syntax=basic4gl]'----------------------... Step_inner: Reset Direct_sel ' kierunek głowicy, stan niski = do wewnątrz Reset Step_head ' zbocze opadające przez Waitus...
2. Odpowiedź na moje 2 pytanie. 3,4. nie chodziło mi o znak w warunku if, a o sprawdzenie stanu klawisza po czasie 3s, który tu jest spełniony (co przeoczyłem) w warunku wyjścia z pętli w korelacji z Licz. 5. przerwanie zostanie wykonane po zwolnieniu klawisza. Moje ostatnie pytanie dotyczyło pracy układu, czy w czasie wykonywania przerwania INT1 kolejne...
po namysłach i szukaniach wywnioskowałem że powinno być tak : .................. On Timer0 Timer0_int Enable Interrupts Timer0 = 131 Licznik = 0 Wartosc = 0 Timer1 = 0 Do If Timer1 = 1 Then Timer1 = 0 Enable Timer0 Waitus 800 End If Loop Timer0_int: Counter0 = Counter0 + 131 'przerwanie co 1ms Incr Licznik If Licznik = 50 Then '50ms Toggle Portb.1...
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...
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!!!!
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...
witam niestety po listingu niema sladu, wiec bede go musial napsiac jeszcze raz tumeks jesli sie orientujesz cos w bascomie spokojnie to mozesz zrobic sam mniejwiecej moge ci napsiac jak to bylo musisz polaczyc int0 i int1 ustawiasz wyzwalanie przerwania zboczem jedno narastajacym a drugie opadajcym i dalej mozesz uzyc SOUND wybrac ton i dlugosc proste...
Ups... :oops: Przepraszam za wprowadzenie w błąd, nie zauważyłem tego: '89C2051' Nie pamiętam czy w Bascom'ie '51 jest jakieś konkretne polecenie do ustawiania sposobu obsługi przerwań (daawno go nie używałem), ale to powinno zadziałać: Set Tcon.0 Set Tcon.2 Po dodaniu tego gdzieś na początku programu przerwania zewnętrzne będą wyzwalane zboczem opadającym....
Cze! sprawdź czy ten pilot napewno nadaje w standardzie RC5. a co do programu to nie ustawiłeś czy int0 jest wyzwalane zboczem rosnącym, opadającym czy stanem niskim. według mnie powinno być opadającym. po etykiecie odbierz powinno być disable int0 a przed return enable int0 żeby nie wywoływał wielokrotnie przerwania. i jest jeszcze jeden problem -...
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.
Chce mierzyć impulsy z zakresu 10kHz do 120kHz.Jednak nie bardzo mam pojęcie jak obsłużyć przerwania pod Bascomem dla mikrokontrolera AT89cxxxx...tzn jak w bascomie wykrywać zbocze narastające a później opadające?
To jest zwykły interfejs SPI. Dane wystawiasz przy zboczu opadającym na CLK. Zatrzaskujesz zboczem narastającym na CLK.
Witam. Faktycznie obsługa LCD jest bardzo prosta. 1. zainicjować LCD ( wybór trybu 4 lub 8 bit ) 2. ustawic dane na pinach D4 do D7 lub D0 do D7 3.ustawic zbocze opadajace na E Zanki wysylamy przy RS=1 Komendy wysylamy przy RS=0 W trybie 4 bitowym. Bajt wysylamy na dwa razy 1. starsza czesc bajtu i zbocze opadajace na E 2. mlodsza czesc bajtu i zbocze...
Te 6 przycisków połącz z jednej strony do 6 pinów a z drugiej wszystko do INT0 lub INT1. Przed położeniem procka spać pin przerwania ustaw jako wejście i podciągnij, pozostałe 6 pinów jako wyjścia w stanie niskim. Naciśnięcie któregokolwiek przycisku spowoduje wybudzenie procka (wybudzaj stanem niskim lub zboczem opadającym) a po wybudzeniu OD RAZU...
Domyślnie przerwania aktywowane są stanem niskim lub w zależności od ustawienia odpowiednich rejestrów zboczem narastającym lub opadającym. Podłącz przez rezystor np. 10k wejście przerwania do plusa zasilania i przycisk od /INT do masy.
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 ? No tak, tylko że twój schemat tego nie realizuje.
Zacina sie bo to wada bascomowejo Getrc5. ten program musi działac, dlaczego go nie zastosowałeś? Spróbuj, tylko odbiornik IR musisz dac na wejscie ICP procesora. [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1 uS On Capture1 Capture_edges 'To przerwanie...
Masz w kodzie taką linię ... Reset Tcon.0 'wyzwalanie narastającym zboczem ... i nie podoba mi się komentarz ;) Powinien brzmieć wyzwalanie niskim poziomem . Więc po pierwsze , ustaw INT0 na zbocze opadające (Set Tcon.0) , a po wtóre , Twój proc nie ma możliwości wyzwalania przerwań zewnętrznych zboczem narastającym :( Piotrek
Potrzebuję pomocy, jak zrealizować przechwytywanie zawartości licznika do rejestru CAPTURE1 wywoływanego zboczem opadającym FALLING. Chcę mierzyć czasu trwania zbocza, następnie obliczając go uzyskać ilość obrotów/min. Sygnał podaję na port ICP. Jestem początkującym w BASCOM, dlatego też prosiłbym o wskazówki już w kodzie, łatwiej mi się wtedy zrozumieć...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na http://www.elektroda.pl/rtvforum/topic20... ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył"...
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...
Zrobiłem to programowo. Wysyłanie jednego bajtu zajmuje ok 1,2 sek ale do prosztego sterowania zupełnie wystarczy (w zasadzie jeden bit wystarczy bez jakichkolwiek programów). Jak ktoś ma pomysł jak to przyspieszyć to czekam na sugestie :) Nadajnik: $regfile "attiny2313.dat" $crystal = 8000000 Dim Code As Byte Declare Sub Send(dim Code...
Witam Niestety tamten sposób - program miał wade, przykładowo kiedy jeden z kanałów zmienił swój stan kilkukrotnie stan licznika był zmieniany w jednym kierunku (w zależności od stanu drugiego kanału) prostymi słowy wahający się enkoder generował błędy rozwiązałem ten problem ustawiając wejście by reagowało na zbocze rosnące i opadające. [syntax=bascom]$regfile...
Witam... i temat zamykam :-) Zastosowałem jednak obsługę enkodera na przerwaniu Int1. Jedno z wyprowadzeń podpiąłem pod Int1, przerwania ustawiłem na wyzwalane opadającym zboczem a w samym przerwaniu sprawdzam co jest na drugiej "nodze" enkodera i zmniejszam lub zwiększam wybraną daną a którą wiem po indeksie zmienianym w petli głównej do loop. W przerwaniu...
chyba jako timer? Tak, jako timer, drobne przejęzyczenie a zmienia całą postać rzeczy... ;) I jeszcze jedno mi się przypomniało, w bascom'ie, przynajmniej w wersji w której ja piszę, nie ma opcji ustawiania reakcji dla przerwania zewnętrznego, trzeba ręcznie ustawić bity w rejestrze MCUCR (cztery ostatnie bity, dokładny opis w dokumentacji). Dla przykładu...
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1...
Poradziłem sobie z paskiem, ale dalej mam problem z ustawieniem timera. ................ Do If Pind.3 = 0 Then Czas = 0 Load Timer1 , 62500 End If If Czas = T_max Then Portd.7 = 0 End If Loop ............... Będzie to chodzić, czy bit Z był tu potrzebny? Obawiam sie ze nie. Po pierwsze, to zalezy jak dlugo Pind.3 = 0 Dopóki jest on =0, to za kazdym...
czesc w bascomie moze byc? jak tak to: :) Config Timer0 = Timer , Gate = Internal , Mode = 1 ' Configuracja timera Config Lcd = 16 * 2 ' ..wyswietlacza, przykladowa Dim Temp As Byte 'zmienne Dim Temp_2 As Byte Dim Temp_3 As Byte Dim Sekundy As Byte Dim Silna As Single Dim N As Byte Enable Interrupts 'wlaczenie przerwan Enable Timer0 Enable Int0 Enable...
Witam Nie przeglądałem schematu ale sprawdź czy Set Portd.4 nie powoduje wyłączenia triaka być może optotriak jest załączany przez podanie 0 na katode diody wtedy twoja sekwencja set portd.4 waitms 1 reset portd.4 spowoduje ciągłe świecenie i wyłączenie na 1 ms pozdrawiam Jurek Gromow triak włącza stan niski. :arrow: Tdv 1.Tak skonstruowany detektor...
Poprawiłem tytuł na bardziej oddający problem i zgodny z regulaminem p. 3.1.15. Ponadto proszę się zapoznać z zasadami korzystania z działu: http://www.elektroda.pl/rtvforum/topic34... LordBlick Witajcie. Oświećcie mnie dlaczego ten program nie działa tak jak powinien. Przełączam przełącznik który pin PB1 zwiera do masy (pojawia się zbocze opadające...
Nic, wybrać tryb ICP i zbocze opadające, po czym zakończyć. Zbocze opadające na pinie ICP zatrzaśnie bieżący stan licznika i ew. wywoła przerwanie. Alternatywnie sam możesz sobie okresowo sprawdzać stosowną flagę - ponieważ stan licznika jest zatrzaśnięty w ICR nie ulega on zmianie i możesz sobie jego wartość odczytać w dowolnym momencie.
Pisząc "po sprawdzeniu flagi zajętości" rozumiem masz na myśli "zaraz po wysterowaniu pinu E w stan wysoki".. ? Może wydawać się to oczywistością, ale dla niektórych nie jest i wtedy pojawiają się problemy... Sprawdź też diodą(+R) lub czytając DDR, czy piny rzeczywiście nie ustawiają się jako wyjście, czy reakcja wyświetlacza jest taka, jak by nie reagował....
W sumie z tego co widzę nie potrzebujesz generować sygnału PPM - wystarczy Ci jego detekcja, wyznaczenie neutrum (1,5 ms, ale nie przywiązuj się do dokładnej wartości) oraz po zauważeniu założonego odchylenia od neutrum proste załączenie jakiegoś PINu (ewentualnie danie tam sygnału PWM żeby ładnie migacz migał) Jak pisałem nie znam Bascoma, programuje...
Dobra panowie, poległem. Potrzebuje pomocy... Chyba nie umiem użyć tego pulsein. Nie mam pojęcia nic o timerach, próbuję to zrozumieć ale kompletnie nie czaję. Nie wiem czym są przerwania i przepełnienia... Nie jest to dobrze wytłumaczone. Na Pinb.0 (atmega32) podaję te impulsy. I chcę mierzyć albo długosc całego impulsu, albo tylko kiedy jest w stanie...
Przeczytałem za Ciebie drugi raz te notę katalogową :P The full 47-bit data word is latched into the device on the rising edge of the Chip Select waveform, at this time the loaded data is acted upon and the circuit configuration/settings will change. Oznacza to iż urządzenie zaczyna słuchać zaraz po opadającym zboczu CS i czeka na 47-bitów. Potem zatwierdzasz...
Przepraszam że odkrywam wykopaliska, ale postanowiłem przetestować układ zaproponowany przez kolegę Paweł Es.. Idea jest słuszna, ale się nie sprawdza. Do testu wykorzystałem impulsator z myszki i klon analizatora USBee. Jak się okazało impulsator jest tak słabej jakości że wprowadza ogromne drgania styków, dwa górne przebiegi pokazuję co dzieje się...
pomyślałem że wykorzystam 2 przerwania, złączyłęm razem int0 i int1. jedno bedzie wykrywac opadajace zbocze a drugie rosnące. efektem miał być ciąg licz np "345,12,345,32,463,12" gdzie kazda liczba oznaczałą by długość kolejnego impulsu otrzymywanego z czujnika. napisałem kod: $regfile = "m16def.dat" $crystal = 16000000 Config Lcdpin = Pin...
Właśnie i tego się bałem ze jak wcisnę przycisk i go trzymam to przełanczaja sie kolejne programy Tak to wlasnie jest gdy increamentacja lub decr. zmiennej jest umieszczona w petli 'do...loop' i jest warunkowana poziomem na okreslonym wejsciu. Za kazdym "obrotem' petli zawarte w niej polecenia sa bezblednie wykonywane, przedzielone ustawionymi czasemi...
Oczywiście, że mają wyzwalanie zboczem. Opadającym, narastającym i dowolnym. Tylko nie pamiętam czy Bascom pozwala przez swoje funkcje skonfigurować wyzwalanie zboczem. Ale wystarczy odwołać się bezpośrednio do rejestru MCUCR.
Doprowadziłem program do takiej postaci: ............ Wydaje mi się, że to wina tego, że jak przyjdzie przerwanie w czasie obsługi wyświetlacza to się coś kiełbasi. Przerwanie od przepełnienia stosuje po to, by móc mierzyć też dłuższe odcinki czasu, np w przekaźnikach czasowych. Jeszcze jedno pytanie. Dlaczego program z pierwszego postu nie działa?...
Witam mam problem z chyba skonfigurowaniem przerwań w "C" do tej pory takie "zabawy" robiłem w bascomie ale tam to każdy potrafi ;) mam przerwanie int0 z pcf8583 w międzyczasie odczytuje temperaturę z ds18b20 no i .. właśnie jak uruchomiłem PWM zaczęły się problemy, układ czasami się resetuje lub zawiesza zacytuje fragmenty: dodam ze pdf czytałem wielokrotnie...
Uwaga! Przedstawione przez autora urządzenie nie spełnia wymogów standardu I²C (IIC) co zostało wyjaśnione w dalszej części dyskusji w szczególności od tego postu: http://www.elektroda.pl/rtvforum/viewtop... Dlatego też decyzją grona moderatorów zmieniono tytuł na "Izolowany galwanicznie interfejs jednokierunkowy open-drain...
a wlasnie ze jest konfigurowalne i mozna zmienic czy ma reagowac na zbocze opadajace czy narastajace. Wyczytalem wszsytko z dokumentacji...Myslalem ze piszac w bascomie da sie to ominac...ale nie ma tego zlego co by na dobre nie wyszlo. dziekuje za odpowiedz
Witam Buduje sterownik bramy przesuwnej w której występuje zabezpieczenie graniczne które zwiera do masy gdy brama dojdzie do końca suwnicy. Załóżmy, że brama otwiera się dojdzie do końca i brama się zatrzyma (zabezpieczenie graniczne ciągle zwiera - czyli jest włączone) lecz jak się pojawi sygnał zamykania brama się powinna się zamykać. Zabezpieczenie...
zbocze opada przerwa zbocze opada przerzutnik zbocze opada
zaczep schowek volvo silnika czujnik deszczu nawadniania
obrotomierz skacze wskazówka amica pa4560a420
Problemy z połączeniem do bazy Firebird przez port 3050 Jak podłączyć chiński czujnik obrotów do obrotomierza?