RS232 인터페이스 열기를 하고 있습니다.

leolo의 이미지

RS232 인터페이스 열기를 하고 있습니다.
열고자 하는 상태는 하이퍼터미널로 com1을 열때..
이렇게 열고 싶습니다..
아래 처럼 짜면되는지 알고 싶습니다..
http://myhome.naver.com/leolo/snap.gif

baud rate 9600
8bit data
no parity bit
1 stop bit
no flow control 입니다.

int open_port(char *device, int baud, int flow)
{
    int fd;
    struct termios oldtio, newtio;
    static long BAUDRATE;
    
    fd = open(device, O_RDWR | O_NOCTTY | O_NDELAY);
    if(fd == -1){
        fprintf(stderr, "err %s: Unable to open %s \n", __FUNCTION__, device); 
    } else 
        fcntl(fd, F_SETFL, 0);

    tcgetattr(fd, &oldtio);
    bzero(&newtio, sizeof(newtio));

    switch(baud){
        case 9600:
            BAUDRATE = B9600; break;
        case 19200:
            BAUDRATE = B19200; break;
        case 38400:
            BAUDRATE = B38400; break;
        default:
            fprintf(stderr, "err : Unable to baud rate\n");
            tcsetattr(fd, TCSANOW, &oldtio);
            close(fd);
            exit(0);
    }
    /* baud rate */
    cfsetispeed(&newtio, BAUDRATE);
    cfsetospeed(&newtio, BAUDRATE);
    
    newtio.c_cflag |= CS8;      /* set 8 bits    */
    newtio.c_cflag &= ~PARENB;  /* no parity bit */
    newtio.c_cflag &= ~CSTOPB;  /* 1 stop bit    */
    if(flow)
        newtio.c_cflag |= CRTSCTS;   /* h/w flow control */
    else
        newtio.c_cflag &= ~CRTSCTS;  /* no flow control */
    
    newtio.c_oflag = 0;
    newtio.c_iflag = 0;


    tcsetattr(fd, TCSANOW, &newtio);

    return (fd);
}