linux下串口编程(读写)
以下是我在linux终端下写的C代码,目的是想让其能接受到串口的数据,可是不知道为什么总是不能接受到,也没有报错信息,请大侠们看看,帮帮忙指点以下,谢谢!   
 #include    <sys/types.h>  
 #include    <sys/stat.h>  
 #include    <fcntl.h>  
 #include    <termios.h>  
 #include    <stdio.h>      
 #define   BAUDRATE   B38400                                     
 #define   MODEMDEVICE    "/dev/ttyS0 " 
 //#define   _POSIX_SOURCE   1   /*   POSIX   compliant   source   */   
 #define   FALSE   0 
 #define   TRUE   1   
 volatile   int   STOP=FALSE;      
 main() 
 { 
       int   fd,c,   res; 
       struct   termios   oldtio,newtio; 
       char   buf[255];   
    fd   =   open(MODEMDEVICE,   O_RDWR   |   O_NOCTTY   );    
    if   (fd    <0)   {perror(MODEMDEVICE);   exit(-1);   }   
    tcgetattr(fd,&oldtio);    
    bzero(&newtio,   sizeof(newtio));        
    newtio.c_cflag   =   BAUDRATE   |   CRTSCTS   |   CS8   |   CLOCAL   |   CREAD;      
    newtio.c_iflag   =   IGNPAR   |   ICRNL;        
    newtio.c_oflag   =   0;      
    newtio.c_lflag   =   ICANON;   
    newtio.c_cc[VINTR]            =   0;               /*   Ctrl-c   */    
    newtio.c_cc[VQUIT]            =   0;               /*   Ctrl-\   */ 
    newtio.c_cc[VERASE]         =   0;               /*   del   */ 
    newtio.c_cc[VKILL]            =   0;               /*   @   */ 
    newtio.c_cc[VEOF]               =   4;               /*   Ctrl-d   */ 
    newtio.c_cc[VTIME]            =   0;               /*   inter-character   timer   unused   */ 
    newtio.c_cc[VMIN]               =   1;               /*   blocking   read   until   1   character   arrives   */ 
    newtio.c_cc[VSWTC]            =   0;               /*    '\0 '   */ 
    newtio.c_cc[VSTART]         =   0;               /*   Ctrl-q   */    
    newtio.c_cc[VSTOP]            =   0;               /*   Ctrl-s   */ 
    newtio.c_cc[VSUSP]            =   0;               /*   Ctrl-z   */ 
    newtio.c_cc[VEOL]               =   0;               /*    '\0 '   */ 
    newtio.c_cc[VREPRINT]   =   0;               /*   Ctrl-r   */ 
    newtio.c_cc[VDISCARD]   =   0;               /*   Ctrl-u   */ 
    newtio.c_cc[VWERASE]      =   0;               /*   Ctrl-w   */ 
    newtio.c_cc[VLNEXT]