2013-03-18 51 views
0

PC上的GUI將一組字節發送到嵌入式系統。USB UART速度錯誤

  • 藍牙適配器,無一不精
  • 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來完成其中一種速度?怎麼樣 ?

回答

2

當115200不夠用時,我已經運行了FTDI芯片,包括921600和500000bps。使用Win32 API,不需要特殊處理,只需在設備控制塊中設置所需的波特率即可,您需要將其傳遞給SetCommState

如果您正在使用(System.IO.Ports.SerialPort),您有其他限制。如果你假裝班級不存在,你將會節省很多頭痛。

FTDI有一個非常有用的應用筆記AN_120 Aliasing VCP Baud Rates它提供了可以幫助你的信息。

  • 描述率可以由FTDI波特率發生器
  • 描述的註冊表設置重新映射「標準」波特率正好產生於一些高:
+0

在哪裏,怎麼樣,有什麼,我是否設置爲執行設備控制塊?我要告訴誰寫的 – 2013-03-18 19:32:17

+0

@ User.1我添加了一個鏈接到SetCommState我的GUI專家。 – 2013-03-18 19:35:04

+0

該手冊有辦法做到這一點?我只是嘗試在設備和打印機中自己設置它(等等等等),而且我仍然收到空值。 115200是唯一可以工作的人 – 2013-03-18 19:43:10