Witam wszystkich Forumowiczów
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
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.
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
-
- -
- Posty:651
- Rejestracja:13 sty 2005, o 18:38
- Lokalizacja:Krasnystaw
- Kontaktowanie:
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
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
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ć.
Witam ponownie...
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
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
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości