[Armadillo:00048] ttyS0 から read できない

email@hidden
2004年 7月 14日 (水) 14:51:05 JST


Armadillo-J 上で、ttyS0 から1文字づつ read するプログラムを
作っているのですが、read が、-1 を返してきます。

プログラムをCtrl-Cで一度終了させて、もう一度実行すると
正常に読み込むことができるようになります。

何かお気づきの点があれば、ご教示願います。

#define MODEMDEVICE "/dev/ttyS0"
#define MC 0

int OpenSerial( void )
{
    struct termios newtio ;
    int fd ;
    if( ( fd = open( MODEMDEVICE, O_RDWR | O_NOCTTY | O_NONBLOCK
                            ) ) == -1 ) {
        printf( "error %s error\n",MODEMDEVICE ) ;
        perror( MODEMDEVICE ) ;
        exit( -1 ) ;
    }
    tcgetattr( fd, &oldtio ) ;
    bzero( &newtio, sizeof( newtio ) ) ;

    newtio.c_cflag = ( B4800 | CS7 | CLOCAL | CREAD | PARENB ) ;

    newtio.c_iflag = IGNPAR | INPCK ;   //ignore parity error
    newtio.c_oflag = 0 ;
    newtio.c_lflag = 0 ;

    newtio.c_cc[VTIME] = 0 ;
    newtio.c_cc[VMIN] = MC ;
    tcflush( fd, TCIFLUSH ) ;
    tcsetattr( fd, TCSANOW, &newtio ) ;
    return( fd ) ;
}
int main(int argc, char * argv[])
{
    int fd, c, res, i ;
    pthread_t Telnet ;
    DATUM_STRUC* Data ;
    ushort RecvData ;

    char buf[ 255 ] ;

    fd = OpenSerial() ;
    res = read( fd, buf, 1 ) ;
--
Name   :Katsuhiko Terawaki
Address:5-3 Tashita Hirano-aza Iizaka-machi Fukushima-city
            Fukushima-prefecture Japan.
E-mail :email@hidden
URL    :http://www.computerartisan.com



armadillo メーリングリストの案内