왜 그것이 당신을 위해 작동하지 않는지 정말 모르겠지만, 한 가지는 당신이 아직 시도하지 않은 경우 시도해야한다는 마음에 봄을했다. 직렬 포트 장치의 입력 및 출력 스트림은 일반적으로 기본적으로 버퍼링됩니다. 즉, 문자를 직렬 포트에 fwrite할 때 일반적으로 직렬 포트를 통해 즉시 전송 되지 않습니다. 대신 전송을 위한 일종의 스테이징 영역 역할을 하는 메모리 버퍼에 기록됩니다. 때로는 지체없이 버퍼에서 하나씩 섞어지지만 줄 바흔번째 문자 (`n`)가 직렬 포트 (즉, 전송의 각 텍스트 줄의 끝)에 기록 될 때까지 버퍼에서 대기하는 경우가 더 많습니다. 언급한 네 문자만 보내는 경우 끝에 줄 바선이 없는 문자가 없을 수 있으므로 출력 버퍼를 명시적으로 “플러시”하여 해당 문자를 직렬 위로 이동시켜야 할 수 있습니다. 링크. 출력 스트림을 플러시하려면 다음과 같이 fflush 함수를 사용하십시오 : 다음과 같이 마이크로 컨트롤러 보드 (발사 패드의 MSP430G2553)를 이와 같은 null 모뎀 케이블을 사용하여 직렬 포트에 인터페이스한 후 직렬 포트의 현재 설정을 검색합니다. GetCommState() 함수입니다.

많은 Microsoft의 Win32 함수는 텍스트 문자열을 인수로 사용하고 값을 반환하기 때문에 단일 바이트 ascii 문자열이 아닌 유니코드 문자열을 사용하는 모든 함수의 두 번째 버전을 만들었습니다. 그러나 항상 동일한 함수 이름을 계속 사용할 수 있도록 만들었으며 프로젝트 설정에 따라 적절한 버전의 함수(유니코드 또는 비유니코드)가 사용됩니다. 예를 들어 CreateFile 함수를 사용한다고 가정해 보겠습니다. 프로젝트가 유니코드를 사용하도록 설정된 경우 CreateFileW 함수가 실제로 사용되고 파일 이름과 같은 것들이 유니코드 문자열로 지정됩니다. 프로젝트가 유니코드를 사용하도록 설정되지 않은 경우 CreateFileA가 대신 사용되고 파일 이름은 단일 바이트 ascii 문자의 문자열로 지정됩니다. 일반적으로 명령줄의 직렬 포트에서 데이터를 수신하는 데 사용하는 것은 ComPrinter라는 다른 프로그램입니다 – 지정된 직렬 포트를 열고 들어오는 문자를 화면에 인쇄하지만 필요한 경우 파일로 리디렉션 될 수 있습니다. 여기에 링크입니다 : 나는 문제에 갇혀 프로그래밍의 세계에 매우 새로운입니다. 프로젝트의 일환으로 RS 422 포트에서 단방향 통신만 있는 센서에서 데이터를 수신해야 합니다.

전송되는 패킷은 81 바이트 길이이며 다음과 같이 구성됩니다 : 나는 직렬 포트에 읽고 쓰는 것에 대해 약간 혼란스럽습니다.