[LUGOS-PROG] Dostop do serijskega porta
Gregor Berginc
gregor.berginc at gmail.com
Tue Jun 28 12:50:38 CEST 2005
> Ce res uporabljas blocking read, ti be read blokiral, dokler ne dobi EOL
> znaka
> (ker imas canonical branje). Pri non-canonical ti bo blokiral, dokler ne
> prebere N znakov.
> Canonical branje je uporabno samo v primeru, da tvoja enota vraca neke
> znake,
> ki se zakljucijo z newline znakom. Ce temu ni tako, tega ne mores
> uporabljati.
Res uporabljam blocking in canonical (enota mi vsak niz zakljuci z NL-jem).
Verjetno blocking ni najboljsa resitev, vendar moram imeti moznost, da
uporabnik izrecno zahteva zadnji vrnjeni niz (odgovor na zadnjo komando). To
pa mi nekako ni bilo jasno, kako bi resil s pomocjo non-blocking (verjetno
se samo nisem dovolj poglobil... verjetno bi bilo dovolj brati v en buffer
in...)
Kakorkoli ze danes sem tudi branje resil s pomocjo threada, ki neprestano
preverja, ce je kaj na vratih. Sedaj lahko enoto poljubno posiljam naokoli
in sprejemam njene odgovore; mutexi in cond spremenljivke pa mi
zagotavljajo, da dobim odgovor na tisto, kar sem zahteval.
lp,
Gregor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://liste2.lugos.si/pipermail/lugos-prog/attachments/20050628/01a702b6/attachment.htm
More information about the lugos-prog
mailing list