logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

RS232 - Komunikacja wielowątkowa z urządzeniem przez RS232

festusior 15 Sie 2014 21:50 2640 7
REKLAMA
  • #1 13880390
    festusior
    Poziom 11  
    Posty: 71
    Ocena: 9
    Witam

    Czy możliwe jest aby port szeregowy czy to (RS czy to USB) był w wstanie obsłużyć wiele wątków?
  • REKLAMA
  • #2 13880424
    tzok
    VIP Zasłużony dla elektroda
    Posty: 38946
    Pomógł: 3179
    Ocena: 6570
    Co to znaczy? Zazwyczaj obsługę komunikacji pisze się w oddzielnym wątku, ale do portu piszesz i odbierasz strumień bajtów, musisz więc wiedzieć co z nim zrobić. Port do zapisu może być otwarty tylko w jednym wątku na raz.
  • REKLAMA
  • #3 13880458
    dedito
    Poziom 39  
    Posty: 4770
    Pomógł: 527
    Ocena: 595
    Port niczego nie obsługuje. System obsługuje port.
  • REKLAMA
  • #4 13880499
    festusior
    Poziom 11  
    Posty: 71
    Ocena: 9
    Dobra prosty przykład. Użyje jakiegoś klienta do obsługi portu COM np. putty
    Nawiązać połączenie mogę tylko z poziomu jednego klienta, tak? Jak odpalę drugą instancje putnego, lub inny program chcący wejść w komunikacje z tym samym portem, to system mi tego zabroni, prawda? - to pierwsza rzecz

    druga rzecz, to taka, jak porty szeregowe obsługują komendy/zapytania?
    Dzieje się to sekwencyjnie? tzn jedna komenda musi się skończyć, aby druga rozpoczęła, czy też port szeregowy umożliwi mi na wykonanie wielu zapytań (ale w ramach jednego połączenia) jednocześnie?
  • REKLAMA
  • #5 13880521
    dedito
    Poziom 39  
    Posty: 4770
    Pomógł: 527
    Ocena: 595
    festusior napisał:
    Nawiązać połączenie mogę tylko z poziomu jednego klienta, tak? Jak odpalę drugą instancje putnego, lub inny program chcący wejść w komunikacje z tym samym portem, to system mi tego zabroni, prawda?

    Tak
    festusior napisał:
    druga rzecz, to taka, jak porty szeregowe obsługują komendy/zapytania?
    dedito napisał:
    Port niczego nie obsługuje. System obsługuje port.

    festusior napisał:
    Dzieje się to sekwencyjnie?

    Tak
    festusior napisał:
    tzn jedna komenda musi się skończyć, aby druga rozpoczęła, czy też port szeregowy umożliwi mi na wykonanie wielu zapytań (ale w ramach jednego połączenia) jednocześnie?

    Tak, aczkolwiek
    dedito napisał:
    Port niczego nie obsługuje. System obsługuje port.
    . Wiele zapytań wymaga kolejkowania.
  • #6 13880565
    festusior
    Poziom 11  
    Posty: 71
    Ocena: 9
    podsumowując jeden port szeregowy obsługiwać może tylko jedną komendę na raz
  • Pomocny post
    #7 13880680
    dedito
    Poziom 39  
    Posty: 4770
    Pomógł: 527
    Ocena: 595
    Powtarzam, port niczego nie obsługuje (z poziomu programowego).
  • #8 13880786
    festusior
    Poziom 11  
    Posty: 71
    Ocena: 9
    Wszystko jasne, dziękuje.

Podsumowanie tematu

LABEL_AI_GENERATED
Porty szeregowe, takie jak RS232, mogą obsługiwać tylko jedną komendę na raz, co oznacza, że nie można jednocześnie nawiązać połączenia z tym samym portem z różnych instancji programów. System operacyjny zarządza portem, a wiele zapytań wymaga kolejkowania, co ogranicza równoległe przetwarzanie. W przypadku portów szeregowych komunikacja odbywa się sekwencyjnie, co oznacza, że jedna komenda musi zakończyć się przed rozpoczęciem kolejnej.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA