USB UART速度错误



PC上的GUI向嵌入式系统发送一组字节。

  • 蓝牙适配器,一切正常
  • USB线,全错了。

设备是一个FTDI USB TTL串行电缆

(供应商的产品页面在这里)

我们需要一个可预测的速度。我从PC发送一件事,但我在嵌入式系统的UART(接收缓冲区)中看到0x000x80字节。

这是c#语句发送字节…

    connectorPort.Write(Protocol.Our_Command_04_Start_Data, 0, Protocol.Our_Command_04_Start_Data.Length);

115200工作,但不够快。

我需要使它看起来像921600 bps的信号。460800个BPS可能会让我过得去;也许吧。我们在嵌入式系统的这个端口上使用流量控制(CTS/RTS)。

是否有办法让UART,与c#,做这些速度之一?如何?

当115200不够时,我以各种不寻常的速度运行FTDI芯片,包括921600和500000 bps。使用Win32 API,不需要特殊处理,只需在设备控制块中设置您传递给SetCommState的所需波特率。

如果您正在使用(System.IO.Ports.SerialPort),则有额外的限制。如果你假装这个类不存在,你会省去很多麻烦。

FTDI有一个非常有用的应用说明AN_120 Aliasing VCP波特率,它提供了可能对您有所帮助的信息。

  • 描述可以由FTDI波特率生成器精确生成的速率

  • 描述将"标准"波特率重新映射到更高的注册表设置:

最新更新