Hi Rob --
I don't know why <bits/termios.h> includes c_ispeed and c_ospeed in
struct termios, as historically linux has stored the speed information
in the c_cflag field. (Posix does not define where the speed info is
stored in struct termios). FreeBSD does use c_ispeed and c_ospeed,
but AFAIK linux does not.
Try the posix method using cfget[io]speed(); it should be correct and
portable.
If you still want to avoid them, try decoding the value of c_cflag
using the bitmask baud rate definitions in <bits/termios.h>. But why
work harder to be non-portable?
Regards, ........ Charlie
--- In "Rob" <> wrote:
>
> All good feedback. If it matters I am using Debian Sarge 10/27/05
off the CF card and my
> board is a TS7200
>
> I had checked the file /usr/include/termios.h which uses
/usr/include/bits/termios.h
> where B19200 is defined. It is defined as "#define B19200 0000016"
which matches
> neither value printed.
>
> Also I used "stty -F /dev/ttyAM1 speed 19200" on the command line
prior to running the
> application as stated and both in and out should have the same speed
of 19200. Yet
> different values are printed and neither agrees with the declared
value. I believe the in and
> out speeds are actually 19200 as the read function outputs data
exactly as expected.
>
> I also get errors in the routine that would set the data but I am
focusing on the read
> configuration function as both issues are likely related and it is
the simpler routine.
>
> Thanks for the help and suggestions so far
> Rob
> >
> > Hi Rob --
> >
> > man cfgetispeed
> > man cfsetispeed
> >
> > And similar for output speed: cf[sg]etospeed. The data stored in the
> > termios structure is not directly the baud rate; POSIX says you use
> > these functions to go between the termios data and the Bnnn baud rate
> > constants that Don mentions.
> >
> > Also some (most?) systems return success from tcsetattr() if _any_ of
> > your requested changes are made, so you should double check with
> > tcgetattr to be sure your changes have taken.
> >
> > Regards, ........ Charlie
> >
> > --- In "Rob" <rafferty29@> wrote:
>
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|