X5 serial 예제에 관한 질문입니다.
2006.05.15 04:00
보드 2개로 시리얼 통신 전송/수신 실습을 하고 있습니다.
그런데 문제가 하나 있습니다.
전송하는 측에서 char 배열로 값을 저장후 보내게 되는데
받을때 전송한 만큼의 데이터를 수신하지 못하는거 같습니다.
즉 20byte 를 보내도 n=read() 후 n의 값도 그때그때 틀리고 받은 값 역시 계속 상이한 데이터를 가져옵니다.
예전 Q&A 자료를 보면 ./ser_test2 sttyS00 w 하는 테스트가 있었는데
수신쪽 프로그램을 실행시킨후 위 테스트 프로그램을 실행시키면 수신쪽 프로그램에 데이터가 정확하게 수신되는 것을 확인하였습니다.
아무튼 고수님의 조언이 필요합니다.
감사합니다.
그런데 문제가 하나 있습니다.
전송하는 측에서 char 배열로 값을 저장후 보내게 되는데
받을때 전송한 만큼의 데이터를 수신하지 못하는거 같습니다.
즉 20byte 를 보내도 n=read() 후 n의 값도 그때그때 틀리고 받은 값 역시 계속 상이한 데이터를 가져옵니다.
예전 Q&A 자료를 보면 ./ser_test2 sttyS00 w 하는 테스트가 있었는데
수신쪽 프로그램을 실행시킨후 위 테스트 프로그램을 실행시키면 수신쪽 프로그램에 데이터가 정확하게 수신되는 것을 확인하였습니다.
아무튼 고수님의 조언이 필요합니다.
감사합니다.
댓글 4
-
임 초보
2006.05.15 06:03
-
임 초보
2006.05.15 06:05
baudrate 는 확실히 맞추어 주었구요.
설마 보드 이상은 아니겠지요? -
임 초보
2006.05.15 07:19
위에 것은 부분 소스입니다.
분명 fd 에 값이 들어오는 것은 확인했으나 그 값이 전송한 값이 아니라는 것이 문제입니다. 빠른 답변을 부탁드립니다. -
임 초보
2006.05.15 07:18
if(select(maxfd+1, &rfds, NULL, NULL, NULL)==0) // serial port check
{
running = 0;
}
else
{
if((RCount = read(handle, Buff , BufS))==0) // read handle
{
printf("from client : 0 n");
}
else // 입력값 처리 부분
{
printf("RCount : %d n", RCount);




(그것도 들쭉 날쭉).. 조언을 원합니다~