지금 사용하는 입출력 함수들이 low-level 입출력 함수인 read,write 함수인
데 이 예제를 컴파일하여 실행하면 한문자씩 받아서 처리합니다.

저는 문자열을 받아서 처리하고 싶습니다.
문자열을 저장시킬 배열을

char data[4];
라고 선언하였습니다.

그리고 원본 소스를 아래와 같이 수정했습니다.

while(!ending)
{
for(i=0;i<4;i++)//수정한 부분
{ //수정한 부분
// 한 문자를 수신한다.
RxCount = read( handle, Buff, 1 );
if( RxCount == 0 )
{
printf( "Receive Time Over
" );
continue;
}
if( RxCount < 0 )
{
printf( "Read Error
" );
break;
}
for( loop = 0; loop < RxCount; loop++ )
{
printf( "Read Data [%c]
", Buff[loop] );
// ESC 키 문자가 들어오면 중지한다.
if( Buff[loop] == 0x1b ) ending = 1;
}
*data[i]=Buff;//수정한 부분
} //수정한 부분
printf("%s",data); //수정한 부분
sleep(1);
for(i=0;i<4;i++)//수정한 부분
{//수정한 부분
Buff=*data[i]; //수정한 부분
// 수신된 문자를 되돌린다.
write( handle, Buff, RxCount );
} //수정한 부분
}

Buff에 저장된 데이터를 data배열에 넣고자 합니다. 제가 추가한 부분은 주석
처리 했습니다. 잘못된 부분이 있는지 한번 살펴 봐 주세요.

high-level 입출력 함수를 사용해 보지만 터미널 모드 함수에서의 반환값과 고
수준 입출력 함수의 반환값이 서로 달라 사용이 불가능한것 같습니다.

생초보라 아직 잘 모르니 잘 가르쳐 주세요..ㅠㅠ

int tcgetattr(int filedes, struct termios *termios_p)

ssize_t read (int filedes, void *buffer, size_t size)

int open (const char *filename, int flags[, mode_t mode])

ssize_t getline (char **lineptr, size_t *n, FILE *stream)

char * fgets (char *s, int count, FILE *stream)


타이머 인터럽트를 사용하여 일정 간격(10ms)으로 시리얼을 통해 다른 컴으로
data를 보내고 싶습니다. 커널 디바이스 드라이버 프로그램 상에서 파일 입출
력 제어가 가능한가요? 가능하다면 어떻게 해야되는지 참고할 사이트나 자료
좀 부탁드리겠습니다...^^;;