Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.os.linux.programowanie > #2121

Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego?

Newsgroups pl.comp.os.linux.programowanie
Date 2018-07-11 11:05 -0700
References <62ce83e9-ba03-4a59-8f59-6e4acc6ad001@googlegroups.com> <pi4u7m$j0j$1$gof@news.chmurka.net>
Message-ID <b861f107-de90-4db7-8b82-2473d6bfb4e2@googlegroups.com> (permalink)
Subject Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego?
From spryciarzsprytny7@gmail.com

Show all headers | View raw


Dzięki za odpowiedź. Skomentuję twoją odpowiedź, bo mam wątpliwości.

> 3. Jak select() zwróci writability to wyślij całą kolejkę do write() 
>    (ale nie więcej, niż SSIZE_MAX bajtów)

Bufor portu szeregowego w Linux-e to 4KB. Przynajmniej bufor wejściowy tyle ma... Natomiast SSIZE_MAX to 9223372036854775807 (w Kubuntu 18.10 jaki mam pod ręką - podejrzewam, że na Raspbianie jest podobnie bo to też 64 bitowy system - mogę to jutro sprawdzić). Tak więc ZCW te twoje zastrzeżenie w nawiasie jest bez sensu, bo SSIZE_MAX jest dużo większa od całej pamięci operacyjnej...

Poza tym nawet gdyby założyć, że SSIZE_MAX ma wielkość bufora to i tak nie o to mi chodzi, bo ja chcę wykorzystać bufor Linux-a do ciągłej transmisji (w tym celu też robię obsługę zapisu i odczytu w 2 wątkach). Bardzo mi zależy na tym, by zrobić obsługę portu szeregowego porządnie i by byłą uniwersalna i wydajna. Tak by był sens użycia jej do innych projektów...

Póki tego nie wyjaśnisz, to nie będę niczego zmieniał, bo jak pisałem, zapis po jednym bajcie z uprzednim sprawdzeniem pselect działa bez zarzutu...

W sumie to nie wiem co widzisz w tym złego (w zapisie bajt po bajcie), skro jest powiedziane (przez inne guru - link w mojej poprzedniej wypowiedzi), że w Linux-ie port szeregowy to urządzenie znakowe, a nie blokowe - przez to nie ma buforów i zapis i odczyt odbywa się po jednym znaku (tak działa też klawiatura i mysz). W sumie trochę tego nie jarzę, bo można sprawdzić ile danych jest do odczytu, a nie wiadomo ile można wysłać...

Back to pl.comp.os.linux.programowanie | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego? spryciarzsprytny7@gmail.com - 2018-07-10 09:54 -0700
  Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego? spryciarzsprytny7@gmail.com - 2018-07-11 02:07 -0700
    Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego? spryciarzsprytny7@gmail.com - 2018-07-11 11:17 -0700
  Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego? gof@somewhere.invalid (Adam Wysocki) - 2018-07-11 12:46 +0000
    Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego? spryciarzsprytny7@gmail.com - 2018-07-11 11:05 -0700
      Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego? gof@somewhere.invalid (Adam Wysocki) - 2018-07-11 19:45 +0000
        Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego? szykcech@gmail.com - 2018-07-13 11:11 -0700

csiph-web