Article View: pl.comp.os.linux.programowanie
Article #72848Re: Jak skutecznie odczytać wolne miejsce w buforze nadawczym portu szeregowego?
From: Adam Wysocki
Date: Wed, 11 Jul 2018 12:46
Date: Wed, 11 Jul 2018 12:46
27 lines
2104 bytes
2104 bytes
spryciarzsprytny7@gmail.com wrote: > Jaką funkcją należy odczytywać wielkość bufora wyjściowego portu > szeregowego w Linux-ie? Nie odczytywać. 1. Zapisz coś do własnej, wewnętrznej kolejki 2. Wywołaj select() (pytaj o writability tylko gdy kolejka jest niepusta) 3. Jak select() zwróci writability to wyślij całą kolejkę do write() (ale nie więcej, niż SSIZE_MAX bajtów) 4. write() zwróci, ile faktycznie zapisało (lub -1 i ustawi errno) 5. Zdejmij to, co zapisało write(), z kolejki 6. Skok do punktu 2 Jeśli write() zwróciło tyle bajtów, ile wysłałeś, a bajty są gubione w urządzeniu odbiorczym, to raczej sprawdziłbym, czy urządzenie odbiorcze nie ma problemu z zerowym odstępem między bajtami. Spotkałem się z urządzeniami, które miały taki problem i trzeba było wysyłać do nich znak po znaku z doświadczalnie dobranym odstępem. Generalnie obsługę najłatwiej sprawdzisz robiąc pętlę (zwierając TXD i RXD na porcie) i czytając to, co wysłałeś. -- [ Email: a@b a=grp b=chmurka.net ] [ Web: http://www.chmurka.net/ ]
Technical Details
Message-ID:
<pi4u7m$j0j$1$gof@news.chmurka.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.net!not-for-mailReferences:
<62ce83e9-ba03-4a59-8f59-6e4acc6ad001@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.net!not-for-mail
From: gof@somewhere.invalid (Adam Wysocki)
Newsgroups: pl.comp.os.linux.programowanie
Subject: Re: Jak skutecznie odczytać wolne miejsce w buforze
nadawczym portu szeregowego?
Date: Wed, 11 Jul 2018 12:46:46 +0000 (UTC)
Organization: news.chmurka.net
Message-ID: <pi4u7m$j0j$1$gof@news.chmurka.net>
References: <62ce83e9-ba03-4a59-8f59-6e4acc6ad001@googlegroups.com>
NNTP-Posting-Host: pi.v.chmurka.net
Mime-Version: 1.0
Injection-Date: Wed, 11 Jul 2018 12:46:46 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="gof"; posting-host="pi.v.chmurka.net:172.24.44.20"; logging-data="19475"; mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: tin/2.4.1-20161224 ("Daill") (UNIX) (Linux/4.4.50-v7+ (armv7l))
Cancel-Lock: sha1:Q/vkxJy80Mcj39u5G4rG90avs2E=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit