Article View: pl.comp.os.linux.programowanie
Article #72845Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego?
From: spryciarzsprytny7
Date: Tue, 10 Jul 2018 16:54
Date: Tue, 10 Jul 2018 16:54
18 lines
2394 bytes
2394 bytes
Witam Jak już wspominałem piszę obsługę portu szeregowego. Dzięki waszej pomocy zrozumiałem działanie funkcji select/pselect, jednak mam też inny problem przy obsłudze tego portu. Tym problemem jest zbyt szybkie wysyłanie danych na ten port przez co gubione są pakiety. By dowiedzieć się ile mogę zapisać funkcją write() używam funkcji: ioctl(mPortDescriptor, TIOCOUTQ, &lFreeSpaceSize); Jednak wygląda na to, że zawsze ona zwraca 0 - nawet pomimo braku zapisów do portu np. przy pernamentnym pomijaniu wysyłania: if(lFreeSpaceSize <= 0) // we must wait for serial port Jutro jeszcze raz sprawdzę działanie tej funkcji z poprawnym ustawianiem tablic deskryptorów dla pselect. Jednak już teraz mogę spytać: Czy to prawidłowe podejście by odczytywać wielkość dostępnego bufora wyjściowego portu szeregowego funkcją ioctl z parametrem TIOCOUTQ ? Jeśli nie to mam dodatkowe pytanie: Jaką funkcją należy odczytywać wielkość bufora wyjściowego portu szeregowego w Linux-ie? z góry dzięki i pozdro Jacek
Technical Details
Message-ID:
<62ce83e9-ba03-4a59-8f59-6e4acc6ad001@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!f6-v6no2551297qth.0!news-out.google.com!u13-v6ni1143qtg.0!nntp.google.com!f6-v6no2551296qth.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 2002:a0c:9e6e:: with SMTP id z46-v6mr15126704qve.13.1531241681398; Tue, 10 Jul 2018 09:54:41 -0700 (PDT) X-Received: by 2002:a0c:be8a:: with SMTP id n10-v6mr2028615qvi.6.1531241681228; Tue, 10 Jul 2018 09:54:41 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!f6-v6no2551297qth.0!news-out.google.com!u13-v6ni1143qtg.0!nntp.google.com!f6-v6no2551296qth.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.os.linux.programowanie Date: Tue, 10 Jul 2018 09:54:40 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.146.34.13; posting-account=gLUTRAoAAADr4_ywPlZaMoP-wsVeFJh_ NNTP-Posting-Host: 188.146.34.13 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <62ce83e9-ba03-4a59-8f59-6e4acc6ad001@googlegroups.com> Subject: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego? From: spryciarzsprytny7@gmail.com Injection-Date: Tue, 10 Jul 2018 16:54:41 +0000 Lines: 28 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit