안녕하세요..

혹시 시리얼 포트에 H/W적으로 문제가 발생한것 아닌가요??

일단 Test 프로그램을 올려 놓겠습니다. 이 프로그램을 테스트하여 이상이 있으면 A/S를 보내 주셔야 할것 같습니다.

사용방법은 다음과 같습니다.

1. 다운받은 파일의 tar를 푼다

    # tar -xvf ser_test2.tar

2. 풀린 ser_test2 실행파일을 타겟보드에 복사하거나, nfs 디렉토리에 복사한다.

3. 복사한 ser_test2 실행 파일을 타겟보드에서 실행한다.

4. 실행하기전 메뉴얼 P17의 내용을 보고 J9의 ttyS00 의 TXD (1번핀) 과 RXD(3번핀)을 쇼트시킨다.
    또는 해당 TXD와 RXD를 시리얼 연결을 한다.

5. 아래의 명령으로 read/write 한다.
    
    $ ./ser_test2 sttyS00 w &

    $ ./ser_test2 sttyS00 r


아무런 반응의 없다면 H/W적으로 이상이 있는 것입니다.
A/S를 보내 주시면 TEST를 해 보겠습니다.

그럼 수고하세요..









>해도 해도 안되길래..
>
>메뉴얼 젤 마지막에있는..
>
>시리얼 소스로 테스트 해볼려구 해봤습니다..
>
>소스내용입니다..
>
>#include <stdio.h>
>#include <stdlib.h>
>#include <unistd.h>
>#include <string.h>
>#include <fcntl.h>
>#include <termios.h>
>#include <sys/ioctl.h>
>
>int main(int argc, char **argv)
>{
>        int handle;
>        struct termios oldtio, newtio;
>        char *TitleMessage="Welcome Serial Portn";
>        char Buff[255];
>        int RxCount, loop, ending;
>
>        handle = open("/dev/ttyS00", O_RDWR | O_NOCTTY);
>        if(handle < 0)
>        {
>                printf("Serial Open Failn");
>                exit(0);
>        }
>        tcgetattr(handle, &oldtio);
>        memset(&newtio, 0, sizeof(newtio));
>         newtio.c_cflag = B9600 | CS8 | CLOCAL | CREAD;
>        newtio.c_iflag = IGNPAR;
>        newtio.c_oflag = 0;
>       // newtio.c_lflag = ICANON;
>        newtio.c_lflag = 0;
>        newtio.c_cc[VTIME] = 30;
>        newtio.c_cc[VMIN] = 0;
>                                                                                
>        tcflush(handle, TCIFLUSH);
>        tcsetattr(handle, TCSANOW, &newtio);
>                                                                                
>        write(handle,TitleMessage,strlen(TitleMessage));
>
>        ending=0;
>        while(!ending)
>        {
>                RxCount = read(handle,Buff,1);
>                if(RxCount==0)
>                {
>                        printf("Time outn");
>                        continue;
>                }
>                if(RxCount < 0)
>                {
>                        printf("Read Errorn");
>                        break;
>                }
>                for(loop=0; loop<RxCount; loop++)
>                {
>                        printf("Read Data [%c]n",Buff[loop]);
>                        if(Buff[loop]==0x1b)ending=1;
>                }
>                write(handle, Buff, RxCount);
>        }
>        tcsetattr(handle, TCSANOW, &oldtio);
>        close(handle);
>        return 0;
>}
>
>보드에서 실행시키면..
>
>계속 Time out만 나옵니다..
>
>이걸로 봐서는 포트는 열리는데
>
>전송이 안되는것 같은데요...
>
>어떻게 테스트해볼수도 없고..
>
>계속 소스만 이리고치고 저리 고쳐서 삽질만 하고잇습니다..ㅠ.ㅠ