2017-12-24 26 views
-1

Ubuntu 16.04 & MATLAB R2017a.Wie hoch ist die maximale Baudrate in MATLAB?

Ich versuche, wie die serielle Schnittstelle eingestellt werden:

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

Es funktioniert gut, aber wenn ich versuche, Baud-Rate zu ändern, sagen 1000000. ich diese Nachricht erhalten:

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

Also, ich habe 2 Frage:

1) Ist es möglich, nicht allgemein Baudraten, sagen 2000000?

2) Ich fand, dass 1500000 und 3000000 für mich arbeiten. Gibt es maximale Geschwindigkeit?

** UPDATE **

Ich weiß, wie die Baudrate in OS zu ändern, in meinem Fall (Ubuntu 16.04) setserial nicht funktioniert, also verwende ich sudo stty -F /dev/ttyUSB3 3500000 (nicht alle Geschwindigkeit erlaubt ist) oder über asm/termios.h> - alle Geschwindigkeit ist erlaubt. Also, ich benutze den zweiten Weg.

Danach kann ich leicht den Hafen, wie die cu -l /dev/ttyUSB0 hören und zugleich kippe ich die Geschwindigkeit in Matlab .. (Fehler oben)

+1

Ihre Frage wird in der Dokumentation beantwortet: https://www.mathworks.com/help/matlab/matlab_external/baudrate.html.Dort finden Sie eine Beschreibung, wie Sie plattformspezifische Informationen zu seriellen Ports erhalten, einschließlich der unterstützten Baudraten. –

+0

Natürlich habe ich es gelesen. Bitte schauen Sie sich update –

Antwort

1

Obwohl this link sollten Sie genügend Informationen darüber, wie die Verwaltung Baudraten auf Matlab-Seite, wie @Cris Luengo bereits in seinem Kommando feststellte, möchte ich ein wenig auf die Hardwareseite des Problems eingehen.

mit dem folgenden Befehl:

stty -F /dev/ttyUSB0 

sollten Sie die aktuelle Baudrate des anvisierten Gerät abrufen können. Alternativ ruft der folgende Befehl auch diesen Wert:

setserial -ag /dev/ttyUSB0 

zusammen mit anderen wichtigen Informationen:

/dev/ttyUSB0, Linie ..., UART: ..., Port: ... IRQ: ...

Baud_base: ..., close_delay: ..., Divisor: ...

closing_wait: ..., closing_wait2: ...

Flags: ...

OS-Seite können Sie mit der Baudrate von einigen Geräten spielen, aber wenn Sie Probleme vermeiden möchten, können Sie immer ein kohärentes Wert setzen, wenn eine Verbindung hergestellt wird. Im Allgemeinen haben Geräte eine Toleranzgrenze (von, ich denke, nicht mehr als ± 5%) bei Übergeschwindigkeit und Untergeschwindigkeit bezüglich der Baudratenabweichung ... so können Sie versuchen, eine andere Baudrate zu erzwingen als die aktuelle, aber Sie Ich möchte nicht zu weit davon entfernt sein.

+1

Danke, das ist die Antwort, ich war zu faul, um zu schreiben! ;) –

+0

Bitte schau dir update an –

Verwandte Themen