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.
Witam.Osobiście nie piszę w bascomie ale przerwanie (przerwania) PCINT wyzwalane są zmianą stanu na pinie a ty natomiast próbujesz konfigurować aby wyzwalane było niskim poziomem.
Int0 ma najwyższy więc trop z priorytetem nie był dobry. Na próbę ustaw sztywno czas i wywal wszystkie wait. Może na czas oczekiwania w wait nie działają przerwania? I sprawdź czy wyzwala z przycisku.
No ale może wystarczy wykorzystać tylko tą część od wyzwalania generacji przez uniwibrator??
Najdłużej tam pewnie trwa oczekiwanie na wynik pomiaru ADC który jest dodatkowo podwójny. Bascom robi dwa odczyty jeden za drugim. Można to wyłączyć, ale pomyśl o samym oczekiwaniu na konwersję. Gdyby to było poza przerwaniem to inne przerwanie spokojnie mogłoby to oczekiwanie przerwać tak jak można przerwać każde Waitms. Spróbowałbym w przerwaniu ustawić...
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.
Użyłeś MOC3041. Takie nie mogą być bo mają wyzwalanie z zerze napięcia sieci.
Uzyj kolego bramek TTL oraz liczników a procka do odczytu ich stanu i ew. wyzwalania nie będziesz mieć takich dylematów.
Oba są tak samo zaawansowane. W syntetyzowanej trzeba puścić próbkę sinusa i go nieco obrobić: zmiana częstotliwości, ADSR, generator szumu. Potem wszystko zmiksować i puścić na DAC. W odtwarzanej trzeba odpowiednio wyzwalać, pobierać z dość ogromnej pamięci ROM próbki, miksować i puszczać na DAC. Jest jeszcze jeden sposób: AY-3-8912, YM-2149 i inne...
Wielkie dzięki za szybką odpowiedź. Zrozumiałem już ideę tych przerwań. Mam jedno pytanie jeszcze wg. tego co zrozumiałem i co napisałeś jako przykład. Programik się kompiluje ale przerwanie nie odpala się (na ten port wchodzi mi sygnał 1Hz z zegarka PCF8583). Nie powinienem jeszcze skonfigurować jakie jest wyzwalanie? Czy zboczem czy stanem czy zmianą?
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.
ja tez mialem ten sam problem. porostu jest to chyba jakis blad samego procka bo program pisalem w asmie i nie moglem za cholere doprowadzic do wyszwalania zboczem. jak ustawilem wyzwalnie zboczem to wlasnie reagowal tak samo jak u ciebie w koncu zmienilem troche program i zrobilem wyzwalanie poziomem.
Tak. Tylko mniej świadomość że procek będzie odrywany od pracy wieloma nieprzydatnymi impulsami. Ewentualnie po pierwszym impulsie na INT, wyłącz przerwania na czas drgań. Jak teraz masz podłączony kontrakton ? INT podciągnięty pod +5V ? Jak INT wyzwalasz ? W docelowym projekcie koniecznie czujnik kontraktonowy zamień na jakiś halotron albo transoptor...
Jeżeli ustawił być INT1 na zbocze to ciągły stan niski nie zamulał by Ci programu. Jeszcze raz dla pewności: masz ustawić INT1 na zbocze, a nie implementować w programie programową obsługę reakcji na zbocze podczas gdy INT1 będzie ustawione na wyzwalanie poziomem.. Bo tak do tej pory miałeś.
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
Gate i Mode w konfiguracji timera nie występuje w bascomie na AVR. Prawdopodobnie może to być sposób wyzwalania/ zliczania timera (wewnętrzne lub zewnętrzne) plus jakieś inne tryby pracy.
Zdecyduj się o co Ci chodzi: Power down, Pull-down, Wyzwalanie przerwania zboczem narastającym/stanem wysokim, Obsługę watchdog, Bo nie wiem o co w końcu pytasz...
PCINT są wyzwalane tylko zmianą poziomu (Pin Change Interrupt) i nie da się go skonfigurować jako "falling"
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...
Jeśli masz piki w momencie przejścia przez zero to nie ma żadnej regulacji bo triak/tyrystor jak dostanie taki impuls to przewodzi do końca połówki sinusoidy. Musisz wysyłać impulsy wyzwalanie opóźnione względem przejścia przez zero.
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ę...
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....
Dostosuj ten przykład do Twojego programu czyli nie mierz w przerwaniu tylko ustaw flagę by dokonano pomiaru. Możliwa wtedy będzie obsługa innych przerwań itd.. To klasyczny przykład jak nie należy obsługiwać przerwań. Ustawianie flagi nie ma żadnego sensu, bo wtedy nie trzeba przerwania. W przerwaniu jak najbardziej można obsługiwać pomiary ADC. Ale...
programowe rozwiazanie nie bardzo mnie zadowala. Moze jednak mozna podlaczyc do INT4 ? Tylko od czego to jest uzaleznione ? Jest taki projekt ktory ma wlasciwie wszystko co ja bym chcial miec tylko niestety kosztuje 200$ i z tego co sie doczytalem to wlasnie jest wyzwalanie przez INT4. http://www.avrsprint.com/ProductBriefs/A...
Jeżeli sprawdzasz przycisk podłączony do masy, to czemu przerwanie Timer ma być wyzwalane zboczem rosnącym ? Config Timer0 = Counter , Edge = Rising
jak chcesz takie duze czestotliwości mieżyć to musisz użyć timera żeby liczył zewnętrzne impulsy, wtedy drógim timerem wyzwalasz przerwanie co określony czas (im dłuższy tym lepszy bo pomiar dokładniejszy) liczysz ile było ilmpusów z zewnątrz w okreslonym czasie. wydaje mi się że tą metodą dało by sie mieżyć nawet do 100Mhz ale jest jedno zalożenie...
Witam Zawsze staram się sam rozwiązywać problemy jednak tu poległem. Chodzi mi o pomiar czasu między impulsami. W jaki sposób poradzić sobie z Timerami? Który Timer można użyć do tego i z których wejść mogą być wyzwalane? Z góry dziękuję za pomoc.
Nie jestem pewien, ale wybudzanie da się chyba tylko stanem nie zboczem... doczytaj w dokumetacji:> Przed uśpieniem(procek wykonuje kod) , INT0 może być ustawione na falling , ale przed wykonaniem instrukcji SLEEP , należy zmienić sposób wyzwalania na LOW LEVEL i ... włączyć przerwania , jeśli usypiamy proca w przerwaniu. Poza tym , bit ISC01 może...
Witam, stawiam pierwsze kroki w Bascom-ie, dlatego nie wiem, czy to co piszę ma sens i się sprawdzi. A gdyby timer (odpowiedzialny za regulację częstotliwości) po przepełnieniu wyzwalał swoim przerwaniem podprogram z poleceniem PULSEOUT ? Można w nim zadeklarować czas trwania impulsu a przez to regulować jego wypełnienie. Ma to sens ? Pozdrawiam,
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
Zrob to na przerwaniach, tylko musisz za kazdym razem zmieniac tryb wyzwalania lub lepiej ustawic na oba jesli sie da (nie pamietam jakie sa opcje w t2313).
Trigger jak najbardziej może być od SPI, tyle, że od SPI realizowanego na USART w trybie SPI. SPI w XMEGA jest używane głównie do realizacji trybu slave-SPI i wtedy trigger wyzwala kolejne transfery DMA dla bajtów odebranych. Do master SPI używa się najczęściej USART. Różnica tylko w wykorzystywanych rejestrach, bo pinologicznie są to te same piny dzięki...
Witam Pomiar ADC trwa około 400us ale masz w podprogramie obsługi wyświetlacza dwie instrukcje waitms 20. Podciągnij zasilanie panelu do plusa (przez rezystor) na stałe i poprzez komparatory sprawdzaj moment dotknięcia panelu. wyjście z komparatorów poprzez bramkę AND podaj na dowolny pin a najlepiej niech wyzwala ona przerwanie w którym odczytasz dokładne...
Bascom nie da sobie z tym rady, C też nie da rady bez wstawki assemblerowej, W wartym 5zl ARM klasy STM32F030F4P6 masz 5 kanałów DMA którymi ogarnąłbyś problem tak po prostu. A z czego Ty chcesz te DMA wyzwalać? W przerwaniu bez wstawki assemblerowej też sobie z tym nie poradzi. Coś nie chce mi działać, wgrałem z kompilowany hex do procka i restartuje...
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...
Nie chcę cię oceniać, ale chyba nie uważałeś na zajęciach, skoro nie wiesz jak napisać taki programik. Nie potrafisz sprecyzować zadania i niepotrzebnie się unosisz. Najlepiej chciałbyś gotowca. Dalej nie wiem co z tym terminalem i obsługą przez rs232. Co on ma robić? Wyzwalać te pompy? A tak poza tym, naprawdę nie wiesz jak zrobić sterowanie włącz/wyłącz...
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.
1. Powinienes za transoptorem (przed INT0) wbudować przerzutnik schmitta. 2. Jak masz wyzwalane przerwanie? Nie znam BASCOMa, powinno być wyzwalane zboczem. 3. To cały Twój program? Tak jakoś trochę mało tej konfiguracji uC... No chyba że robi to BASCOM jakimś sprytnym rozbujnickim sposobem.
No dobra ale to nie tylko przełączniki ale adresowanie pamięci RAM, wprowadzanie danych poprzez klawisze sequencera do pamięci, wyzwalanie generatorów. Nie wiadomo co określa "jest posputy" - jak jest uszkodzone wprowadzanie danych do oryginalnego procesora to AVR nie naprawi TR808.
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...
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...
Do If Port1 != Pina Then begin Port1 = Pina Zmiana = 1 end endif loop skuteczność psuło Ci opóźnienie czasowe. Wyobraź sobie co się stanie, kiedy stan pinu zmieni się po wykonaniu polecenia Port2=Pina... Pewniejszym sposobem jest skorzystanie z przerwania wyzwalanego zmianą stanu.
Próbowałem ustawić wyzwalanie zboczem FALLING instrukcjami Bascoma, oraz wprost w rejestrach. Nie dawało to nic. Nie wiem, czy dalej wyzwalało się poziomem, czy przyczyna była inna. Poniżej fragmenty programu, które według mnie są istotne. Może ma tu jakieś znaczenie fakt, że pin INT1 jest w trakcie przerwania zmieniany na wyjście i z powrotem na wejście....
Zaproponowane zmiany nic nie zmieniły. Jak była obsługa 12bitów to procesor i tak rozpoznawał jaka to ramka za pomocą długości bitu startowego i dalej już "nie obsługiwał" części odpowiedzialnej za tą ramkę 12bit. Sprawdziłem i odbiera normalnie zawsze pierwszą ramkę, załączam ekrany oscyloskopu, drugi kanał jest wyzwalany flagą po odebranej ramce...
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...
Hej, Rezystory są źle oznaczone na schemacie - przepraszam. Wlutowane są prawidłowo - napięcie pomierzone względem masy jest prawidłowe. Dzielnik zmieniłem i jest przed diodą. Dodanie kondensatora C6 za diodą powodowało, że przy rozłączeniu zasilania mega nic nie zapisywała i zliczała od zera. Podobnie jak wpisanie polecenia RISING. Odlutowałem C6 i...
Witam wiem schemat nie jest najlepiej dopracowany ale już działa poprawnie. Nogi "niczym" nie zakończone stawały nie antenami , np przyciski. Dodałem po 100nF na przyciski i problem ustąpił. Wyzwalanie przerwania tez było podciągnięte pod styk przekaznika i było w powietrzu 100nF do masy i jest OK. Dziękuje za sugestie zamykam
Cześć, Odgrzewam trochę temat, ale może ktoś jeszcze tego potrzebuje. Kiedyś zrobiłem dokładnie taki sam projekt (Sony a330). Wykorzystałem do tego zestaw uruchomieniowy ZL11AVR (+dioda podczerwieni). Można ustawić czas cyklicznego wyzwalania migawki od 1s do 24h Jeżeli ktoś jest zainteresowany to mogę wrzucić źródło w BASCOM. pozdrawiam Hubert -
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...
Możesz w Bascomie załatwić wszystko na samych rejestrach, skoro polecenie Getadc się "gubi": ADMUX=b11010000 ' Vref =2.56 z zewnetrznym kondensatorem, pomiar dla ADC0 ADCSRA=b11000111 'włączony ADC i uruchomiona konwersja, wyłączone przerwania, preskaler na 128 teraz czekasz np 100ms i odczytujesz stan rejestrów ADCH (MSB ) i ADCL (LSB) wyzwalasz następną...
Jeśli chcesz mieć pomiary synchronizowane zegarem możesz to zrobić jeszcze inaczej. W przerwaniu zegara wyzwalasz pomiar po czym wracasz do programu głównego nie czekając na wynik (masz wtedy więcej czasu na inne zabawy). W kolejnym przerwaniu pobierasz wynik z poprzedniego pomiaru i znowu wyzwalasz przetwornik. Jeśli nie ma stosownych funkcji w BASCOmie,...
Przedstawię Ci kolego przykład zastosowania Pulsein żebyś miał jaśniej. Myślę że będzie "rzeczowiej". To przykład dla dekodowania transmisji pilotów podczerwieni. Sygnał podłaczony jest do zewnetrznego przerwania INTx i w momencie zmiany na pinie program skacze do tej procedury. Mierzy impuls i poddaje rozwadze jego długość. [syntax=basic4gl]Int_1isr:...
czesc Jaki procesor programujesz? AVR-y nie maja resestru tcon, w 2313 dla int1 wyzwalanie ustawaisz w MCUCR a dokladnie bity ISC11 i ISC10. Ale jak piszesz w bascomie to wystarczy napisac config int1 rising/faling rising - narastajace, faling opadajace, stan niski low lewel zreszta zajzyj do helpa, bo moglem sie w pisowni walnac A jak chcesz recznie...
Jeśli ten zapłon ma byc tylko bezstykowy to nie trzeba do neigo żadnego mikroprocesora, starczy wyspecjalizowany scalak i dopasowanie wyzwalania przy stałym wyprzedzeniu zapłonu jeśli kolega jest zainteresowany do podrzucę w przyszłym tygodniu symbol układu, jest powszechnie dostępny cena coś koło 20 PLN.
Jeśli możesz napisz program który będzie migał diodą na porta.1 przy portach B C i D ustawionych jako wejścia (kwarc 8MHz). Po prostu żeby sprawdzić co tu nie gra. Ok. Ale po wiedz mi w jakim celu chcesz mieć ustawione porty B,C,D jako wejścia bo z tego co rozumiem to diodka ma sobie tylko migać. Czy może ma być wyzwalana dopiero przy pojawieniu się...
...nóżkę int0 pcf8583 (7) trzeba podłączyć do PD.2 w uC przez układ RC, ponieważ pcf8583 daje przebieg o częstotliwości 1Hz, wypełnienie 50%... a nie chcemy, żeby przerwanie było wywoływane co chwile przez te pół sekundy... :P W takim przypadku , ustawiamy wyzwalanie zewnętrznego przerwania na jedno ze zboczy (opadające lub narastające) , a układem...
Witam!! Ustawiłem sobie powyższym poleceniem wyjścia kilku serw, teraz chciałbm aby w programie móc wyłączyć generowanie impulsów dla jednego z serw, poleceniem disable timer0 przestaje generowac impulsy dla wszystkich a zmiana portu z wyjściowego na wejściowy nic nie daje... Jest jakaś możliwość?? Ponadto, jakie są najdłuższe interwały przerwania wyzwalanego...
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...
Jakie konkretnie sygnały masz generować i jak to ma być wyzwalane ? W dzisiejszych czasach to taki układ najprościej byłoby zrobić na mikroprocesorze (np. Atmel) a program napisać w Bascomie. Wtedy możesz w jednym układzie generować i sam sygnał tonowy i jego taktowanie.
Aktualnie program wygląda następująco: [syntax=basic4gl]$regfile = "attiny13.dat" $crystal = 9600000 Config Pinb.0 = Input 'zero-crossing Config Pinb.2 = Output 'triac Triac Alias Pinb.2 Pcmsk = &B00000001 'PCINT0 Change Int activation On Pcint0 Pin_change_isr Enable Pcint0 Enable Interrupts Do nop Loop End Pin_change_isr: Waitus 2500 Triac = 1 Waitus...
najpewniejszym sposobem ustalenia wyprowadzeń jest omomierz , w ten sposób na 100% ustalisz wyprowadzenia , najważniejsze to znalezienie punktów wspólnych cewek te łączysz razem i do Uzas , o kolejność pozostałych nie musisz się martwić ponieważ i tak będziesz musiał ustalić to dopiero w czasie pracy układu , chyba że będziesz miał szczęście i za pierwszym...
Słuchaj możliwe błędy w przerwaniu: 1) nie ustawione jako wejście 2) złe wyzwalanie (w to wlicza się brak podciągania) 3) brak włączonej obsługi przerwań 4) jeszcze raz złe wyzwalanie! 5) źle zrobiony hardware! 6) Nie krzycz na ludzi mających większe pojęcie niż Ty i wytykających Ci oczywiste oczywistości gdzyż jak już to zadziała, będziesz marudził...
Dziekuje za pomoc, teraz wszystko działa jak należy, teraz pojawił się następujący problem: Ponieważ transoptor który służy do wykrywania zera, wykrywa zero ok 2ms po faktycznym zerze sieci, nie mogę dostać pełnej sinusoidy zasilającej żarówkę, ponieważ nawet gdy wyzwalam triak w momencie uruchomienia przerwania int0 (timer1=65535) to zostanie podana...
Jak masz klawiaturę podłączoną do portu C to nie będzie działać. Powodem jest standardowo uruchomiony J-TAG. Spróbuj z inną końcówką wyzwalającą przerwanie.
Sprawa jest dość prosta. Trzeba zrobić układ wykrywający moment przejścia przez zero napięcia zasilania. Układ ten powinien wyzwalać przerwanie. W procedurze obsługi przerwania wyzwalamy odliczanie timera. Maksymalny czas pracy timera musi być trochę mniejszy niż połowa okresu. Należy go też uzależnić od jakiejś zmiennej której wartość będziemy zmieniać...
Tak miałeś rację, zmiana na wyzwalanie zboczem pomogła. Dziś dorobiłem też termometr na LM56, moim zdaniem lepszy od DS-a. Zastanawiam się jeszcze nad miernikiem ciśnienia na SCP1000 bo mam kilka wolnych pinów na procku. Jutro dam znać co wyszło.
dondu - totalnie mylisz pojęcia. BOD i WD to dwa zupełnie różne układy, wyzwalane zupełnie różnymi bodźcami. WD powinien być stosowany w każdej aplikacji, jako dodatkowe zabezpieczenie. I bynajmniej nie z powodów o których piszesz. Jeśli program może wchodzić w dziwne stany to jest po prostu źle napisany - rozwiązaniem jest napisanie go poprawnie. A...
Moim zdaniem przyczyna leży w obsłudze przerwania. Przerwanie INT0 jest uruchamiane opadającym zboczem (Falling) CHA zmiana sie 1 -> 0. Dodatkowo w przerwaniu są instrukcje sprawdzające czy kanały są w stanie 00. Stan 11 jest pomijany. By móc rejestrować zmiany 0 -> 1 można ustawić przerwanie INT1 na wyzwalanie zboczem narastającym (Rising) i sprawdzać...
Dawno w Bascomie AVR nie robiłem - i faktycznie w ustawieniach kompilatora nie ma nic o nozce pod którą podłączasz odbiornik, ale należy ją zadeklarować poleceniem config rc5 - co zresztą pewnie korzystając z pomocy zrobiłeś. Jednak nadal problem jest w tym, że odbiór kodu musi zostać zainicjowany - i właśnie dlatego MUSISZ sprawdzać stan nogi programowo...
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:...
biglolo94 - NSel podłącz pod pin SS interfejsu SPI (chociaż to bez znaczenia, może być dowolny pin IO), NIRQ podłącz pod pin na którym masz możliwość wyzwalania przerwania zboczem - to wyjście modułu jest aktywne, kiedy dzieje się coś co wymaga twojej uwagi - np. odebranie pakiety, czy cokolwiek co sobie ustawisz w rejestrach zdarzeń.
Przerwania rzeczywiście są lepszym pomysłem. Ustaw na zbocze opadające albo narastające w zależności jaki sygnał masz gdy nie ma żadnego obiektu w barierze. Jeżeli coś wjedzie w bariere to wygeneruje zbocze i ty na to zbocze powinieneś się wyzwolić - jeżeli normalnym stanem pracy jest stan wysoki na INT0 to wyzwalasz opadającym jak stan niski to narastającym....
Witajcie ! Mam taką zamotaną sytuację. Na początek kod, albo raczej jego istotne fragmenty: [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 128 $swstack = 128 $framesize = 128 Config Timer1 = Timer , Prescale = 8 , Clear Timer = 1 , Compare A = Toggle Enable Interrupts Start Timer1 On Oc1a Timer1_isr Enable Timer1 Ocr1a = 50...
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...
Mam uwagę: 1. ideą jest aby klawisz on/off był trzymany przynajmniej 3s, w obsłudze przerwania jest zwłoka 3s a to nie to samo - powinno być po 3s sprawdzenie czy klawisz on/off jest nadal wciśnięty; 2. nie znam dokładnie tego procesora, czym jest wyzwalane przerwanie: zboczem opadającym, stanem niskim czy zboczem narastającym, czy jest możliwość konfiguracji...
Czesc, Jak zrobic zeby na wejsciu np. Pinc.1 ustawionego na input mozna bylo podlaczyc +5V i to odczytac oczywiscie - kompil. Bascom. pozdrawiam Nie wiem czy dobrze cię zrozumiałem, no może. Gdy chcesz aby pin był wyzwalany minusem, czyli złączeniem z masą to robisz tak. Config pinc.1=input i set portc.1 powoduje to przez wewnętrzny rezystor podciągnięcie...
tak, o to chodziło. Zależność miedzy częstotliwością a OCR2 powinna być liniowa? Bo układ steruje obrotomierzem i niestety wskazania jego nie są liniowo zależne od „f” a powinny. W samochodzie są liniowo zależne od częstotliwości impulsów z cewki. Podejrzewam, że wypełnienie 50% wprowadza nieliniowość w obrotomierzu. Jak mogę zmniejszyć...
ustawiasz licznik tak by generował przerwanie co 50ms w tym przerwaniu sprawdzasz swoje sygnały (przyjmijmy ze wyzwalanie jest zerem) w przerwaniu sprawdzasz czy sygnał jest = 0 jeśli tak ustawiasz sobie jakaś zmienna bitową flagę (znak ze sygnał jest). w następnym przerwaniu (flaga ustawiona) sprawdzasz znów sygnał jeśli jest 0 np włącz silnik. dodatkowym...
Ostatnie czasy na Elce coraz więcej nie działających procesorów/Programatorów/za szybko wykonywujących się opóźnień... W związku z tym może warto by było zrobić coś w stylu "Kompedium" co zrobić, jeśli nie działa...Jeśli macie jakieś z życia przykłady piszcie, będę uzupełniał:) Nie działa procesor: 1) sprawdź czy jest zasilanie na WSZYSTKICH Nóżkach...
Lub jako koder może zastosować Atmega8 i słynny BASCOM + Dtmfout. Ma zapewniony prosty i nie zawodny generator DTMF który tak naprawdę wyzwala jak chce, czym chce i kiedy chce i przez ile chce :) do tego MT8870 + kolejny AVR'ek który by odczytywał stany z dekodera, i potem obróbka zmiennej z liczbą zdekodowaną, np. 928342 to załącz alarm a 943267 to...
Dzieki Atom1477 miałeś racje chodziło o fusebit divide clock by 8. Teraz waity odliczają sie poprawnie .program tez chodzi ok. tylko te przerwania które miały być co sekundę sa teraz wyzwalane według oscylatora wewnętrznego a chce zeby były jak w 8 z kwarcu 32768 czy Config Timer2 = Timer , Prescale = 256 , Async = On jest nieprawidłowa konfiguracją...
Najczęściej robi się to odwrotnie - pin B.1 zwierasz do masy, a komendą SET podciągasz go do plusa zasilania. Wtedy program sprawdza "If portb.1=0 then...". Przy okazji, warto używać aliasów, wówczas program jest czytelniejszy, a ewentualna zmiana pinu to poprawka jednej linijki. Jeśli jednak z jakiś powodów musisz wyzwalać port jedynką, to podajesz...
Można podpiąć do którejkolwiek, ustawionej na wejście, jednak najwygodniej będzie na T0 lub T1 , które będa wyzwalały liczniki wbudowane w tym procesorze. Natomiast inny licznik co jakiś czas wyzwala przerwanie, którego procedura obsługi odczytuje ile już naliczył ten pierwszy licznik, przelicza wynik pomiaru na np. m/s, zeruje go i "pcha" to np. na...
Tak wiem doskonale że ładowanie próbek w określonym czasie przez wait ileś tam da złe efekty, (ale generalnie to działa) ale myślałem o spowolnieniach albo przyśpieszeniu, a nie o pierdzeniu i "cyfrowych schodkach" nałożonym na zupełnie dobrze odtwarzaną muzykę. Pokombinuję teraz z wyzwalaniem timerem. Nie wiem jednak też jak to dokładnie zrobić. Otóż...
Witam. Czy ktoś z forumowiczów wie, jak podpiąć czujnik ruchu lhi 968 do atmegi tak by wykrycie ruchu wyzwalało przerwanie w uC? Nota tego czujnika [url=http://www.alliedelec.com/Images/Pr... niewiele mi mowi. No i ewentualnie jak go obsłużyć z poziomu Bascom? Za porady...
jest nieżle ,program działa,ale jest jeden drobny mankament: wyzwala zawsze przekażnik jeden wyżej,czyli wpisuję 01 a wyzwala 2,wpisuję 02 a wyzwala 3. problem polega na tym, że dane w dacie liczone są od 0,1,2 ... a Pan zaczyna liczyć od 1, 2, 3... rozwiązania są dwa albo dodanie dwóch elementów na początek (post powyżej) lub wpisanie w kodzie tak:...
Wydaje mi się, że najpierw powinno być „uruchomione” odliczanie tych 0,1 sek, wyzwalane pierwszym pikiem z „paczki”. Potem trzeba odczekać te 0,1 sekundy na zanik „szumów” i zacząć zliczanie w czasie 0,9 sek. Ilość zliczonych pików podzielona przez czas da mi częstotliwość. Wynik ma się utrzymywać na wyświetlaczu...
Na liniach wejściowych masz dane, zapis wyzwalasz przednim zboczem czyli na CP musisz wystawić impuls dodatni lub ujemny - wszystko jedno, bo potrzebne jest jedno zbocze narastające. W przypadu zatrzasków typu Latch (373, 573) dane zatrzaskiwane są poziomem na wejściu taktującym. http://obrazki.elektroda.net/21_11940172...
Ja wstawiłem rezystor 240ohm i kondensator 10uF. Kody które mi pokazuje sa naprawdę bzdurne. Najczęściej są takie zame i wyzwalają się także samowolnie np. gdy zakryję i odsłonie czujnik przed światłem. Czujnik juz wynieniałem, proca też. czyli musi być coś z odbiorem.... Naprawdę nieciekawa sprawa...
Masz trochę rację, może mało precyzyjnie to opisałem. Zobacz tylko do poprzedniego posta. Pan Karczewski do badania rozkładu ciśnienia zastosował FFT. Jak sądzisz ile trzeba mieć próbek by taka transformata była wystarczająco dokładna. Błędnie zakładałem, że autor wątku chce mierzyć ciśnienie, które w rurce CR przed i za wtryskami zmienia się dość dynamicznie....
Witam, mam następujące zadanie: czujnik z wyjściem analogowym 4-20mA, enkoder taktujący pomiar z czujnika, wysłanie pomiaru przez RS-232 do PC. Enkoder pracuje w osi koła i generuje impuls co 25mm. Impuls wyzwala konwersję ADC z czujnika, wynik zostaje wysłany do PC. Problem w tym że nie mam pojęcia jak to zrobić. Mam do wyboru ATmega16 lub 128 i C...
aaaa - tyle że ja myślałem o tym: http://www.ikalogic.com/scanalogic2/inde... ;) IKA też - fajny - - najlepiej mieć obydwa :-) i ich przydatność przy testowaniu RS485 jest niepodważalna. ten co ja mam chodzi 5 razy szybciej i dekoduje więcej protokołów. W standardzie ma kilka popularnych - a kolejne można dokupowywać. Myślę że czasami nie warto sobie...
Przypomniałem sobie pewną sytuację, mianowicie kiedyś jadąc po autostradzie trafiłem na roboty drogowe które były oznaczone za pomocą kolejno błyskających lamp. Chodziło o palniki stosowane w lampach błyskowych czyli w sumie ksenony bo zasada działania ta sama. Błyski po kolei następujące po sobie powodowały że słyszałem w radiu samochodowym wyraźne...
Piszę program, do czasowego wyzwalania migawki: Na pokładzie mam attiny13, tact-switcha, oraz diodę led i transoptor. Układ ma wysyłać impuls ok 300ms co określony czas. Czas ustawia się poprzez wciskanie przycisku - jedno wciśnięcie = 0.5s więcej. Dłuższe przyciśnięcie (pow. 3s) powoduje ustawienie minimalnego czasu(0.5s). Problem jest taki, że im...
witam jest proste w asm ale w c też nie powinno być problemu. Przerwania INT0 i INT1 mogą być wyzwalane zmianą stanu napięcia wysokim lub stanem niskim . Odpowiednio ustawić bit w rejestrze MCUCSR. Ustawić bit aktywujący przerwanie w rejestrze GICR. mierzysz czas przez odczyt TIMERa
Witam kupiłem ostatnio nadajnik i odbiornik ultradźwiękowy, dziś się męczyłem próbowałem to uruchomić no ale niestety nic z tego nie wyszło, najprawdopodobniej to wina programu. To chyba coś nie tak z ustawieniem komparatora. Proszę o pomoc. http://obrazki.elektroda.net/27_12249746... Config Portc = &B0000000 Portc = &B0000000 Config Portb...
Witam. Nie wiem czy dział będzie ok. Mam nadzieje że tak. Chciałbym poprosić kogoś o napisanie krótkiego programiku w Bascomie. Dawno temu bawiłem się w AVR a teraz mam szybki temat i proszę o pomoc. Program miałby wyglądać następująco. (tak bym go napisał w PLC) Impuls (zbocze narastające) na wejściu X1 setuje marker M1 Marker M1 wyzwala Timer T1 Timer...
A ja zrobiłem obrotomierz w Bascomie na ATtiny 2313, procesor ten ma wbudowany 8 i 16 - bitowy Timer/counter. Konfigurujemy ten układ peryferyjny jako counter, procedurę zliczania w określonej jednostce czasu umieszczamy w podprogramie wyzwalanym przerwaniem zewnętrznym - czyli impulsem z czujnika halla. w innym podprogramie umieszczamy obsługę wyświetlacza...
Dziękuję za wszystkie miłe słowa, bardzo mnie one cieszą i jak najbardziej motywują do dalszej pracy :) (at)DmZ Tak, ten element jest w pełni ogarnięty ;) Zasada działania jest dość prosta - montujesz czujnik tak aby mierzył odległość od lustra wody, potem wykonujesz ciąg prostych obliczeń: Najpierw odejmujesz od odległości czujnika od dna taką odległość...
Mierzyć chwilowy prąd rozładowania? Nie rozumiem, po co, ale skoro musisz... Czym dla ciebie jest prąd chwilowy? W tej chwili, czy w następnej, a może w tej co będzie za 30 sekund? Może ty chcesz mierzyć szczytową wartość prądu w impulsie , w momencie gdy podłączysz kondensatory do obciążenia?... Wtedy najlepiej posiłkować się analogowym obwodem typu...
wyzwalanie diakiem wyzwalanie oscyloskop migawki wyzwalanie
ploter wycinania czujnik wzorcowy cylindra czerwona dioda pilot
kuchenka amica 53gg5 43zptgn akumulatory jakie różnice
Schemat mikrofonu Logitech Blue Yeti - szczegóły Czy pompa wspomagania z innego modelu pasuje do VW Passata B4 1.9 TDI?