2014-11-14 4 views
1

하이퍼 터미널 및 XMODEM 프로토콜을 사용하는 임베디드 장치에서 실행중인 프로그램에 직렬 포트를 통해 파일을 보내야합니다. 송신 명령과 수신 응답이 모두 제대로 작동하기 때문에 직렬 통신은 정상입니다 (9600 보오, 1 정지 비트, 패리티 없음, 8 데이터 비트, 흐름 제어 없음).하이퍼 터미널에서 XModem을 통해 파일 받기

"업로드"명령을 보내면 장치는 준비가되면 응답하고 파일을 기다립니다. 하이퍼 터미널에서 필자는 전송 -> 파일 보내기 ...로 가서 파일 및 XMODEM 프로토콜을 선택한 다음 "보내기"를 클릭합니다. 보내기를 클릭하면 업로드가 시작되지 않고 시간 초과 메시지가 나타납니다.

디버깅하는 동안 프로그램이 직렬 포트에서 바이트를 수신하지 못하는 것을 볼 수 있지만 키를 클릭하여 바이트를 보내면 프로그램이이를 수신합니다. 하이퍼 터미널이 아무 것도 보내지 않는다는 것이 문제라고 생각할 수 있습니까? 왜 그런가요?

+0

소프트웨어 개발에 관한 내용이므로이 질문에 다시 답할 수 있습니다. 임베디드 장치 XMODEM 코드를 개발하는 경우 이는 합법적 인 질문 일 수 있습니다. 그러나이 문제는 SO에 대한 주제를 벗어나 닫힐 가능성이 있습니다. – Clifford

+0

"재계약"이란 무엇을 의미합니까? –

+0

질문을 StackOverflow의 범위에 맞추기 위해 설명 된 방식으로 다시 작성해야합니다. http://stackoverflow.com/help/on-topic 및 http://stackoverflow.com/help/dont-ask를 참조하십시오. 지금까지 가까운 투표를 한 번씩했지만,이 사용자는 자신의 의견을 설명하지 않기로 결정했습니다. – Clifford

답변

0

XMODEM 전송은 보낸 사람이 아닌받는 사람에 의해 시작됩니다. 수신 장치가 SOH (XMODEM) 또는 'C'(XMODEM-CRC/1K)를 전송하면 전송이 시작됩니다. 수신 측에서 전송을 시작하지 않으면 전송되지 않습니다.

발신자 측에서 전송을 시작한 다음 수신자 측에서 전송을 시작해야 할 수도 있습니다. 또는 전송을 기다리는 경우 수신 측에서는 응답 (또는 타임 아웃)을 얻을 때까지 반복적으로 시작 문자를 보낼 수 있습니다.

+0

고맙습니다. 문제는 수신자가 보내는 첫 번째 'C'가 너무 일찍 너무 늦었습니다. –

관련 문제