모든 시리얼 데이터를 VxWorks의 프로세스로 리디렉션하려고합니다. 다음 코드리디렉션 VxWorks 시리얼 입력
fd = open("/tyCo/0", O_RDWR,0);
ioctl(fd, FIOSETOPTIONS, OPT_TERMINAL & ~OPT_7_BIT);
read(fd, line, 100);
을 사용하여 채워지지 않은 입력 된 첫 번째 문자를 제외한 정확한 입력을 제공하지만, 상기 단말에 출력된다. 그래서 "Hello"를 입력하면 "H"가 출력되고 line = "ello"가 출력됩니다. 아무 것도 입력하지 않고 리턴 키를 누르면 VxWorks 쉘에서 프롬프트됩니다.
VxWorks 셸이 데이터의 첫 문자를 가로 채고 있다고 생각합니다. 내 생각 엔 STDIO를 새 프로세스에만 리디렉션해야하지만 모든 documentation에서 VxWorks 6.4 RTP에서 사용할 수없는 ioGlobalStdSet()을 사용한다고합니다. STDIO를 리디렉션하거나 프로세스에서 VxWorks 셸을 제거하려면 어떻게합니까?