Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Jak ominąć "zastopowania" pracy procesora w petli.

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:
Jak ominąć "zastopowania" pracy procesora w petli.

Postautor: almatea » 21 paź 2005, o 19:50

Witam wszystkich Forumowiczów :D

Tempr = Tcpread(k , Odbierz_tcpip) - to linijka nasłuchująca port TCPIP. Blokuje działanie procka, dopóki coś nie wejdzie na TCPIP. Podobnie działa komenda Input dla RS232, tylko, że w tym przypadku mogę posłużyć się wykryciem przerwania Urxc. Czy ktoś może wie jak ominąć pętlę jak poniżej, pełniącą funkcję nasłuchu TCPIP tak, aby procek mógł odbierać po sieci, a jednocześnie realizować pozostałe funkcje i zadania?

Do

Tempr = Tcpread(k , Odbierz_tcpip)

Loop


Pozdrawiam

a_antoniak
-
-
Posty:651
Rejestracja:13 sty 2005, o 18:38
Lokalizacja:Krasnystaw
Kontaktowanie:

Postautor: a_antoniak » 21 paź 2005, o 20:10

OS-ik by się przydał :)

Stefan_25
-
-
Posty:29
Rejestracja:9 wrz 2005, o 16:34
Lokalizacja:Śląsk
Kontaktowanie:

Postautor: Stefan_25 » 21 paź 2005, o 20:28

Witam.

Jesli masz taką możliwośc to zbudować (pomost LAN <> RS) na uP któy będzie odbierał dane i wysyłał do głównego za pośrednictwem RS.Tym samym uzyskasz "ciągłość" wykonywania programu a jesli nadejdzie komenda TCP/IP odbierzesz dane i zastosować komende "INPUT"
cyt.
"Podobnie działa komenda Input dla RS232, tylko, że w tym przypadku mogę posłużyć się wykryciem przerwania Urxc."

Pozdrawiam

Stefan

Czajnik
-
-
Posty:264
Rejestracja:17 cze 2004, o 15:40
Lokalizacja:Kraków
Kontaktowanie:

Postautor: Czajnik » 26 paź 2005, o 19:17

Jeszcze wpadło mi cos takiego do głowy. Wszystko co ci potrzeba obsługuj w przerwaniach.. wewn/zewn a w pozostałym czasie nie ch sobie goni w tej pętli... ewentualnie ael to ryzykowne , weż i przerwaniem skacz gdzies tam... ale nei wracaj z tego skoku, tylko odblokuj przerwania. efekt powinien być taki ze po zrobieniu czegos tam procesor dojdzie znowu do tej petli i bedzie gonił do czasu następnego przerwania. W sumie wychodzi na to samo zel moze któreś bedzie ci bardizej pasować.

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 27 paź 2005, o 07:11

Witam ponownie... :D

Już mam odpowiedź i napiszę ją tutaj, bo komuś może się przydać. Zamotany przeoczyłem jeden rejestr, na podstawie którego jestem w stanie stwierdzić, czy na "TCPIP" jest jakiś
komunikat.

i= SOCKETSTAT( k , SEL_RECV)

gdzie k to oczywiście numer otwartego wcześniej przez nas gniazda.
Jeżeli jest, to w tym momencie dopiero użuwam komendy TCPREAD pobierając informację a następnie gnam dalej wykonując pozostałe rozkazy w pętli. Podobnie ma się sprawa z RS`em i komendą INPUT

Pozdrawiam

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości