Teraz rozumiem Twój problem. Niestety w Bascomowym kodzie Ci nie pomogę. Mój epizod z tym środowiskiem był bardzo krótki i do tego bardzo dawno temu. Poprostu nie chcę Cię wprowadzać w błąd, niech Bascomowcy wypowiedzą się w tej kwestii. Jednak myślę, że zrozumienie przytoczonego przykładu reagowania na zbocze na pewno przyda Ci się w przyszłości. Powodzenia...
Ten kod musisz okrzesać :D Czym to programujesz? Pytam bo umieściłeś dyrektywy dla programatora. Może i nie byłoby w tym nic dziwnego, ale w kodzie masz napisane 8MHz a tymi dyrektywami mikrokontroler zostałby ustawiony na fabryczne 1MHz... Inna sprawa to ten pomiar na ADC i zapisywanie jego wyniku po obliczeniach do PWM. Nie wszystkie tryby PWM mają...
Najprościej będzie tak: $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.0 = 1 : Portb.0 = 0 Config Pinb.1 = 1 : Portb.1 = 0 Config Pinb.2 = 1 : Portb.2 = 0 Config Pinb.3 = 1 : Portb.3 = 0 Dim Licznik As Byte Enable Interrupts Enable Int1 Config Int1 = Rising On Int1 Przerywanie Do Portb = &B00000000 Loop End Przerywanie:...
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.
Niedokładnie przeczytałeś. W zakładce nawigator: Config Timer- uwaga! po ustawieniu prascale licznik natychmiast zaczyna zliczanie. Można użyć start Timerx i stop Timerx Np. Config timerx, prescale 'timer zaczyna liczyć stop Timerx 'timer stoi- ale już coś zliczył Timerx=y 'timer ma wartość początkową =y - np.0 Start timerx ' Timerx zaczyna liczyć od...
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...
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...
Ż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?
Bo masz ustawione przerwanie na Low level zamiast na zbocze.
Transoptor zdaje się generować delikatnie poszarpane zbocza - przez co na jednym zboczu zlicza mi kilkadziesiąt malutkich zboczy...
Przerwanie PCINT wystepuje na skutek zmiany. Nie ma mozliwości zrobić aby było np tylko na jedno zbocze. Musisz w procedurze obsługi przerwania sprawdzić, jakie to było zbocze.
Ustawiając int na opadające zbocze...
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źć.
To nie program tu jest problemem a dopasowanie sygnału. Poczytaj o wzmacniaczach operacyjnych i komparatorach. W procesorze zbocze możesz wykryć za pomocą przerwania zewnętrznego.
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.
Ten drugi pomysł jest moim zdaniem lepszy. Do tego możesz użyć końcówki przerwania INT - ma konfigurację zbocza, którym jest wyzwalane przerwanie.
Jak wystawiasz zbocze, to dane są przepisywane z wejścia na wyjście (zatrzaskiwane). Potem kostka trzyma te dane do kolejnego zapisu czyli wpisujesz i zostawiasz, a jak chcesz zmienić robisz kolejny zapis zboczem. Różnica z przerzutnikiem latch jest taka, że tam jak miałeś poziom wysoki na wejściu zegarowym, to zmiany z wejścia pojawiały się na wyjściu....
pixel7 ale bzdura. Nie wydaje mi się. Bzdura bzdura. Takie coś zareaguje na poziom a nie na zbocze.
Dodajmy, że kiedfy pilot nie nadaje, odbiornik odbiera śmieci i wystawia na wyjściu przebieg prostokątny, któego zbocza są dużo gęstsze niż podczas odbioru danych, a każde zbiocze będzie w takim przypadku generowało przerwanie. Dlatrego lepiej jest odbierać w przerwaniu timera, a nie używać przerwań od zboczy.
Mi się wydaje, żeby zrobić to na jednym przerwaniu. Mamy stan 11 Ustawiamy na przerwanie na zboczu opadającym. Kiedy się wykona przerwanie, sprawdzić drugi pin. Jeśli wyjdzie 01 ro znaczy ze obrót był w jedną stronę, jeśli 00 to znaczy, że był w drugą. Teraz trzeba zmienić na przerwanie zboczem narastającym. Jeśli po obrocie mamy 11, to obrót w jedną...
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?
(at)Mictronic Można konfigurować zbocze.
Tranzystorek albo bramka odwracająca na INT0 wtedy możesz go budzic stanem wysokim ale nie zboczem.
Bo musisz jeszcze zrobić blokadę żeby reagowało dopiero na kolejne wciśnięcie. Czyli inaczej na zbocze a nie na stan.
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....
pytanie tylko czy dorobić układ przejścia przez zero czy wystarczy pomiar narastającego lub opadającego zbocza ?
Najpierw dajesz Config INT0=Falling Wprowadzasz zmienną opisującą wybrane zbocze wyzwalające przerwanie (Edge_) i w procedurze obsługi tego przerwania: If Edge_ =0 Then Start Timer1 Config INT0=Rising Else Stop Timer1 Config INT0=Falling End If Niektóre AVR'y umożliwiają konfigurację typu Config INT0= Change Wtedy przerwanie wywoływane będzie po stwierdzeniu...
Może uaktywniłeś obydwa zbocza ??
Możesz użyć Timer0, ale przy zboczu rosnącym, to możesz liczyć tylko zwalnianie przycisku podłączonego do masy a nie jego naciśnięcia. Jeden warunek : Timer0 musi mieć wejście podpięte przez rezystor do zasilania układu, aby jakiekolwiek zbocze rosnące tam wystąpiło.
No bez oscyloskopu to może być trudne. Chociaż- to są małe częstotliwości. Jakiś program do karty dźwiękowej- jako oscyloskop. Nie mierzy składowej stałej- ale to w tym przypadku niepotrzebne. Gubienie impulsów może nastąpić tylko wtedy gdy ich amplituda z silnika jest zbyt mała. W impulsatorze mechanicznym mogą być drgania przycisków wewnętrznych....
Ź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?
Nie działa bo przerwania int0 masz od poziomu a nie od zbocza.
neo_84 ---> no skoro w nocie masz napisane (i to dla każdego praktycznie procka AVR to samo) że tylko poziomem to nie zboczem ;) więc dobrze myślisz - w Bascomie musisz zrobić tak jak napisałeś Config Int0 = Low Level
Oprócz tego co napisał Balu to ustaw sobie INT0 aby było wykonywane za pomocą opadającego zbocza. Przykład: Config Int0 = Falling On Int0 wylacz Enable Interrupts Enable Int0 ...... wylacz: ....... return
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...
Program jak widać też prosty tylko że muszę tu stosować przełączniki które tylko na chwile stykają. A ja potrzebuje żeby móc zastosować zwykłe przełączniki do oświetlenia. wtedy musisz reagować jedynie na zbocze, a nie na poziom
Ja bym spróbował podpiąć przyciski pod przerwania int0 i int1 i reagować tylko na zbocze falling. Wciśniecie i trzymanie jednego przycisku nic wtedy nie da. Ustawić flagi i zerować je po wykonanej operacji.
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
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...
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.
Przerwanie wyzwalasz poziomem czy zboczem? Kolejna sprawa. Gdzieś czytałem, że AVR po wyjściu z przerwania wykonuje JEDNĄ INSTRUKCJĘ i przechodzi znów do obsługi przerwania (jeśli jest nowe). Jeśli chcesz blokować wskoczenie do nowego przerwania , to musisz w OBSŁUDZE POPRZEDNIEGO PRZERWANIA na samym końcu sprawdzać bit zgłoszenia ponownego 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...
Witam. Przede wszystkim należy ustalić czy następuje prawidłowo detekcja zbocza. Więc w pierwszym warunku po detekcji zera wstaw waitms 5. W przeciwnym wypadku przy tej częstotliwości kwarcu nie zauważysz działa programu czyli migania led.
Nie wiem jak wygląda Twój program, ale jakimś rozwiązaniem może być też "wyłapywanie narastającego zbocza". Czyli robisz to tak - zapamiętujesz stan przycisku, potem badasz go ponownie, jeśłi stary stan jest niski a nowy jest wysoki to wywołujesz dźwięk na chwile. Wtedy wcisnięcie na stałe nie spowoduje tego że będzie ciągły dźwięk, musi dopiero nastąpić...
Stan wysoki powinien mieć 1÷2ms. Tutaj wygląda odwrotnie. Zniekształcenia zboczy to pewnie wina "oscyloskopu" i "sondy".
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
Użyj wejścia ICP - wtedy zbocze zgłasza przerwanie i jednocześnie zatrzaskiwana jest zawartość timera. Odejmując dwie takie wartości masz długość impulsu, musisz jedynie zmieniać zbocze, na które reaguje ICP.
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...
tak :D set ISC01 , procesor będzie reagował na zbocze opadające :) ale w 2051 trzeba rc zastosować...
więc pisałem dlatego o czujniku Halla:) Zakładając ze wieje dość ostro koło wykona 5 obrotów czyli 5x20 impulsów a czujnik Halla zmieni tylko czas między stanami. Mając czas i obwód koła m/s łatwo obliczyć. Zbocza uruchomią timer i zatrzymają go. Przynajmniej tak mi się wydaje.
Czy to blokowanie przerwań w odpowiedniej procedurze obsługi to w celu eliminacji drgań styków? Jeżeli tak, to dla przycisku 2 nie jest to poprawnie - zarówno naciśnięcie jak i puszczenie ma prawo wygenerować zbocze narastające, a nawet kilka.
Wykorzystaj przerwania. _delay w C i wait w Bascomie to jest to samo paskudztwo.
Z tego co widzę to źle ustawiasz stan niski na pinach. Dla CLK_PIN najlepiej zrobić to na XOR bitwise ^= . Swoją drogą dobrze jest zajrzeć jednak do dokumentacji scalaka. Wyraźnie jest pokazane, że najpierw musi być ustalony stan na DQ i dopiero narastające zbocze CLK (fig. 9b). Dodatkowo zapominasz o bicie wskazującym który stack wybierasz. Na sam...
Po prostu byk w BASCOMie. Prescaler jest ustawiany jako CS02..CS00 = 110 a to oznacza, że licznik nie zlicza impulsów zegarowych tylko zewnętrzne na T0 z opadającym zboczem.
Przerwanie musi być skonfigurowane jako reagujące na zbocze a nie na poziom. Wtedy program nie będzie sie zawieszał na przerwaniu.
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.
Jeden przykład pewnie będzie tu wart więcej niż tysiąc słów :-) Pisałeś, że chcesz skonfigurować przerwanie PCINT4. Uważam, że powinno to wyglądać tak: Pcmsk0 = &B0001_0000 'odblokuj PCINT4 On Pcint0 Test 'przerwanie ==> skocz do procedury test Enable Pcint0 'włącz przerwanie od PCINT0...PCINT7 Enable Interrupts Okazało się, że powyższy kod działa...
. 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ś...
...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...
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...
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
Jak czytałeś lub nie :) karta ma sekwencje "startu" , nie pamiętam teraz jaki ma format, jest to jakiś 5bit znak, ja najpierw z czytuje cały bitstream od czytnika i potem funkcją szukam startu jak nie znajdę to "przekręcam" bufor (znaczy ostatni bit staje się pierwszym w strumieniu) i jeszcze raz szukam znaku startu, potem już tylko na podstawie tablicy...
Czy dobrze rozumuję: jeśli a=0 to program poczeka aż a=1 i wtedy wykona czynność 1; a jeśli a=1 (a nie =0) to poczeka aż a=1 i wykona czynność 2? Tak. W skrócie jest to reakcja na narastające zbocze. I jeszcze jedno pytanie czy gdy już na początku "if a=0 then" warunek nie jest spełniony to program nie będzie analizował kolejnych "ifów" i wykona od...
Będzie to zbocze "pierwsze" polaryzacja "normalna". Dawno nie analizowałem tego kodu w ASM.
do mierzenia okresu sygnału najlepiej wykorzystać licznik i przerwanie zewnętrzne. Sygnał pomiarowy wzmocnić tak aby uzyskać przebieg prostokątny o stromym nachylaniu zboczy. Następnie podać sygnał na wejście przerwania zewnętrznego (np. detekcja zbocza 1->0). W przerwaniu włączyć licznik, wyjść z przerwania i oczekiwać na następne przerwanie w którym...
W SPI są standardowo 4 ale można tylko na 3 bo transmisja idzie tylko w jedną strone. Jak popatrzyć w kod to widać że jest sygnał zezwolenie CE oraz dane "potwierdzane" zboczem zegara.
Może też podpowiedziałbym kondensator bo sam używam w jednym projekcie takiego układu. Żeby mieć "ostre" zbocza sygnałów to mam tam też komparator z histerezą. Trochę drogie rozwiązanie ale działa idealnie. https://obrazki.elektroda.pl/1598244400_... Jako czujnika używam takiego zespolonego maleństwa KTIR0711S. Dioda IR z fototranzystorem....
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ę...
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...
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, 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...
A komunikację z wyświetlaczem masz na pewno dobrą? Może zamiast wypisywania "OK" najzwyczajniej każ mu zmienić w przerwaniu jakikolwiek inny pin, żeby zobaczyć, czy je zgłasza. Spróbuj też ustawić przerwanie na stan, a nie na zbocze. A jaki masz procek w ogóle?
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...
USART pracuje asynchronicznie. Spróbuję po zmianie prędkości i na początku po inicjalizacji sprzętu (bo też się zdarza) czyścić bufor i ewentualnie podciągnąć RX rezystorem do Vcc choć wydaje się, że nie powinno to nic zmienić. Wydaje się także, iż jedno zbocze nie może tego dokonać chyba, że jest to "śmietnik" zboczy przy przełączaniu multipleksera...
No nie wiem jak w bascomie przelaczac zbocza raz z narastajacego a 2 raz z opadajacego tak szybko zeby nie zgubic czasu impulsu. Myslalem nad czyms takim jedno przerwanie informuje o narastaniu zbocza odczytauje czas z timera po czym ICP reaguje na opadajace i wtedy tez odczytuje czas. roznica miedzy 2 a 1 czasem daje mi czas trwania impulsu. dodatkowo...
Prawdę mówiąc nie wiem czemu tak się dzieje, ale mam pomysł. Np. stawiać flagę w odpowiednim miejscu od kiedy ma reagować na zbocze, a w podprogramie sprawdzać na samym początku czy ta flaga jest ustawiona.
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ń.
Na szczęsci podczas projektowania całego układu wyjście nIRQ odbiornika podłączyłem do wejścia INT1 procesora. Ustawiłem aby przerwanie było wyzwalana przy opadającym zboczu ale dalej nic sie nie dzieje.
Witam Wszystkie szczegóły odnośnie transmisji masz na stronie 6 w postaci graficznej. Bardzo ładnie wszystko widać. W pierwszej kolejności ustawiasz pin CS i LDAC w stan wysoki a SCK w stan niski. Żeby rozpocząć transmisję do układu (DAC) ustawiasz stan niski na wyjściu CS następnie na wyjściu danych SI ustawiasz najbardziej znaczący bit dwunastobitowego...
czy da sie w bascomie tak zaprogramowac przerwania zawnetrzne (ATmega8) zeby w trakcie procedury wykonywania przerwania zalozmy INT0 przy pojawieniu sie sygnalu przerwania INT1 zapamietalo to i wykonalo procedure drugiego przerwania po zakonczeniu pierwszej? przerwania reaguja na zbocze sygnalu nie na poziom
Żartujesz. A jak częstotliwość? Może masa nie łączy i to jest przydźwięk sieci? A może tylko nieostre zbocza?
Dane odczytuj na opadającym zboczu CLK.
To jest zwykły interfejs SPI. Dane wystawiasz przy zboczu opadającym na CLK. Zatrzaskujesz zboczem narastającym na CLK.
A wie Kolega co to jest drganie styków, i jak będzie to wpływało na timer (tam przecież występuje kilkanaście zboczy podczas jednego zwarcia...) i jakie są metody ich eliminacji sprzetowej?
tak przycisk caly czas trzymam a wsumie to wkładam drut w +5v i dlatego powyższy warunek wykonuje się z każdym obiegiem loop. Lepiej już wykrywać pin przycisk_wyzwolenia jako przerwanie zboczem. Nie pisze w bascomie .. ale program to program tylko nie mam jak tego sprawdzić Lepszy przykład stosowania: https://english.svet-el.si/index.php/inp...
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...
Ten rysunek nie jest zbyt dokładny. Nie znam Baskoma ale domyslam się że czytasz zaraz po narastającym zboczu zegara. Stabilny stan linii danych jest gwarantowany w zasadzie jedynie w stanie "niskim" zegara. W stanie "wysokim", w trakcie nadawania, właśnie następuje zmiana wartości lini. Jeżeli się zastanowisz to w zasadzie jako pierwszy bit wczytujesz...
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...
No przecież prosto. Konfigurujesz timer1 do pracy w normalnym ale nie robisz start timer. robisz przerwanie dzialajace na zbocze np. narastające-> Dalej : robisz zmienną flaga w przerwaniu robisz if flaga=1 then start timer1 flaga=0 else stop timer1 w rej od timera masz czas... kopiujesz gdzie Ci tam pasuje flaga=1 zerujesz licznik endif I tyle, oczywiście...
To może żeby już zamknąć temat jest ktoś kto dysponuje tym modułem czujnika (HC-SR04) oraz posiada na wyposażeniu jakiś sprzęt pomiarowy żeby móc precyzyjnie sprawdzić czy czas między sygnałem TRIG a zboczem narastającym sygnału Echo jest stały i ewentualnie ile on wynosi ??
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...
A może problem z wyzwalaniem przerwania zboczem/poziomem? Tak się czasami dzieje, jak sygnał trwa zbyt długo i przerwanie wykonuje się cyklicznie (poziomem). Albo zboczem i w trakcie obsługi przerwania pojawia się kolejny impuls wyzwalający. W zależności od specyfiki programu (czy jest on ważny, czy nie) trzeba go kasować przed RETI. Pozdrawiam
Zawsze zostaje Ci w zapasie przerwanie od komparatora analogowego które tez jest na oba zbocza, dodatkowo ma zaletę ustawienia poziomu np. odcina szumy. Ale ja bym się Bascomem za to nie brał - precyzyjne zależności czasowe tylko asembler. Pozdr. N.
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...
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...
np tak: (to tylko pogladowo bo to nie jest program) a-enable b-data c-clk dana-dana do wyslania c=0 b=0 'obie linie w stnaie spoczynku maja 0 a=1 'zaluzmy ze wysoki stan uaktywnia odbiornik danych dana=??? for x=0 to 7 b=dana.x 'wystaw bit c=1 'zaluzmy ze narastajace zbocze wpisuje bit c=0 next x a=0 'jesli na tym jednym bajcie chcemy skonczyc transfer,...
Witam Sprawa prosta. Rozwiązać problem można na kilka sposobów. Ja robiłem tablicę 16-to elementową i w pętli z każdym zboczem sygnału zegarowego wpisywałem wartość do tablicy. Po odczytaniu 16 bitów czytałem te komórki, które mnie interesowały i sumowałem wynik z odpowiednimi wagami bitów. Poglądowy program poniżej. Config Pinx.x : Clk alias Portx.x...
-podaj proszę czas pomiędzy pierwszym zboczem nadawania a zboczem odbioru.] -czy czas odbioru sprawdzany na oscylu zależy od odległości przeszkody? <-najważniejsze. -odlutuj odbiornik i upewnij się że nie ma zboczu na odbiorze, czyli ze nie przechodzi po zasilaniu. jeżeli to jest ok, to dopiero sprawdzę program.
...na tych przerwaniach to albo ie umię zrobić albo nida sie tego zrobić... Polecam notę aplikacyjną AN-115 na stronie firmowej Bascoma http://www.mcselec.com/an_115.htm. Opisane jest dokładnie to czego szukasz. Tak jak pisałem wcześniej: możesz zrobić to samo bez przerwań - sprawdzając stan portu w pętli. Jak się uprzesz, to można także czterokrotnie...
jak chcesz liczyc impulsy to ustaw timer jako counter z wyzwalaniem wewnetrznym (internal) i impulsy podaj na p3.4 jesli bys chcial korzystac z drugiego programu musisz ustawic przerwanie jako wyszwalane zboczem.
zbocze bascom bascom zbocze opadać zbocze bascom config
kopci przyspieszaniu naprawa pilota sharp passat przeróbka
ustawienie kolejności kanałów ustawienie kolejności kanałów
Dokręcanie korbowodu w silniku 1.4 KFT: procedura i momenty Wymiana radia w Citroen C4 Picasso: czy trzeba wykodować stare?