2017-12-24 27 views
-1

우분투 16.04 & MATLAB R2017a. 나는 그와 같은 시리얼 포트를 설정하기 위해 노력하고있어MATLAB의 최대 전송 속도는 얼마입니까?

: 그것은 잘 작동,하지만 전송 속도를 변경하려고 할 때, 나는이 메시지를 가지고 1000000 말 것

s=serial_port('/dev/ttyUSB0','BaudRate',115200,'DataBits',8,'InputBufferSize',80000) 

:

Open failed: BaudRate could not be set to the specified value. 

그래서 2 가지 질문이 있습니다 :

1) 일반적인 전송 속도가 아닌 2000000으로 설정할 수 있습니까?

2) 나는 1500000과 3000000이 나를 위해 일하고 있다는 것을 발견했다. 최대 속도가 있습니까?

** UPDATE **

내 경우, OS의 전송 속도를 변경하는 방법을 알고

(우분투 16.04) setserial을 작동하지 않는, 그래서 sudo stty -F /dev/ttyUSB3 3500000을 사용하고 (모든 속도가 허용되지 않음) 또는 asm/termios.h>를 통해 - 모든 속도가 허용됩니다. 그래서 두 번째 방법을 사용하고 있습니다. (위의 오류)

+1

질문에 대한 답변은 다음 문서에서 확인할 수 있습니다. https://www.mathworks.com/help/matlab/matlab_external/baudrate.html.지원되는 전송 속도를 비롯하여 직렬 포트에 대한 플랫폼 관련 정보를 얻는 방법에 대한 설명이 있습니다. –

+0

물론, 나는 그것을 읽었습니다. 업데이트 –

답변

1

..

그 후, 나는 쉽게 그 cu -l /dev/ttyUSB0 같은 포트를들을 수 있습니다 그리고 동시에 나는 MATLAB에 속도를 설정 캔트 this link 당신이 관리하는 방법에 대한 충분한 정보를 제공해야하지만 (Matlab) 측의 보드 율 (baud rates)은 @Cris Luengo가 이미 그의 명령에서 언급했듯이, 하드웨어 측면에서 좀 더 자세히 설명하고자한다.

stty -F /dev/ttyUSB0 

당신이 대상 장치의 현재 전송 속도를 검색 할 수 있어야한다 :

다음 명령을 사용하여. 기타 중요한 정보와 함께

setserial -ag /dev/ttyUSB0 

:

는/dev/ttyUSB0를, 선 ..., UART : ..., 포트 : 또는 다음 명령은 그 값을 검색 ... , IRQ : ...

Baud_base ..., close_delay : ..., 제수 : ...

closing_wait를 ..., closing_wait2 ...

플래그 : ...

OS면, 당신은 일부 장치의 전송 속도로 재생할 수 있지만,이 문제를 방지하려면, 당신은 항상 연결을 설정할 때 일관된 값을 설정해야합니다. 일반적으로 말하자면 디바이스는 보드 속도 편차에 대한 과속 및 언더 스피드에 대한 허용 오차 레벨 (± 5 % 이하)을 가지고 있으므로 현재 보드와 다른 임의의 보드 속도를 강제로 시도 할 수 있지만 그것에서 너무 멀리 가고 싶지 않다.

+1

을 보아주십시오. 고마워,이 글은 너무 게으른 글입니다. ;) –

+0

업데이트를 보아주세요 –