직렬 포트에서 읽는 가장 쉬운 방법은 무엇입니까?

직렬 포트에서 읽는 가장 쉬운 방법은 무엇입니까?

나는실제 RNGUSB 기반 하드웨어 RNG이며 Mac OS X 10.9.2에서 출력을 읽으려고 합니다. 일방적인 의사소통이 필요할 뿐이에요.

장치에서는 "CDC 가상 직렬 포트"로 표시된다고 하는데 실제로는 /dev/tty.usbmodem1411.

저는 그런 일을 해본 적이 없습니다 cat /dev/tty.usbmodem1411. 이렇게 하면 전혀 결과가 나오지 않습니다. 그러나 나는 그것을 사용 minicom하거나 picocom읽을 수 있습니다. 을 사용하면 옵션 picocom과도 작동합니다 .--noinit --noreset~해야 한다cat장치 에 연결할 수 있습니다 .

내 질문/질문은 다음과 같습니다.

  1. 왜 이 장치를 사용할 수 없나요 cat?
  2. minicom및 와 함께 작동 하지만 picocom첫 번째 세션에서만 작동합니다. 이러한 프로그램 중 하나를 닫았다가 다시 열면 약 300바이트를 읽고 영원히 차단됩니다. 닫았다가 다시 열면다시, 그들은 아무것도 읽을 수 없습니다. 그러나 USB 장치를 분리했다가 다시 연결하면 첫 번째 시도에서 영구적으로 다시 읽혀집니다. 왜 이런 일이 발생합니까? 이는 TrueRNG 문서의 참조와 관련이 있습니까? "가상 직렬 포트의 DTR 플래그를 지우면 데이터 흐름이 중지됩니다. DTR이 설정되면 데이터 흐름이 재개됩니다."
  3. 임의의 데이터를 16진수로 보고 싶습니다. 그래서 저는 다음 명령을 시도합니다: picocom /dev/tty.usbmodem1411 | xxd -p. 그러나 출력은 개행 문자를 존중하지 않는 것 같습니다. 줄의 처음으로 돌아가지 않고 다음 줄로 이동합니다. 나는 그것이 지속적이기를 원한다.

다음은 몇 가지 진단입니다.

% stty -a -f /dev/tty.usbmodem1411
speed 9600 baud; 0 rows; 0 columns;
lflags: -icanon -isig -iexten -echo -echoe -echok -echoke -echonl
        -echoctl -echoprt -altwerase -noflsh -tostop -flusho -pendin
        -nokerninfo -extproc
iflags: -istrip -icrnl -inlcr -igncr -ixon -ixoff -ixany -imaxbel -iutf8
        -ignbrk -brkint -inpck -ignpar -parmrk
oflags: -opost -onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb crtscts -dsrflow
        -dtrflow -mdmbuf
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
        eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
        min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
        stop = ^S; susp = ^Z; time = 0; werase = ^W;

답변1

/dev/cu.usbmodem1234대신 사용해야 할 것 같습니다 dev/tty.usbmodem1234. 감사합니다.해결책장치를 제조하는 회사입니다.

관련 정보