ㅜ.ㅜ 고수님들 안녕하세요~

암 보드 공부하는 학생입니다..

시리얼 통신 질문입니다.~~

제가 128에서 gps 좌표를 arm보드로 날려줍니다.

$123456789012345678*

이렇게 데이타가 스트링 부터 아스트링크 까지 날아오는데

보드에서 읽을때 일정하게 들어오지가 않아서 버퍼를 두어서 저장을 해서

문자열을 제가 쓰고 싶은부분만 잘라서 int 값으로 변환 해서 사용할려고 하니

계속 막힙니다.

소스는 이렇습니다.
while{1}
(  
    res = read(fd, buff, 1);  //한문자씩 buf 읽어들임.
    
    temp[i] = buff[0];
    i++;
    if(i == 18)
    {
      i = 0;
          for(i=0;i<8;i++)
         {
           value[i] =  temp[i+1]  //문자열 $ 다음부터 8번째 까지 저장
          }
     }

      ea = atol(value);
     printf("%d", ea);
}

버퍼에서 수신받는게 일정하지 않아서 1문자씩 받습니다.

대체 뭐가 잘못된걸까요?

간단히 해결하리라 생각했는데 이상하게 시간이 흘러가서 답답해서

올려봅니다~~

많은 조언 구합니다.