문제 설명 파일에서 읽을

전 프로그램의 행동을 설명하는 이상한거야보십시오.

그것은 ttyS0 수의에에서 읽고 쓰기와, 괜찮아요 그래서 다.그러나 내가 시간이 시작 그것 다음에, 그것은 적절한 값을 쓴다지만, 그것은 아무것도 읽을 수 없습니다.추가 다시 시작하고 작동 또, 그 다음 다시 시작을 다시 읽기 장애를 일으키는 등에 있습니다.
어떻게 행동 occures이?

 
이런 초기화 시퀀스를 작성합니다 :

코드 :

시리얼 : : 시리얼 (char *로의 device_name)

(

termios 옵션을 구조체;전략중 = 열 (device_name, O_RDWR | O_NOCTTY | O_NDELAY);

(<0 전략중)하는 경우

(

출구 (1);

)(전략중 fcntl F_SETFL, 0);/ 포트에 대한 현재의 옵션을 가져오기 / ...

tcgetattr (전략중, & 옵션);9600에 / / 보드 설정 속도 ...

(& 옵션, B9600) cfsetispeed;

(& 옵션, B9600) cfsetospeed;/ / 필요한 설정을 조정합니다 ..

options.c_cflag | = (CLOCAL | CREAD);

/ / 패리티 없음 (8N1) :

& = ~ PARENB options.c_cflag;

& = ~ CSTOPB options.c_cflag;

& = ~ CSIZE options.c_cflag;

options.c_cflag | = CS8;& = ~ (ICANON | ECHO | ECHOE | ISIG) options.c_lflag;

& = ~ OPOST options.c_oflag;

options.c_cc [VMIN] = 0;

options.c_cc [VTIME] = 50;포트에 대해 / / 새 옵션을 설정 ...

tcsetattr (전략중, TCSANOW, & 옵션);

)
 
그럼 친구를 했어,

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="눈짓" border="0" />
 
Yepp!그리고 난 이전부터 시작하는 데 필요한 추가 쓰레기를 일으킬 일부, tcflush도 어디 라인에서.

 

Welcome to EDABoard.com

Sponsor

Back
Top