USB UART速度错误
本文关键字:错误 速度 UART USB | 更新日期: 2023-09-27 18:04:28
PC上的GUI向嵌入式系统发送一组字节。
- 蓝牙适配器,一切正常
- USB线,全错了。
设备是一个FTDI USB TTL串行电缆
(供应商的产品页面在这里)
我们需要一个可预测的速度。我从PC发送一件事,但我在嵌入式系统的UART(接收缓冲区)中看到0x00
或0x80
字节。
这是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波特率生成器精确生成的速率
描述将"标准"波特率重新映射到更高的注册表设置: