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...
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...
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?
Ustawiając int na opadające zbocze...
No a może coś o szybkości narastania/opadania by tak wiedzieć? Bo z tego co pamiętam to AVR- tez mają ograniczenia wbudowane. Chyba CLK/2- ale nie dam sobie uciąć.
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...
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.
Tak shift in wczytuje dane. Widzę na lcd jak zmieniają się piksele natomiast nie działa żadne adresowanie czyli dane są nieprawidłowe. Myślę że mój problem jest tu: If Pind.3 = 0 Then Shiftin Pind.1 , Pind.0 , Komendy_we , 5 , 8 Gosub Konwersja Program zaczyna czytać dane w momencie gdy na RS jest L a wtedy jest jeszcze wysyłany bit DB0 poprzedniego...
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
Przede wszystkim nie wiecz czy wykrywasz początek bitu startu, jego środek, czy może prawie koniec. Gdybyć wykrywł zbocze z wykorzystaniem przerwania, to dopiero wtedy mozna mówić o synchronizacji. Przecież on b. szybko wykonuje kod, a jedyne co sprawdza to czy zbocze opadło. Nie ma możliwości, żeby udało mu się podczas np. skoku do początku pętli...
Ź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?
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...
Chyba nadal się nie rozumiemy. Możliwe. Przecież ani ja ani Ty nie wiemy, jak oryginalny program działa - można się tylko domyślać :) Kondensator się nie doładowuje do takiego stanu bo skoro zasilanie jest 5V to powinno być....a jest max.1v :) częstotliwość narastania to 1Hz. A sprawdzałeś oscyloskopem? Po co napięcie ma rosnąć do 5V - zapewne w momencie...
tak :D set ISC01 , procesor będzie reagował na zbocze opadające :) ale w 2051 trzeba rc zastosować...
Proszę postępuj zgodnie ze schematem użytkowym, który załączyłem (post #4 21 Lip 2015 21:39). Tam jest przedstawione gotowe rozwiazanie. Zacisk 21 podłączasz do masy, zaś zacisk 20 do GPIO. Stanem aktywnym jest zwarcie pinu GPIO do masy. Następuje to w momencie pojawienia się impulsu (dokładnie w momencie kiedy na ORNO mrugnie dioda). Dalsza procedura...
Ok, nikt więcej nic nie podpowiedział, więc pomyślałem jeszcze trochę. Wydaje mi się, że sniffowanie transmisji będzie łatwiejsze. Wyświetlacz obsługuje sprzęt audio, więc nie ma tutaj szybkich zmian na wyświetlaczu. Po przeczytaniu datasheetów, doszedłem do wniosku, że w momencie opadania zbocza E wszystkie sygnały muszą być stabilne. Wydaje mi się,...
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źć.
Reagują na zbocze opadające, narastające i na niski stan... jak sama ich nazwa wskazuje:>
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ń.
Witam. Robię układ projektu Pana Mirley'a [url=http://mirley.firlej.org/prosty_tim... Mam jednak problem z fragmentem odpowiadającym za przycisk START. Nie wiem jak zmienić program, aby układ działał na zbocze opadające. Chodzi o to, że jak przytrzymam przycisk start (a raczej fotokomórka poda nie impuls, a ciągły sygnał przez cały czas, gdy wiązka...
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ę...
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...
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,...
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!!!!
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...
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...
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....
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...
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.
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?
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
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...
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...
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?...
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...
Naprawdę nikt nie jest w stanie nic pomoc ? Miało by to mniej więcej wyglądać tak: -sygnał podawany na ICP ma postać kwadratową -zbocze opadające powoduje zapis wartości timera do rejestru sprzętowego -odejmując kolejne wartości rejestru od siebie uzyskuję czas jaki upłynął między impulsami -obliczając odpowiednio czas uzyskuję ilość impulsów na minutę
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...
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...
Walczę i walczę z tym programem ale nie daje rady.... :cry: Wrzucam cały kod, jest on zrobiony na bazie jak wspomniałem wcześniej: Projekt powiadomienia o alarmie by Xury wersja 2.0 [syntax=basic4gl] '***************************************... 'Projekt powiadomienia o alarmie by Xury wersja 2.0 'Działanie na przerwaniach...
Witam Czy ktoś z elektrodowców ma może jakieś doświadczenia z tym wyświetlaczem. Próbuję go "napędzić" z ATmega8 i niestety nie chce ruszyć. mam starą nokię do testów wyświetlaczy i oba moje testowe wyświetlacze doskonale na niej pracują, ale na ATmedze nie chcą. Napisałem całą procedurę 9-cio bitowy serial ze zmiennym bitem C/D. Na oscyloskopie wszystko...
układ zbocze opadać sterować zbocze opadać bascom zbocze
oscyloskop karty dźwiękowej wyczyścić zmywarka candy triak badać
ustawienie kolejności kanałów ustawienie kolejności kanałów
Rolka w podajniku papieru Xerox 6605 - budowa i konserwacja Brama otwiera się, ale nie zamyka - diagnostyka i rozwiązania