Raspberry Pi를 사용하여 Roland MDX-20 밀링 머신을 실행하려고 합니다. 기계에는 작은 입력 버퍼가 있으며 하드웨어 흐름 제어를 사용하여 명령이 완료되고 새 명령을 수신할 수 있을 때 신호를 보냅니다. 다음을 사용하여 올바른 직렬 설정을 시도했습니다.
stty -F /dev/ttyUSB0 9600 cs8 -parenb -cstopb -clocal crtscts
하지만 cat 명령을 사용하여 보내면;
cat ~/(my RML file) > /dev/ttyUSB0
모든 데이터가 즉시 전송됩니다.
다른 Windows 사용자가 제대로 작동한다고 보고한 Startech.com USB-직렬 케이블이 있는데 케이블에는 문제가 없지만 직렬 드라이버에는 더 많은 문제가 있는 것 같습니다.
이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
감사해요
답변1
스타텍 웹사이트에는 현재 다양한 USB <-> 직렬 케이블 제품이 나열되어 있습니다. 이러한 다양한 제품은 서로 다른 칩셋, 즉 적어도 FTDI 및 Prolific의 칩셋을 사용합니다. 그리고 Prolific만이 하드웨어 흐름 제어를 지원하는 것 같습니다.
dmesg
장치가 연결되면 Prolific 또는 FTDI USB 장치가 있는지 확인할 수 있습니다.
USB 케이블을 확인한 후 다음을 실행하여 하드웨어 흐름 제어를 디버그할 수 있습니다.statserial
별도의 터미널에서.
직렬 장치가 USB<->직렬 케이블에 직접 연결되어 있지 않은 경우 해당 추가 케이블의 연결을 확인하는 것도 좋습니다.
답변2
문제가 발견될 때까지 임시 해결 방법으로 pv
처리량을 예를 들어 100바이트/초로 제한할 수 있습니다.
pv -L 100 -q < ~/my_RML_file > /dev/ttyUSB0