USB UART速度错误

时间:2013-03-18 19:19:20

标签: c# usbserial uart

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

  • 蓝牙适配器,一切都很好
  • USB线,都错了。

设备是FTDI USB TTL串行电缆

vendor's product page here

我们需要一个可预测的速度。我从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)。

有没有办法让C#的UART能够达到其中一种速度?怎么样?

1 个答案:

答案 0 :(得分:2)

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

如果您正在使用(System.IO.Ports.SerialPort),则还有其他限制。如果你假装课程不存在,你会为自己省去许多麻烦。

FTDI有一个非常有用的应用笔记AN_120 Aliasing VCP Baud Rates,提供可能对您有帮助的信息。

  • 描述可由FTDI波特率发生器精确生成的速率
  • 描述注册表设置以将“标准”波特率重新映射到更高的值: