2016-07-18 4 views
10

컴퓨터의 직렬 포트에서 읽고 파일에 쓸 수 있기를 원합니다. 내부 dev/(Windows 10에서 Bash 셸 사용) 나는 내 USB 직렬 포트 (나는 tty, tty0, tty1을 가지고있는 것처럼 보일 수 없다. 그것은 tty 용이다).Windows 10에서 Bash를 사용하여 직렬 포트를 찾을 때 문제가 발생했습니다.

다른 위치에 있습니까, 아니면 Bash 쉘을 통해 액세스 할 수 있습니까? 이 시점에서 액세스하는 방법을 알고 싶습니다.

내 장치를 연결할 때 장치 관리자에서 COM4가 포트 아래에 나타납니다. 또한 Windows 명령 프롬프트에서 "wmic path Win32_SerialPort"명령을 실행하고 "사용할 수있는 인스턴스가 없습니다."라고 말했습니다. 따라서 직렬 포트를 볼 수있는 방법과 특정 인스턴스에 왜 나타나지 않는지에 대해서는 매우 혼란 스럽습니다.

시리얼 포트가 작동하는 방식, 특히 usb에서의 작동 방식에 대한 설명은 크게 환영 할 것입니다. 감사!

+0

'com1' 만 시도해보십시오. 창에는 여전히 "con", "com1", "nul"등과 같은 오래된 dos 기반 레거시 "장치"파일 이름이 있습니다. –

+1

질문에 대한 질문이 아니라 도스 기반 레거시 장치 이름은 부적합합니다. 문제는 Windows 10에서 Bash 셸 직렬 장치에 액세스하는 것입니다. 나는 COM4해야 ftdi 칩에 액세스하려고하는 동일한 문제가 있습니다 –

+0

@DanGriffin 같은 정확한 문제가 있고, tx 및 rx 직렬 데이터를 내 사랑하는 것입니다. WSL에서 FTDI 장치. 내가 지금까지 발견 한 모든 것은 프리 -AU에서 나온 것이지만 이것은 아직 지원되지 않는다고 말합니다 : ( – Toby

답변

4

동일한 문제가 있습니다. 분명히 당신은 여전히 ​​윈도우 우분투에서 시리얼 포트를 사용할 수 없습니다 (BoUoW). socat을 사용하여 기본 읽기 및 쓰기 작업을 수행 할 수 있습니다. Cygwin을 사용하여 직렬 포트를 볼 수있는 socat 서버를 만들었습니다. DTR과 RTS 핀에 문제가있었습니다.

socat을 사용하면 가상 직렬 포트를 만들거나 TCP를 통해 직렬 포트를 전달할 수 있습니다. (기타 등등)

Cygwin에서 직렬 포트는/dev/ttyS *에 나열됩니다. 예를 들어 COM3은/dev/ttyS2이고 COM4는/dev/ttyS3입니다.

가 연결되어/tmp를/vmodem0에서 BoUoW에서 가상 시리얼 포트를 생성합니다

socat PTY,link=/tmp/vmodem0 TCP:localhost:2022 

이 함께

socat -d -d -d TCP4-LISTEN:2022,reuseaddr,fork /dev/ttyS3

시작 BoUoW에 클라이언트와 Cygwin에서의 서버를 시작

컴퓨터의 COM4.

+0

COM4가/dev/ttyS3에 매핑되고 COMx가/dev/ttySx에 매핑되어 내 머리를 긁적 거리고 있다고 생각하는 부분을 건너 뜁니다. 비 직관적 인 매핑 이름을 사용해야합니다! –

3

곧 Windows는 공식적으로 Linux 용 Windows 하위 시스템 (WSL)에서 직렬을 지원합니다. COM_n_ 포트에서 사용할 수 /dev/ttyS_n_

매핑 : 좋은 기능 설명은 여기에서 찾을 수 있습니다

COM1 >> /dev/ttyS0 
COM2 >> /dev/ttyS1 
... 
COM192 >> /dev/ttyS191 

:

https://blogs.msdn.microsoft.com/wsl/2017/04/14/serial-support-on-the-windows-subsystem-for-linux/

참고 :이 기능을 쓰는 시점에서 내부자 빌드에서만 사용할 수 있습니다.

관련 문제