![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to embeded programm within programm | shankarao | Shell Programming and Scripting | 2 | 11-13-2006 06:29 PM |
| how do i run am encrpyrtic programm on unix | ghoz | High Level Programming | 4 | 10-08-2004 10:26 AM |
| Devices in Unix | derekc132002 | UNIX for Dummies Questions & Answers | 1 | 11-06-2002 08:52 AM |
| Unix devices | GW01 | UNIX for Dummies Questions & Answers | 2 | 08-27-2002 05:00 AM |
| UNIX problem? Unix programm runs windows 2000 CPU over 100% | zerocool | UNIX for Dummies Questions & Answers | 2 | 11-06-2001 02:25 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Display Modes |
|
#1
|
|||
|
|||
|
Dear Export,
I want to begin an serial-communication application codes associated with TTY devices. But I don't know what key settings should be concerned after opening a TTY device file under UNIX plarform(SunOS 5.7)? Could you give me some adivce? Thanks!
__________________
Maybe another e-mail address: wb_yang@chinaren.com is more convenient than the above one. welcome! Last edited by WayneYang; 12-20-2001 at 01:51 AM. |
| Forum Sponsor | ||
|
|
|
#2
|
||||
|
||||
|
Check your system's man pages on...
termio (and/or termios) ioctl read write |
|
#3
|
|||
|
|||
|
Thank you, rwb1959,
Actually I have a look at man pages of TERMIO. But you know, it is simple that some contents mentioned is still not clear to me. the most puzzling question is How to set the value of BAUD to a opened TTY file? And what is the detailed reason? Looking forward to you reply!
__________________
Maybe another e-mail address: wb_yang@chinaren.com is more convenient than the above one. welcome! |
|
#4
|
||||
|
||||
|
There is the old unix way to do this and the new posix way. I wrote a program to put the tty into raw mode using both methods so I could compare them. You should probably understand both techniques since there is a lot of old code out there. But I think the posix revision is a win, so I would suggest going the posix route with new code. I would add the following man pages to your list:
tcattribute(3c) cfspeed(3C) tccontrol(3C) You should use the routines in cfspeed(3C) to change the baud rate. Here is the sample program that I wrote: Code:
/* #define OLD_TERMIO */
#ifdef __STDC__
#define PROTOTYPICAL
#endif
#ifdef __cplusplus
#define PROTOTYPICAL
#endif
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#ifdef OLD_TERMIO
#include <termio.h>
#else
#include <termios.h>
#endif
#ifdef PROTOTYPICAL
int main(int argc, char *argv[])
#else
main(argc,argv)
char *argv[];
#endif
{
#ifdef OLD_TERMIO
struct termio orig,now;
#else
struct termios orig,now;
#endif
int c, i, rc, done;
setvbuf(stdout, NULL, _IONBF ,0);
#ifdef OLD_TERMIO
ioctl(0, TCGETA, (char *) &orig);
#else
tcgetattr(0, &orig);
#endif
now=orig;
now.c_lflag &= ~(ISIG|ICANON|ECHO);
now.c_cc[VMIN]=1;
now.c_cc[VTIME]=2;
#ifdef OLD_TERMIO
ioctl(0,TCSETA, (char *) &now);
#else
tcsetattr(0, TCSANOW, &now);
#endif
done=0;
while(!done) {
printf("hit a key: ");
c=getchar();
printf(" got a %03X \n", c);
done = c=='q';
}
#ifdef OLD_TERMIO
ioctl(0,TCSETA, (char *) &orig);
#else
tcsetattr(0, TCSANOW, &orig);
#endif
exit(0);
}
Last edited by Perderabo; 01-16-2005 at 11:48 AM. Reason: remove html which is no longer supported |
|
#5
|
||||
|
||||
|
Perderabo is most correct. The Posix way
is certainly cleaner in general. Sometimes old guys like me have a hard time letting go |
|
#6
|
|||
|
|||
|
Thank you! Perderabo.
I would like to try your dedication. Maybe you know, I work now on the SunOS 5.7 platform. Surely I have looked up the TERMIOS library. But I could not find that thress functions listed in your mail as follows: tcattribute(3c) cfspeed(3C) tccontrol(3C) I know, the SunOS 5.7 should obey to the POSIX standard. But where these functions? Another one, would you like tell me what do you mean by the 'win' in your mail? I guess if it is "what is needed'? Thanks again!
__________________
Maybe another e-mail address: wb_yang@chinaren.com is more convenient than the above one. welcome! |
|
#7
|
||||
|
||||
|
Sun does a fairly reasonable job of complying with posix. There is no standard for exactly where to put information in the man pages. On Sun, start with the termio man page and look at all the man pages it references in the "SEE ALSO" section.
From dictionary.com: Quote:
|
||||
| Google The UNIX and Linux Forums |