pc 와 연결해서 데이타를 확인하면 잘 들어오는데요, ez-2410 시리얼쪽과 연결해서 데이터를 확인해보면 이상하게 들어옵니다.

다음은 틀린 데이타와 올바른 데이타입니다. 이상하게 한 바이트 중 앞에 4비트가 뭔가 마스킹이나 세팅이 되는 것 같습니다.

틀린 데이타    : fe 85 00 ff ff 00 05 77 42 0c ec 05 00 00 00 00 00 0f fd ff 00 ff fe 00 00 05 73 73 00 00 00 00 00 02 a0 b5 82 18 ff fd ff ff fe 00 00 05 ff 02 00 00 00 00 00 00 00 00 00 00 00 00 00 02 7a 05 00 00 72 00 00 00 00 04 71 fe
올바른 데이타 : 7e 45 00 ff ff 00 05 37 22 0c 69 05 00 00 00 00 00 8f fd ff 00 ff fe 00 00 05 33 33 00 00 00 00 00 02 50 d5 42 88 ff fd ff ff fe 00 00 05 ff 02 00 00 00 00 00 00 00 00 00 00 00 00 00 02 3a 85 00 80 32 00 00 00 00 09 35 7e


시리얼 프로그램은 딱히 문제가 없다고 생각합니다.
int main( )
{
    int handle;
    struct termios oidtio, newtio;
    unsigned char buf[120];
    int RxCount;
    int i;

    /* 시리얼 인터페이스는 /dev/ttyS00 이나 /dev/ttyS01이 될 수 있다. */
    handle = open( "/dev/ttyS1", O_RDWR | O_NOCTTY );

        printf("handle = %dn", handle);

    if( handle < 0 ) {
        printf( "Serial Open Fail [/dev/ttyS1]rn " );
        exit(0);
    }

    tcgetattr(handle, &oidtio);

    for(i=0; i < NCCS; i++)
            newtio.c_cc[i] = ' ';

    memset( &newtio, 0, sizeof(newtio));
    newtio.c_cflag = B115200 | CRTSCTS | CS8 | CLOCAL | CREAD;
    newtio.c_iflag = IGNBRK | IGNPAR;
    newtio.c_oflag = 0;

    newtio.c_cc[VTIME] = 0;
    newtio.c_cc[VMIN] = 1;

    tcflush( handle, TCIFLUSH );

    tcsetattr( handle, TCSANOW, &newtio );
    printf("Read module startn");

    while(1) {

        tcflush( handle, TCIFLUSH );
        memset(buf, 0, 120);


        RxCount = read( handle, buf, 120);

        printf("RxCount = %dn", RxCount);

        for(i = 0; i < RxCount; i++) {
            printf("%x ", buf[i]);
        }
        printf("nn");


    }

    close(handle);

    exit(0);
}

혹시 이런 현상이 있으셨던 분들 어떻게 해결하셨는지 답변 부탁드립니다.