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...
Witam. ........... nie wiem jak zrobić aby te wyzwalanie było tylko od narastającego zbocza. Ściągnij pin 'Start' (PIND.5) rezystorem 10k do GND i odwróc jego logikę na przykład: If Pind.5 = 1 And B = 0 Then Druga sytuacja nie wiem dlaczego ale silnik mi przerywa tak co około sekundę gdy PWM jest włączony. Prawdopodobnie w tym czasie następuje zmiana...
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:...
100 mV z dzielnika- niech będzie w połowie zbocza.
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.
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...
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.
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...
Czy przerwanie int0 faktycznie jest potrzebne skoro icp1 można ustawić także na zbocza i przerwania w momencie jakiegoś zbocza? ?
pytanie tylko czy dorobić układ przejścia przez zero czy wystarczy pomiar narastającego lub opadającego zbocza ?
Może uaktywniłeś obydwa zbocza ??
Witam Proszę o pomoc w realizacji funkcji wykrywania zbocza narastającego i opadającego dowolnym portem mikrokontrolera AVR. Często pisząc program chciałbym móc reagować natychmiast na naciśnięcie przycisku, bez zatrzymywania reszty programu jak to się dzieje w przypadku funkcji While - Wend. Oczywiście nie chodzi mi obsługę klawiszy w przerwaniu, a...
Tranzystorek albo bramka odwracająca na INT0 wtedy możesz go budzic stanem wysokim ale nie zboczem.
Nie działa bo przerwania int0 masz od poziomu a nie od zbocza.
Transoptor zdaje się generować delikatnie poszarpane zbocza - przez co na jednym zboczu zlicza mi kilkadziesiąt malutkich zboczy...
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.
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
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...
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...
witam! Chcialem prosic o pomoc osoby bardziej doswiadczone, mianowicie mam problem w tym, ze nie chce mi uklad wejsc w obsluge przerwania od timera1, ktory ma liczyc. Projekt ma dzilac tak, by po pojawieniu sie zbocza opadajacego ma wejsc w obsluge przerwania, a nei chce tego mi zrobic :( oto wycinki programu...: $lib "glcdks108.lbx" $crystal...
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.
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.
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....
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...
witam INT0przerwanie zewnętrzne końcówka INT0 INT1przerwanie zewnętrzne końcówka INT1 TIMER0przerwanie przepełnienia licznika TIMER0 TIMER1przerwanie przepełnienia licznika TIMER1 Gdy używane są przerwania INT0 lub INT1, można określić warunek zgłoszenia tego przerwania. Należy w tym celu użyć instrukcji SET / RESET i ustawić odpowiednie bity w rejestrze...
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.
Jeśli nie masz dostępu do impulsów 7. kanału a koniec impulsu 6. kanału nie jest początkiem 1., to chyba najlepszym rozwiązaniem będzie generowanie szpilek na narastających i opadających zboczach impulsów RC. Potrzebne będą takie impulsy z obu zboczy 1., 3. i 5. kanału oraz opadającego zbocza 6. kanału. Powinno dać się to zrobić na 4 bramkach EXOR z...
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?
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....
Wszystkie te cechy mi odpowiadają, bo planuje użyć detekcji przejścia przez zero sieci. Czyli będzie tylko 100Hz (dwa przejścia na okres, oba zbocza mnie interesują).
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ą...
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.
Bo masz ustawione przerwanie na Low level zamiast na zbocze.
Ustawiając int na opadające zbocze...
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...
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...
Żartujesz. A jak częstotliwość? Może masa nie łączy i to jest przydźwięk sieci? A może tylko nieostre zbocza?
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.
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....
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.
Dane odczytuj na opadającym zboczu CLK.
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.
. 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ś...
Najpierw musisz zdekodować warstwę fizyczną - czyli musisz mierzyć impulsy. Najlepiej by było, gdybyś to zrobił na timerze capture, mierzysz czas odstepu miedzy zboczami, i tyle... Kazdy bit po bicie wpychasz do fifo... w petli głównej masz pętlę która rozbiera tą kolejkę, i zamienia bitstream na ramki. Takie ktore mają zdefiniowany początek i koniec,...
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.
Ale to nie jest praca półkrokowa... Proszę poczytać sobie o sposobach sterowania silnikami krokowymi np. tu: http://www.automatykaonline.pl/poradnik/... W moim przypadku nie ma to akurat znaczenia jeśli chodzi o prace silnika ponieważ chodzi bardzo płynnie i jest mocny nie gubi kroków, zależy mi na problemie sterowania prędkością za pomocą...
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
Czy może mieć na to wpływ to z jakich pinów korzystam? Na pewno ma. Moim zdaniem nie da się poprawnie obsłużyć klawiatury bez wykorzystania przerwań. Nie mam pojęcia jak jest to obsługiwane w BASCOMIE ale wiem jak działa klawiatura. W takt zmian sygnału CLK są przesyłane dane DATA. Całość sprowadza się do sprawdzania stanu na pinie do którego podłączony...
(at)Mictronic Można konfigurować zbocze.
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...
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.
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
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.
A i B są poprawne :) Odnośnie jeszcze punku B. Powinieneś mierzyć szerokość impuslu, czyli czas od zbocza narastającego do opadającego. Ponieważ ATMega tego nie potrafi robić całkowicie sprzętowo, więc zostaje punkt A. Szerokość sprzętowo może mierzyć dopiero XMEGA. Można też czasy pomiędzy kolejnymi zboczami opadającymi, ale wtedy trzeba zadbać o to,...
A najlepiej to jak byś miał możliwość podglądnięcia tych sygnałów na oscyloskopie, bo podejrzewam że tu chodzi o zbocza sygnałów CLK i MISO - na pewno nie idą w parze z tak dużym zegarem. Zmniejszenie prędkości SPI rozwiązałoby problem, potrzebne Ci aż 2MHz? I nie wiem jak z tymi dzielnikami bo nigdy w ten sposób nie łączyłem, ale bezpośrednio to lata...
Muszę użyć układ dwóch timerów ponieważ w docelowym układzie zakres czasowy Timera1 będzie za mały. Czy procesor zliczy na T1 impulsy generowane na OC2 ? Obawiam się sytuacji, że przy wspólnym CLK gdzieś mi się zbocza miną pomiędzy OC2 a T1 i układ nie zatrybi... Oczywiście że zbocza te mogą się minąć, ale to jest bez znaczenia. Podczas synchronizacji...
Zmienia ale nie ma opadającego zbocza na ENABLE, czyli nic się nie powinno stać, chyba, że w oryginale programu jest inaczej.
Bo musisz jeszcze zrobić blokadę żeby reagowało dopiero na kolejne wciśnięcie. Czyli inaczej na zbocze a nie na stan.
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...
Trzeba zrobić detekcję zbocza np. poprzez użycie dodatkowej zmiennej- flagi Zmienna ta ustawiana byłaby np. na 1 po wysłaniu SMS-a, a wejście do podprogramu wysyłającego SMS pod warunkiem, że ta zmienna = 0 If Pir_1 = 0 And Mw_1 = 0 And Flaga = 0 Then ....... (program wysyłający SMS) Flaga = 1 En If Gdzieś w głównym programie If Pir_1 = 1 And Mw_1 =...
Na spokojnie jeszcze raz poczytaj Helpa i notę Atmega16. Wejście Icp jest wejściem Timera 1 a nie Timera0. Myślę też że do tego co ty chcesz zrobić można by się obyć bez Timera tylko na wejściu INTx zliczać zbocza, a potem w pętli analizować te dane.
Wracając do tych 1200ms dodanych na końcu procedury Res1, można je zastąpić w części konfiguracyjnej, tam gdzie ustawiamy piny jako wej/wyj, stosując polecenie: [syntax=basic4gl] config debounce =1200 [/syntax] lub też zrobić wykrywanie zbocza i do startu zam. i otw. stosować impuls.
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...
(at)ElektrodaBot To było podchwytliwe pytanie :) Przedstawiony kod działa poprawnie. Wejścia i wyjścia procesora są właściwie skonfigurowane i transmisja jest poprawna. Wszystkie dane zapisywane i odczytywane są na narastających zboczach sygnału CLK gdy zmiany ich są na opadającym zboczu więc jest ok 100us na ustabilizowanie sygnału. https://obrazki.elektroda.pl/2868912000_...
To jest zwykły interfejs SPI. Dane wystawiasz przy zboczu opadającym na CLK. Zatrzaskujesz zboczem narastającym na CLK.
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....
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.
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....
No to jak sie nie przywiązałes to mozna to zrobic za pomocą przerwania zewnetrznego portd,2 lub port d,3 ustawiony tak aby reagowal na oba zbocza. Zapytałem o przywiązanie bo nie napisałes ze dla przykladu port d,0
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ć...
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...
Nie piszesz czy to ma być liczenie w jednostce czasu ani jakie zbocze Cię interesuje (opadające/narastające)... Jeśli to tylko zwykłe liczenie impulsów to rozwiązanie jest wprost banalne. Najpierw określ jakie zbocze ma liczyć. Odczytujesz stan portu i czekasz na jego zmianę jeśli się zmieni wtedy "INCR coś tam", czekasz na powrót do zbocza i wracasz...
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...
W sumie ciekawy sposób, ale ja to zrobiłem inaczej. Mierzę odległość między każdymi dwoma zboczami opadającymi. To mi daje pewność, że zawsze wiem, w którym miejscyu transmisji się znajduję i że się nie rozsynchronizuję z pilotem w trakcie transmisji.
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.
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ć...
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
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...
Skoro kolega chce zliczać Timerem 2 opadające zbocza impulsów, to na którą nóżkę M16 podaje kolega te impulsy? Przeglądałem opis wyprowadzeń i nie widzę tam wyprowadzenia T2.
...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...
Stan wysoki powinien mieć 1÷2ms. Tutaj wygląda odwrotnie. Zniekształcenia zboczy to pewnie wina "oscyloskopu" i "sondy".
Właśnie sobie przypomniałem że miałem podobny problem. Ale mam reakcję :D Mój układ nawet przebadałem oscyloskopem i poustawiałem identyczne Timingi jak w BASCOMie. I co? NIC!. Deassemblacja kodu udowodniła że BASCOM do obsługi 1Wire nie stosuje pinów quasi-dwukierunkowych, lecz pełne Push-Pull!. To znaczy nie zawsze, jak jest odczyt to nie. Ale na...
Możesz wykorzystać wejście taktujące timer jako "źródło" przerwania. Tzn. ustawiasz timer na 0xFFFF i po pierwszym zboczu nastąpi przepełnienie i wygenerowanie przerwania.
Timer0 jest jako licznik więc na co mi prescaler?... Upsss... racja. Biorąc to nawet na chłopski rozum to by było bezsensowne. Sorki... jakiś zastój w głowie :) Licznik wykorzystaj do odmierzania odcinków czasu w przerwaniu, a impulsy możesz przecież programowo liczyć na dowolnym pinie w tym czasie. Z programikiem do odczytu zbocza impulsu chyba nie...
Wykorzystaj przerwania. _delay w C i wait w Bascomie to jest to samo paskudztwo.
Ponieważ jesteś zielony w temacie, to zacznij od książki w ZIELONEJ okładce, podanej na końcu :))) wyjaśni ci wszystko od początku. -Jaki mikrokontroler najlepiej kupić? Taki jaki jest potrzebny do konkretnego projektu. :)))) (żeby można było go programować bascomem AVR, żeby miał wbudowany oscylator, więcej niż 4KB pamięci,żebym mógł do niego alfanumeryczny...
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...
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.
...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...
Jak zrealizować problem jak w temacie w bascomie , urządzonko ma zliczac np. 4 implusy i czas występujący między nimi (od zbocza narastającego do następnego zbocza narastającego) np. ________/\______/\____/\__/\_________ | | | | ------------------------ T0 T1 T2 Całość ma zajmować do dwóch sekund. Gdzie dać sygnał wejściowy żeby urządzenie działało...
-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.
Przerwanie musi być skonfigurowane jako reagujące na zbocze a nie na poziom. Wtedy program nie będzie sie zawieszał na przerwaniu.
tak :D set ISC01 , procesor będzie reagował na zbocze opadające :) ale w 2051 trzeba rc zastosować...
HD44780 zapisuje na opadającym zboczu En czyli między komendę ustawienia 0 na linii En wstaw przed i po jakieś opóźnienia. Np. rzędu 1ms.
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...
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...
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...
Bo bascom uparcie twierdzi, ze ATmegi przerwania generuja wyłaczie dla LOW LEVEL. Nie wiadomo czemu tak jest, ale jest. Ale dobrze wymysliłes z tym MCUCR. Ja tez tak to ustawiałem w mega8 i działało. Tylko dal zbocza opadajacego jak pamietam MCUCR.1 trzeba ustawić na 1, a nie )0. Z resztą sprawdź jeszcze w dokumentacji.
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
bascom wykrywanie zbocza nachylenie zbocza opóźnienie zbocza
mercedes wentylator dmuchawa zasilanie dwubiegunowe nagrywanie naziemnej
kosiarka world schemat bezpiecznik touran
Kod błędu EA/49 w kotle Junkers ZBS22/150 Ariston Genus błąd 504 - przyczyny i rozwiązania