#include #include #include #include #include #include #include #include #include #include #include #define BUF_LEN 1024 int here[]={0,50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200, 38400,57600,115200,230400}; int speed[]={B0,B50,B75,B110,B134,B150,B200,B300,B600,B1200,B1800,B2400, B4800,B9600,B19200,B38400,B57600,B115200,B230400}; char inbuf[BUF_LEN]={0}; char outbuf[BUF_LEN]={0}; int term_flag=0; int set_speed(int, int); int set_parity(int, int, int, int); void sig_handler(int); void sig_handler(int sig){ if(SIGINT == sig) term_flag=1; } int set_speed(int fd, int spd){ int i,status; struct termios opt; if(tcgetattr(fd,&opt)!=0) return -1; for(i=0;i>"); fflush(stdout); fflush(stdin); nwrite = read(STDIN_FILENO, outbuf, BUF_LEN); while(write(fd, outbuf, nwrite-1)!=nwrite-1); tcflush(fd,TCOFLUSH); printf("Transmit %d bytes:\n", nwrite-1); for(i=0;i0){ /*inbuf[nread] = '\xff'; */ printf("Received %d bytes:\n", nread); for(i=0;i