Date: Mon, 29 Nov 1999 22:23:39 +0100
From: Bas Rijniersce
Subject: Re: Off-topic: select() voorbeeld werkt niet? = C vraag
"A.C. Koelewijn" wrote:
>
> In article <38425698.F43F04DB@brijn.nu>,
> Bas Rijniersce <bas@brijn.nu> writes:
> > Hallo,
> >
> > Om te voorkomen dat ik in een dom loopje moet gaan hangen om
te zien of
> > mijn cameratje mij iets wil vertellen wil ik select()
gebruiken die
> > speciaal voor dit doel is geschreven. Na een hoop gepiel werkt
het nog
> > steeds niet en dacht ik het voorbeeld uit
> > man select
> > eens te proberen. Dat voorbeeld wacht op input van het
keyboard. Als ik
> > het voorbeeld knip en plak en compile kan ik rammen op het
keyboard wat
> > ik wil, select ziet nooit enige data verschijnen :-(
>
> Even een heel andere benadering:
>
> Ik was ca. een jaar geleden bezig met een dos programma dat via de
seriële
> poort communiceerde met een microcontroller. Het dos programma
miste
> bepaalde faciliteiten, zodat ik een programmatje in Perl heb
geschreven
> dat die faciliteiten wel heeft.
>
> Mijn manier om achter de communicatie-parameters te komen, was het
dos
> programma in dosemu draaien, en daarbij met de debug functie van
dosemu de
> seriële poort afluisteren. Na een kleine aanpassing van de
sources van
> dosemu ging dat perfect, waarna het schrijven van het betreffende
Perl
> programma een kwestie van een paar dagen was.
De hele grap was vooral bedoeld om C te leren :-)) Perl beheers ik al
heel aardig :) Dat er misschien ooit een driver uitkomt voor die camera
zou leuk meegenomen zijn (hoewel de kans klein wordt nu Jena de specs
niet wil geven, ik kan al wel de tijd instellen voor de balg functie.
Maarja daar heb je weinig aan als je geen plaatje van de camera afkrijgt
;-))))
De communicatie loopt nu trouwens als een trein. Een combinatie van een
timeout in select() en een tweetal parameters in de termios structure (
c_cc[VMIN] en c_cc[VTIME] ) zorgen ervoor dat ik mooi op tijd de data
krijg zonderdat het programma oneindig hangt als de autosleep van de
camera in werking treedt.
> Aart
Bas
----
Bas Rijniersce Phone +31 341 550545
Oude Telgterweg 81 Fax +31 341 562940
3851 EA Ermelo http://www.brijn.nu
The Netherlands bas@brijn.nu
--
Nederlandse Linux Gebruikers Groep http://www.nllgg.nl/
Mailinglist info: http://mail.nllgg.nl/
Afmelden: echo "SIG linux" | mail listserv@nllgg.nl
|