MATLAB中的最大波特率是多少?

问题描述 投票:-1回答:1

Ubuntu 16.04和MATLAB R2017a。

我正在尝试设置这样的串口:

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

它运行正常,但是当我尝试更改波特率时,比如说1000000.我收到了这条消息:

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

所以,我有两个问题:

1)是否可以设置不常见的波特率,比如2000000?

2)我发现,1500000和3000000正在为我工​​作。有最高速度吗?

**更新**

我知道如何更改操作系统中的波特率,在我的情况下(Ubuntu 16.04)setserial不起作用,所以我使用sudo stty -F /dev/ttyUSB3 3500000(不是所有速度都允许)或通过asm / termios.h> - 允许所有速度。所以,我正在使用第二种方式。

在那之后,我可以像cu -l /dev/ttyUSB0那样轻松地听端口而且同时我无法在matlab中设置速度..(上面的错误)

linux matlab serial-port
1个回答
1
投票

虽然this link应该为你提供有关如何在Matlab方面管理波特率的足够信息,正如@Cris Luengo在他的命令中已经说过的那样,我想详细说明问题的硬件方面。

使用以下命令:

stty -F /dev/ttyUSB0

您应该能够检索目标设备的当前波特率。或者,以下命令也检索该值:

 setserial -ag /dev/ttyUSB0

连同其他重要信息:

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

Baud_base:...,close_delay:...,除数:...

closing_wait:...,closing_wait2:...

旗帜:......

操作系统方面,您可以使用某些设备的波特率,但如果您想避免出现问题,则在建立连接时始终必须设置一致值。一般来说,设备在超速和欠速方面对波特率偏差有一个容差水平(我想,不超过±5%)...所以你可以尝试强制一个与当前波特率不同的任意波特率,但是你不想离它太远。

© www.soinside.com 2019 - 2024. All rights reserved.