0

PC 上の GUI は、一連のバイトを組み込みシステムに送信します。

  • Bluetooth アダプター、すべて問題ありません
  • 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) を使用しています。

これらの速度のいずれかを実行するために、C# を使用して UART を取得する方法はありますか? どのように ?

4

1 に答える 1

2

私は、115200が十分でないときに、921600および500000 bpsを含む、さまざまな異常な速度でFTDIチップを実行しました。Win32 APIを使用すると、特別な処理は必要ありません。渡すデバイス制御ブロックで目的のボーレートを設定するだけですSetCommState

System.IO.Ports.SerialPort)を使用している場合は、追加の制限があります。そのクラスが存在しないふりをすると、多くの頭痛の種を減らすことができます。

FTDIには、非常に便利なアプリケーションノートAN_120エイリアシングVCPボーレートがあり、役立つ情報を提供します。

  • FTDIボーレートジェネレーターによって正確に生成できるレートの説明
  • 「標準」ボーレートをより高いものに再マッピングするためのレジストリ設定の説明:
于 2013-03-18T19:28:33.210 に答える