2011-03-02 4 views
1

ARM Linux 임베디드 장치에서 실행되는 직렬 포트를 수신하는 C 프로그램에서 작업하고 있습니다.임베디드 장치에서 termios에 의해 잘린 직렬 데이터

다른 데이터 세트는 정상적으로 작동하지만 항상 특정 데이터 세트를 보내면 세트의 시작 부분이 잘립니다. 나는이가 절단 텍스트 ETX의 끝을 사용하고 일정 일부 termios의에 의해 발생 상당히 확신 할 정도로 디버깅 한

Device -->^(094) { (123) <STX> (002) <BS> (008) <STX> (002) <NUL> (000) <NUL> (000) <STX> (002) <SOH> (001) <ETX> (003) 

: 무엇립니다하면 다음 (대상에서 실행 slsniff 프로그램 출력)입니다.

struct termios t; 

t.c_lflag &= ~(ICANON | IEXTEN | ECHO); 
t.c_iflag &= ~ICRNL; 
t.c_cc[VMIN] = 1;     /* Character-at-a-time input */ 
t.c_cc[VTIME] = 0;     /* with blocking */ 

세트 분리 문자는 모든 경우에 잘 작동하는 것 같다 CR의 0x0d로,이다 :

는 지금은 아래로입니다.

도움을 주시면 감사하겠습니다.

안부, 버트

답변

관련 문제