do sprawdzania stanu portu służy rejestr PIN
Mam stabilizatorki smd tyle że na 3,3V. jaki dać kondensator i gdzie go wpiąć, ewentualnie powiedz też jak zbudować ten prosty stabilizator na diodzie. A i zastosuje jednak do każdego segmentu rezystor, tyle że będą to rezystory smd, o ile je wcisne, na prawde mam mało miejsca:( Jeżeli możesz to prosiłbym też o podanie wartości rezystora lub wartości...
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Jak masz jakieś pojęcie o programowaniu to nie powinno być problemu. Najlepiej zrobić to na timerze i przerwaniach. Sam program byłby dosyć prosty w działaniu. Ja zrobiłbym tak. Przerwanie z timera przychodzi jakieś 100 000 razy na sekundę. Robisz 1 zmienną na liczenie przerwań i porównujesz z 2 zmienną która określa jasność świecenia. Przez wszystkie...
Robisz to tak - albo pull-upy 10k do 5V i przyciski między linie portu LPT a masę, wtedy sprawdzasz, czy pojawił się stan 1, albo pull-downy 10k do masy i przyciski między linie portu LPT a 5V (możesz też dodać szeregowo z każdym przyciskiem rezystor 680R - 1k), wtedy sprawdzasz, czy pojawił się stan 0.
A jak kolega wyobraża sobie synchronizację tych sygnałów z portem?
buttonState = digitalRead(przycisk2); - sprawdzasz stan portu tylko 1 raz, to przypisanie musi się odbywać w pętli
na początek, możesz spróbować przed ukryciem kursora i sprawdzaniem pixela poczekać na vertical retrace. Sprowadza się to do pętli sprawdzającej stan portu 3DAh A co do problemu z przesuwaniem kursora: na czym testujesz ten program? Na maszynie z dosem czy pod jakimś emulatorem? Jeśli chodzi o labirynt: może lepiej by było składać labirynt z prostokątów...
do sprawdzania stanu portu używa się instrukcji pinx.y w Twoim przypadku pina.0
Zapewne przed ifem sprawdzającym stan portu. jeden nop powinien wystarczyć
Może nie tyle sprawdzanie co odwołanie się do funkcji "MyHandleNoteOn(3,127,127);"
Witam ! Pokazuję błąd ponieważ sprawdzasz stany portów ! Z tego co wiem stan portów AVR to zero lub jedynka. ! źle jest B=2 . napisz B=1 lub B=0 Może być albo 0 albo 1. Pozdrawiam Stefan Amator
Ok ,a czy nie da sie odrazu zapisac sprawdzania przycisku pomijajac zaladowanie stanu portu do akumulatora ?? np : sprawdz: // petla sprawdania przyciskow P0-P7 jnb P2.0,wys0 // jesli P2.0 jest 0 skok do wysw0 jnb P2.1,wys1 jnb P2.2,wys2 . . . itd (...) Można sprawdzać stan linii portu 2 w ten sposób, nie trzeba wykorzystywać akumulatora. mov acc,...
Instrukcja Pinx.y służy do odczytu stanu portu natomiast Portx.y do ustawienia stanu na porcie. Jeśli sprawdzasz, czy został naciśnięty przycisk to za pomocą instrukcji Pinx.y (wcześniej musisz ustawić Config Pinx.y=Input). Poza tym jeśli chcesz włączać/wyłączać podświetlenie LCD to lepiej zrób to przez jakiś tranzystor, a nie bezpośrednio z portu Atmegi,...
Wpisz do $crystal taka wartosc jaka masz. Jezeli masz fusy na wew generator to wpisz 1MHz. Set Pind.1 Set Pinc.1 Set Pinb.5 BZDURA! Ile można powtarzać? Rejestr PORTX służy do wystawiania 1 lub 0 na port. Rejestr PINX służy do sprawdzania stanu danej końcówki portu. Rejestr DDRX służy do ustalenia czy port ma być wyjściem czy wejściem. Czyli zamiast...
Nie znam Bascoma Odpalasz timer, tak żeby generował przerwanie co 50 ms. W tym przerwaniu sprawdzasz stan portów i to w zasadzie wszystko. W pętli głównej monitorujesz ten stan i odpowiednio reagujesz.
Uporządkuj program, wiem ze to 1 próba i testowa ale kiepsko się czyta takie rozjechane linie. Wciskasz przycisk - drganie zwalniasz przycisk - drganie sprawdzasz stan portu czekasz i znów sprawdzasz. i dopiero tą 2 wartością się zainteresuj.
...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...
Witam, chciałbym w pętli for( ; ; ) sprawdzać stan portu przez około 20ms. Rdzeń taktowany jest zegarem 83,333 333 MHz. Jak obliczyć ilość iteracji? Pozdrawiam.
Nie wiem jak to wygląda w przypadku tego procka,ja używam avr i tam nie można sprawdzać stanu portu tylko pinu aby wykryć naciśnięcie przycisku,trzeba go wcześniej zadeklarować jako wejściowy,nie używam też polskich znaków w pisaniu
A zmieniłeś to dla jednej i drugiej diody? Po za tym ten kod z nadajnika jest wątpliwej jakości, zwłaszcza sprawdzanie stanu portów. A tak w ogóle, to nie lepiej napisać tak: [syntax=c]uart_puts("dioda1,zapal,\r\n")...
#define TRANZ_GORNY_STAN(!(PINB & 1<<PB4)) #define TRANZ_DOLNY_STAN(!(PINB & 1<<PB3)) Czy nie uważasz, że głupio wygląda zapis (poprawny zresztą jeśli chodzi o samo działanie), który sugeruje, że testujesz bity portu D odczytując port B?
hmmm jeżeli chodzi o klawisze proponowałbym zrobić tak: linie z PCINTX podciągnąć rezystorem 1M do stanu wysokiego a następnie dać na przycisk który byłby zwierany do masy(linie jako wyjście) PCINT reaguje na każda zmianę stanu na pinach (wybranych) także zwierając linię do masy wywołujesz przerwanie w którym sprawdzasz stan portu
Tak jak pisałem wcześniej: port 80 jest otwarty, sprawdzałem stan portów od strony i-netu więc mam pewność niestety... :-( Sprawdź logi apacha i logi kerio, musi być jakiś ślad w systemie jeśli napewno sprawdzaleś.
Można by... trzeba by utworzyć wątek roboczy, który by sprawdzał stan portu co określony czas. Można by wtedy założyć jakiś bufor, odczytywać to, co przychodzi, a user w wątku nadrzędnym mógłby już czytać z tego bufora. Tak czy inaczej, nie obędzie się bez utworzenia wątku. Tutaj polecam lekturę biblioteki pthread.
Teraz zauważyłem że masz źle to zrobione, powinno być tak ustawiasz serwo na pozycji, czekasz, sprawdzasz stan portu, zapisujesz do zmiennej. Ty natomiast czekasz, ustawiasz, mierzysz w zmiennej zostanie zapisane to "zauważył" czujnik przed dokonaniem wpisu w danej zmiennej tzn. ostatni parametr a nie to co było w czasie ruchu czujnika.
A co dokładnie miałyby te kontrolki wskazywać? Myślę, że ostatnio włączone użądzenie, bo nie ma sensu sprawdzać stanu portu. Wszystkie linie są wyzerowane. I jak miałoby wyglądac sterowanie czasowe? Nadawać impuls co jakiś czas, czy też impuls o określonej godzinie? Dopisanie tych funkcji nie zajmie dużo czasu.
Zacznę od końca. Użyj rezonatora zewnętrznego np. 10MHz. Im większy tym szybsze sprawdzanie stanu portów. Po drugie ten czujnik to nie kontaktron. W kontaktronie nie zmienia się rezystancja tak jak u ciebie a tylko zwierają się i rozwierają styki. Radze ci zrezygnować z tego czujnika i zakupić kontaktron, wtedy będziesz mógł go wysterować tak jak zwykły...
Proponuję zmodyfikować nieco pomysł kolegi Freddiego: 5 wyjść joysticka do 5 pinów a wspólny do 1 pinu z przerwaniem (bez diod). 1. Stan sprawdzania przerwania - 5 jako wyjście i na 0, wspólny z podciąganiem, dowolne naciśnięcie powoduje przerwanie. Gdy przerwanie wystąpiło wykonujemy: 2. Stan sprawdzania, który został naciśnięty - 5 pinów jako wejście...
Zegar komputera typu PC jest taktowany przerwaniem zegarowym. Aby uzyskać dokładniejszy pomiar czasu należy przejąć przerwanie zegarowe, oraz zwiększyć częstotliwość jego generowania. Jeżeli przerwanie zegarowe będzie sprawdzało stan portu równoległego, to zliczając ilość przerwań pomiędzy kolejnymi impulsami z czujnika można będzie dość dokładnie określić...
Program już jest napisany i działa:) przy okazji napisałem programik do sprawdzania stanów na portach i wszystko się zgadza:)
Sprawdzasz stan portu np co 2ms. Jeśli reakcja ma nastąpić przy zboczu opadającym to jeśli masz stan niski zwiększasz jakąś zmienną co te 2ms, jeśli stan wysoki to zerujesz. Po tej operacji sprawdzasz czy zmienna osiągnęła np 10 co oznacza że przez 20ms teoretycznie stan był stabilny i nie powinno być już więcej drgań styków więc możesz wykonać operację...
Numerowanie jest od 0 czyli w szesnastkowym wychodzi ze jest to "FE". Atmega8. PD0-PD7. Znasz jakieś ciekawsze rozwiązanie do: ustawianie pojedynczych pinów jako w/wy i sprawdzania ich stanu?
Czyli zostaje mi korzystanie z pilota RC5 zamiast NEC ( używam takiego w projekcie z multipleksowaniem bez 74HC595 i działa pięknie i to bez przerwania ), bo ciężko będzie wrzucić obsługę pilota NEC bez przerwania - myślałem, że może by sprawdzać stan portu wejściowego odbiornika, ale to raczej nie zadziała. Szkoda, bo piloty NEC tanie i poręczne, a...
Witam. Na wstępie powiem że jestem zielony w tym temacie, ale potrzebuję programik do raspberry pi, który będzie działał tak: -Sprawdzam stan portu jeśli wysoki to otwieram link1, jesli niski otwieram link2 -Sprawdzam ponownie za np. 10 min -jeśli zmienił się na wysoki otwieram link1, jeśli zmienił się na niski otwieram link2 (jeśli sie nie zmienił...
Rozumiem, że każdy wentylator daje Ci jeden impuls. Odczytuj stan portu, którego każdy bit jest zapisanym stanem z danego wentylatora. Odczyt ten zapamiętujesz i porównujesz z poprzednio zapamiętanym odczytem z portu. Jeśli jest różnica, to znaczy że któryś z wentylatorów podał impuls. Sprawdzasz który/które to bity i odpowiednio zwiększasz liczbę zliczonych...
Na miejscu kolegi nie bagatelizowałbym sprawy obsłużenia przerwania portu równoległego i dokładnie upewniłbym się czy system operacyjny którym dysponujesz obsługuje własnie te przerwanie. Z tego co się orientuję na popularnych PC-tach tylko jakaś stara wersja OS-a używała tego. A chcąc użyć przerwania pod Dos-em należało modyfikować wektory przerwań....
Całość (chodzi o temat postu) można zrealizować programowo w sposób 'turowy' - czyli mamy pętlę główną i w niej sprawdzamy stan portów oraz ustawiamy wyjścia. Wystarczy jeden timer (softowy) który liczy 'tury' i 4 zmienne (zliczające), jeśli w x turze napotkamy zmianę stanu na wejściu to 'zamykamy' wynik. Znając czas 'tury' łatwo przeliczymy to na %...
Tak mi radził PIOTRUŚ odłączyłam wszystko i podłaczyłam tylko jedno no i nie pomogło :/. Mam Win XP Professional i mam status admina Sprawdzałam już wcześniej w "Dodaj sprzęt" ale nic nie wykrywa. Nawet na mp3 nie pojawia się charakterystyczny rysujek oznaczający łączność z kompem (ale jak ją podłącze do notebooka to on ją odczytuje i nie ma żadnego...
Witam Daj jakiegoś małego MOSFETa zamiast tranzystora NPN i będzie działać, w układzie z NPN musisz dać w bazę opornik koło 1Kohm i oczywiście rezystor szeregowy z LED musi być taki by nie przekroczyć prąd procesora, logicznie to będzie działać, tylko pytanie po co? Skoro chcesz sprawdzać stan dwu pinów na porcie to równie dobrze możesz sprawdzić programowo...
W pewnym moim projekcie musiałęm wykonać sprawdzanie stanu wyprowadzeń zewnętrzych PORTU C. Program jest bardzo prosty. wystawiam na PORTC same jedynki i kabelkami zwieram wyprowadzenia portu do masy. Zależnie od tego który kabelek odłącze od masy program wykonuje żądaną instrukcje. Długo nad tym myślałeś? Przecież w ten sposób zwierasz (przez tranzystor...
Coś jest nie tak z drugim warunkiem - brak reakcji. Tu rzeczywiście jest problem. Trzeba byłoby przerobić trochę tą bibliotekę do obsługi tego przypadku, tak jak napisałem jest to minimalistyczna wersja tej biblioteki. Teraz tak na szybko możesz zamiast !IsKeyPressed( KEY0 ) sprawdzać bezpośrednio stan portu i powinno być OK.
Kolego, edytuj ten post, użyj znacznika code i stosuj wcięcia bo nic nie widać. Problem tkwi w tym, że sprawdzasz dwa razy pod rząd bez żadnej przerwy stan portu, to jedno nadmiarowe sprawdzenie powoduje, że pomimo iż przerwa wynosi jedynie kilka taktów zegara, to stan może się w tym czasie zmienić.
Testowanie co 30ms jest skuteczne? A jak zostanie zinterpretowany impuls zakłócający, który pojawi się właśnie w momencie przerwania 30ms? Oczywiście że jest skuteczne. Tajemniczy "impuls zakłócający" chyba nie pochodzi z kosmosu, tylko z faktu, że jednak ktoś ten przycisk nacisnął, wiec jeśli zostanie to zinterpretowane jako naciśnięcie, to doskonale...
No ale dondu, przecież Ty musisz dodatkowo sprawdzać stan dwóch portów i zrobić mu debounce, a w INT0_vect trzeba jedynie zrobić if (pinjestzerem) przekrecilosiewlewo; else przekrecilosiewprawo; Po za tym, to Ty jesteś (byłeś?) miłośnikiem energooszczędności.
Nie ma nic prostszego, niż połączenie każdego końca przewodu do innej linii portu uC. Minimalistyczne testowanie wiązki polega na tym, że ustawiasz wszystkie linie poza jedną jako wejścia podciągnięte do plusa, jedną jako wyjście w stanie 0 i sprawdzasz, czy masz dokładnie jedno wejście w stanie 0. I tak dla każdej linii. Jeśli brakuje Ci linii portów...
Za cienki elektronik jestem i programista pewnie też, żeby port COM wykorzystać. RS232 ma stany logiczne -12V dla "0" i 12V dla "1". A w LPT są piękne sygnały TTL. Poza tym program już napisałem i to wszystko działa i było testowane z układami z dwóch pierwszych schematów. COM nie byłby za wolny bo ten EEPROM wcale szybki nie jest, dlatego nie da się...
Aby określić kierunek musi posiadać jakiś trzeci stan np. dwa zwarte lub dwa rozwarte. Potrzebne to jest po to aby określić początek "obserwacji". Zakładamy, że ma dwa rozwarte: -środkowy (wspólny) łączymy z masa; -dwa pozostałe na dowolne wej. portu (np. P1.0 i P1.1); Na bieżąco sprawdzamy stan portu (bitów 0,1) i czekamy aż pojawi się 3 (xxxxxx11b)...
Jednak proponowałbym koledze zmienić na portb.3 z pinb.3. Pinb użyjemy kiedy np. sprawdzamy stan portu, tzn If Pinb.x = y then z endif Pozdrawiam Ps. Sprawdź to $regfile = "attiny13.dat" $crystal = 8000000 Config Portb.3 = Output Do Portb.3 = 1 Wait 1 toggle Portb.3 Wait 1 Loop End Musi działać. Program w pętli ustawia 1 na porcie 3, czeka...
Proponuję: if (r >=g && r >= b) PORTD |= _BV(PD4) Analogicznie dla "g" i "b". Należy także gasić wszystkie diody przed sprawdzaniem warunków. Założyłem, że stan wysoki na porcie zapala diody. Jeśli zachodzą warunki podane przez kolegę Andrzej_S , to zapalają się te diody, które są równe pod warunkiem, że są to wartości największe.
Nie mogę sie uporać z następującym problemem. Układ ma za zadanie sprawdzenia poboru prądu przy urządzeniach 15W i 1100W (na zasadzie - urządzenie pracuje lub nie) http://obrazki.elektroda.net/97_12253202... Na schemacie: TR1 - przekładnik prądowy, IC10A, IC10B - prostownik idealny IC10C - wzmocnienie napięcia z prostownika. Układ zasilany...
Po czym wnioskujesz, ze to program napisany w C++? Uzywasz jakiejs prehistorycznej wersji Win-AVR, WDR jako opoznienie to raczej kiepski pomysl, nic nie rob ma mnemonik "NOP". Twoja funkcja wcale nie generuje 40kHz, calosc jest pokrecona jak swinski ogonek, jak myslisz po co funkcje moga przyjmowac parametry inne niz void? Twoje procedury opoznien sa...
Sprawdzasz co jakiś czas stan portu...
[syntax=c] #define BUTTONS_MASK (M1|M2|M3|M4) static volatile uint8_t pressed[4]; ISR(TIMER0_COMP_vect) { static uint8_t licznik; static uint8_t previous[4]; uint8_t current; if (licznik==0) { // wysyłka SPI MULTIPLEX1_ON; } else if(licznik == 1) { ... } //else ... itd asm volatile("nop"); current = PINA; //sprawdzamy stan portu przycisków pressed[licznik]...
Warunek nie jest poprawny, bo sprawdzasz stan całego portu, a interesuje Cię tylko jeden pin. Robienie 1-wire na ARMie z delayami to nie do końca dobry pomysł - poszukaj informacji jak go zrobić z wykorzystaniem UARTa. 4\/3!!
A no w sumie tak. Ja bym to wywalił. Dodano po 6 I to nie dlatego że przerwanie powinno być krótkie, ale dlatego że opóźnienie spowolni reakcję i może zafałszować wynik sprawdzania stanu portu. Port jest odczytywany w całości, ale później czyli w międzyczasie stan pinów może się zmienić. Powiedzmy że linia 3 zmienia się z 1 na 0 (i ta zmiana spowoduje...
Witam Mam problem z padem do PS4. Mianowicie gdy próbuję go włączyć, to miga na pomarańczowo. Kiedy jest podłączony do kabla USB, również się to dzieje. Parę razy próbowałem go resetować, lecz wynik jest dalej taki sam. Co w tej sprawie mogę zrobić??? AI: Czy kontroler był wcześniej sparowany z konsolą PS4 i działał poprawnie? tak AI: Czy sprawdzałeś...
Wiam wszystkich Proszę o pomoc, chciałbym podłączyć mikrostyk do portu szeregowego (COM) i programowo sprawdzać czy jest on włączony czy wyłączony (tzn czy styk jest zwarty) , ale nie wiem jak takie coś zrobić. Napisz na jakim poziomie jesteś, jaki język. Proponuję zaznajomić się z książką RS232 Praktyczne programowanie, szczególnie pod kątem nie linii...
Na porcie szeregowym odczytasz max 20KHz. Zrób w programie wątek który w pętli sprawdza stan portu COM oraz zlicza liczbę zmian stanów. Lepszy od kontaktrona byłby halotron (ew opto). Możesz ustawić poziom wysoki (+12) na jednym z wyjść portu. Oraz połączyć kontaktronem na któreś z wejść. Wejście połącz rezystorem 10K na wyjście na którym ustawisz stan...
Najlepiej na port Com - RS232 na piny TXD (Transmit Data) - GND (Signal Ground) lub na port LPT. Pinologie znajdziesz w necie. Raczej "0" zwarty "1" rozwarty, bo takie stany będą ma porcie wykazywane.
Witam, czy jeśli zastosuje SetCommMask będę musiał potem sprawdzać stany na porcie za pomocą WaitCommEvent ? Chodzi o to że muszę ustawiać DTR i RTS oraz móc ustawić BREAK = true na 10ms i powrót do false aby zainicjować czujnik i potem pobierać wskazanie z czujnika. pzd
Jeszcze jedno pytanko: Chcę zrobić tak, że jeśli na port C.5 pojawi się sygnał to włączy się port C.4. Jak fizycznie to wykonać? Podłączyć 5V na nóżkę 5? Pozdrawiam A czy sygnał po zaniku napięcia na PORTC.5 stan wysoki na PORTC.4 ma zostać czy nie? Fizycznie - tak, trzeba podłączyć 5V, a w programie zrobić pętlę która sprawdza stan portu C. Oczywiście...
Jeśli sprawdzasz stan końcówki portu to możesz zrobić np. tak: char funkcja(argument) { while(bit_is_set (PINA,1)) { for(x=0;x<wartosc;x++) { ... } } return wartosc; } Wtedy funkcja wykonuje się do momentu wciśnięcia klawisza( stan niski).
Witam. Projektuję płytkę pod uC Atmega328 i chciałbym zbudować sygnalizację transmisji przez RS232. Oto schemat: http://obrazki.elektroda.pl/3369857300_1... Zasada działania: Gdy podłączę kabel i na komputerze uruchomię Hyper Terminal na PINie 4 w gnieździe pojawi się stan wysoki (+10V). Co da mi na wyjściu MAX232 (PIN 9) stan niski....
Wielkie dzieki :) Dokładnie o to mi chodziło. Widać, ze masz duzą wprawe, bez błędnie przejrzałeś mój kod. Mam jeszcze jedno pytanie: W jaki sposób zapisać dane do tablicy ? np. sprawdzam stan na porcie i zapisuje go do tablicy ? Co oznacza dokładne ".db" ? czy chodzi o liczby binarne ?jakie są tego alternatywy ? Jeszcze raz dziękuje za pomoc.
PORTD &= (1<<PD1); - jeśli na PD1 jest 1 to ustawi mi 1 a jeśli 0 to ustawi 0 To jest nieprawda. Natomiast nie mogę zupełnie ogarnąć w jaki sposób ustawić na PD1 0 bez sprawdzania jaka była poprzednia wartość na tym porcie. PORTD &= ~(1<<PD1);
A po co 8 pętli do obsługi 4 przycisków? Przerwanie nie przerywa pętli tylko wstrzymuje ją na czas wykonania programu przerwania. Wystarczy jedna pętla główna w której sprawdzasz stan całego portu do którego są podpięte przyciski, wtedy w tej samej chwili masz odczytany stan przycisków. Jak rozumiem z opisu robisz pętle do obsługi każdego przycisku?...
Można trochę bajtów zaoszczędzić :) Dodaj bibliotekę obsługującą hardwarowe TWI: [syntax=basic4gl]$lib "I2C_TWI.LBX" ...... I2cinit Config Twi = 100000[/syntax] Odczyt danych z EEPROMU, zamiast: [syntax=basic4gl] Dim Mz1 As Byte Dim Gz1 As Byte Dim Mz2 As Byte Dim Gz2 As Byte Dim Mz3 As Byte Dim Gz3 As Byte Dim Mw1 As Byte Dim Gw1 As Byte Dim Mw2 As...
To nie jest takie proste... Wez sobie wyjscie INT z tego PCFa, podłącz do inta w procku. Procek bedzie sobie odczytywal stany z wejsc PCFa, i ustawiał np. odpowiednie flagi wcisnietych przycisków...Reszte juz łatwo dopisać do programu, bo zamiast debounce itp itd piszesz sobie IFa ktory sprawdza flage. Sposób szybki i skuteczny. Poza tym zastosowanie...
Witam, Walczę już kilka dni z ds18b20 i bezskutecznie nie mogę zmusić go do działania. Czujnik 100% sprawny ponieważ tak na szybko podłączyłem go do atmegi i działa. Mój kod w załączniku. Może ktoś byłby tak miły i zerknął co robię nie tak. Funkcja sprawdzająca obecność czujnika niby działa natomiast odczyt temp. nie. Czujnik mam podłączony trój przewodowo...
while przyjmuje dwie wartości parametru, prawda i fałsz, prawda to każda wartość większa od 0 a fałsz to wartość 0. W przedstawionym przykładzie parametr jest na stałe zdefiniowany jako wartość >0 czyli prawda. W konsekwencji petla zawsze się wykona... i zawsze będzie sprawdzała stan odpowiednich portów... Tyle na wstępie programowania... następnym...
Po raz kolejny podnoszę temat klawiatury, jej konstrukcji i obsługi tak aby nie trzeba było angażować kontrolera do ciągłego monitorowania stanu portów. Wymysliłem więc sobie, że każdy klawisz to będzie coś takiego jak na rysunku poniżej. Czyli klawisz podłączony jest do wejścia wyzwalającego przerzutnika monostabilnego (2 takie przerzutniki znajdują...
Hmm...na screenie https://obrazki.elektroda.pl/2450207400_... - widze że jest jednak opcja do uaktywnienia pingu do sprawdzania "stanu życia" hosta docelowego. Czyli - rozumując logicznie mozna by ją równiez wyłączyć .... pytanie tylko co zrobi wtedy aplikacja - cyz przerzuci się na sprawdzanie po komunikacji na porcie 135 (czy jakimś...
masz totalnie pochrzanioną obsługę przerwania pomijam już ze jest zbyt obszerny ale wpisanie tam transmisji rs232 to już piramidalna pomyłka i to powoduje że nigdy tobie to nie zadziała. Poza tym kompletnie nie widzę powodu aby wyprowadzać sygnał na przerwanie INT0 moze tylko po to aby łatwiej mozna było sprawdzać przytrzymanie klawisza ale innego powodu...
nie bardzo rozumiem jak z tą flagą sobie poradzić (o jaką flagę chodzi??):/ czy mógłbyś podać jakiś przykład?? sprawdzałem pomiar częstotliwości i za każdym razem błąd wynosi 0,64% czyli chodzi o to co napisałes ze gubi kilka impulsów Jeżeli jeszcze nie doczytałeś do konceptu flagi.... więc krótko: flaga jest to najczęściej jedno-bitowa zmienna sygnalizująca...
Było już na ten temat nie raz ale co tam... Są trzy rejestry odpowiadające za porty... DDRx - ustawienie portu jako wejście lub wyjście (rejestr kierunku)... PORTx - odpowiada za ustawienie stanu portu (stan wysoki/niski na poszczególnych pinach lub całym porcie) "wystawienie" wartości na port... PINx - odczyt wartości z portu lub stanu pojedynczych...
Cze, //Funkcja inline static void spi_init(void) { return; } //Program główny int main() { DDRB |= 1<<5; PORTB &=~(1<<5); spi_init(); while(1) PORTB |= 1<<5; } Sprawdzam stan na porcie PORTB5. Gdy zakomentuje wywołanie funkcji, program działa. Jest stan wysoki na wyjściu....
Zgodnie ze schematem, który jeden z Kolegów umieścił wyżej: http://gamesx.com/wiki/lib/exe/fetch.php... Jak i wiadomościami z linka, którego podsunął autor, sterowanie odbywa się masą, jedyny układ w joysticku to multiplekser, który nie komunikuje się z konsolą, więc żadnego finezyjnego układu...
Jestem początkujący w 8051 i mam parę prostych pytań. Pytania seri 1: Słyszałem że w 8051 można sprawdzać osobno stan lini jakigoś portu i stan bufora linii portu i oprócz tego można jeszcze w SFR coś sprawdzać jeśli chodzi o stan linii portu tylko nie wiem co dokładnie. Czy ktoś mi może to wyjaśnić? Jaka jest różnica pomiędzy stanem bufora linii a...
Mikrokontroler mega.2560. Arduino Mega, czy sam "czysty" mikrokontroler, bez środowiska Arduino? Pierwszym projektem jaki się robi podczas nauki na mikrokontroler jest miganie diodą. Drugim projektem jest włączanie diody przyciskiem. Stan przycisku możesz sprawdzać poprzez przerwanie zewnętrzne (tylko na niektórych portach), cykliczne sprawdzanie w...
CJNE tłumaczy się jako Compare and Jump if Not Equal czyli porównaj i skocz jeśli różne, porównuje zawartość rejestru R2 z liczbą 2 i wykonuje skok jeśli są różne , MOV R2,TL0 przenosi zawartość TLO do R2 czyli w zasadzie porównujesz TL0 z liczbą 2 wniosek końcowy w TL0 jest liczba różna od 2 IPTR to pewni Instruction Pointer czyli coś takiego co wyznacza...
Witam! Chciałem zbudować sterownik do samochodu, wykonujący kilka czynności przed i po uruchomieniu silnika. Układ będzie na atmedze8. Po przewertowaniu kilkudziesięciu postów o zbliżonej tematyce nie mogę się zdecydować jak najprościej i najpraktyczniej zrealizować uruchamianie bloku funkcyjnego w programie po tym jak wzrośnie napięcie w instalacji...
Istnieje taka możliwość. Mianowicie jakaszmienna sprawdzasz poszczególne bity w bajcie i już wiesz na którym pinie masz 1, lub 0.
Config Debounce = 30 Config Portd.1 = Output 'tx do vfd Config Portd.6 = Input 'enkoder Config Portd.7 = Input Set Portd.6 Set Portd.7 Config Portd.0 = Input 'przyciski po koleji : -v , +v , +/-a , wyświetlacz Config Portd.2 = Input Config Portd.3 = Input Config Portd.4 = Input Set Portd.0 Set Portd.2 Set Portd.3 Set Portd.4 Coś tutaj nie tak... Jeżeli...
Wydaje mi się, że te wszystkie wyłaczniki krańcowe są na tyle wolne, że najprościej byłoby sprawdzać to programowo (badac stan portu) i obsługiwać je wg. przewidzianego algorytmu.
Przede wszystkim zastanów się co się dzieje na wejściach od klawiatury, oraz jak zachowają się kody w przypadku niestabilnych stanów które prawie na pewno wystąpią. Zmiany stanów na portach też nie muszą być natychmiastowe z wielu powodów. W przypadkach bardziej wymagających może nawet dojść konieczność kilkukrotnego sprawdzania w czasie.
Stan portu można sprawdzać na kilka sposobów. Pod tym linkiem jest temat o sprawdzaniu stanów poszczególnych pinów http://www.elektroda.pl/rtvforum/topic72... osobiście sam często używam makra if(bit_is_set(PINB, PB3)) i analogicznie if(bit_is_clear(PINB, PB3)). Pozdrawiam
Przeszukałem całe archiwum w temacie WOL i niestety praktycznie wszystkie wątki są niedokończone :cry: A mam następujący problem... Jest sobie PC z płytą główną produkcji A-trend'a z 1998 roku. Płyta posiada gniazdo WOL i stosowną funkcję w BIOS'ie jednak funkcja nie działa - nie ma możliwości uruchomienia komputera przez LAN :cry: Oto do czego doszedłem:...
Jeśli DS'y masz podłączone 2 przewodowo to między pomiarami musisz odczekać około sekundy (jak sprawdzałem je w każdej pętli programu to wychodziły mi różne śmieszne rzeczy) , poza tym czas konwersji to około 750ms a ty masz chyba 800 ale us a nie ms (chyba że us to nie są mikrosekundy) ja mam waitms 750. Przy podłączeniu 3 przewodowym mogę sprawdzać...
To wkleiłęś tylko obsługe UARTA? jaki to procek (pachnie AVRem)? Nie wiem co masz na myśli pisząc "wyłączenie odbiornika". Wyłączasz uarta? a na jaką cholere? :) Cisza na lini... Tak jak w innych protokołach, tak i tu sygnalizowana jest jedynką. Jeśli ta jedynka trwa dłużej jak 1s, to można zapalić flage "BRAK DMX" Jeśli odbiore z uarta 0 to czekam...
Witam ! Dziękuję wszystkim za podpowiedzi i sugestie. Skoro się nie da w ten sposób wykonać generatora to chyba faktycznie pozostanie mi pobawić się zmianą stanu portu ( np OC1B ) ze sprawdzaniem stanu wyjścia OC1A ( coś na zasadzie OCR1B=not OCR1A ). Rozwiązania z inwerterem chciałbym uniknąć ze względu na ilość układów scalonych.
Zlituje sie nad toba kolego. Koledzy maja do ciebie pretensje bo napisales taka fajna bzdure... Masz: Rejestr PORTX służy do wystawiania 1 lub 0 na port. Rejestr PINX służy do sprawdzania stanu danej końcówki portu. Rejestr DDRX służy do ustalenia czy port ma być wyjściem czy wejściem. A to wszystko z helpa ZbeeGin'a. Czyli chcesz 0 na porcie piszesz...
Nigdy nie dawaj oglądać ludziom walących po oczach żółtych linii na białym tle. Jeśli w arduino używasz portd a w atmedze porta to nie ma szans działać. (patrząc na schemat, bo arduino na oczy nie widziałem) Twój setup dla adruino sprowadza się do wpisania do rejestrów ddrx wartości 1 dla wyjścia i 0 dla wejścia. Więc interesuje cię tylko sekcja output...
Witam Część kodu: DDRB=0x0C; // B jako WE, tylko B3 i B2 wy 0000 1100 DDRD=0x78; // D ma 0111 1000, czyli tylko D3,D4iD5 i D6 Wy. PORTB=0x0C; // B2 i B3 jedynki PORTD=0x00; // D bez podc. //--- sprawdzanie stanu pinu-- if (PIND0) PORTB^=0x04; //0000 0100 B2 else PORTB^=0x08; //0000 1000 B3 Jak dla mnie - wszystko ok, połączenia sprawdziłem,...
Dodam, że jak się "zadeklarowało" przycisk w ten sposób, ... DDRC &= ~KEY; PORTC |= KEY; ... to wypadałoby sprawdzać jego stan, przez odczyt PINC, a nie ... if ( !(PINA&KEY) ) Piotrek
Witam. Potrzebuję podłączyć pod jeden z portów DIP Switch i wybierać procedurki zależnie od jego ustawień. Czy można sprawdzić stan wejść portu, tak jak ustawia się stany wyjściowe na porcie? (portB=&B00001010) Jeśli sprawdzam to warunkami [syntax=vbnet] If sw1=0 AND sw2=0 and sw3=0 ... and sw8=0 then [/syntax] , to 16 gołych warunków zajmuje mi grubo...
Kod jest tak napisany, że nie chce się analizować. Więc sam to zrób - Na początek weź manual ( najlepiej do własnej kostki) np. ten http://html.alldatasheet.com/html-pdf/23... na str 9-12 są algorytmy zapisu i odczytu i sprawdź jak twój program do tego przystaje, popraw program, uzupełnij komentarze i styl....
Witam W tej rodzinie procesorów stan bitu sprawdzasz przy ustawionym porcie. Badasz czy jest zero. Jeżeli wymusisz zero na danym pinie możesz coś popsuć w zależności od wydajności prądowej. Pozdrawiam
czyli da się zapisywać i odczytywać tylko jeden bajt _a1 i trzeba sobie radzić tworząc własną procedurę zapisu i odczytu wielu danych? Niestety tak. a jeśli chodzi o sprzętowy TWI, to czy on może pracować jako slave, czy tylko master? Może pracować zarówno jako Master jak i Slave, dodatkowo każdy w dwóch trybach. Patrz nota katalogowa. programowo obsługuje...
1. Czy w kodzie do tej karty, aby dodać przyciski to wystarczy podać który pin jest wejściem i co program ma zrobić po wykryciu sygnału czy jeszcze coś trzeba zmienić ? 1. Ustawić piny jako wejścia. 2. Sprawdzać ich stan w głównej pętli 3. Przemyśleć sprawę wyeliminowania drgania styków 4. Zmienić stan portów sterujących. 2. Czy tak mają wyglądać wejścia...
wyświetlanie stanu portu odczytanie stanu portu zmiana stanu portu
cewka briggs iskra obniżyć napiąć rezystor schemat suzuki wagon
wiertarka celma kondensator lenze naprawa
Gasik RC do transformatora 150W 230V na przełącznik obrotowy Wyciek oleju w BMW X5 E53 4.9is - przyczyny i rozwiązania