2

vb.net で使用する vfd ディスプレイをプログラムしたい 現在、テキストを vfd ディスプレイに送信することしかできませんが、まだ正しい形式ではありません。わかりにくかったので、プログラミングマニュアルを同封します。

やりたいこと:

  • 2行あるので、その2行で異なるデータを表示したい。
  • 表示をクリアできるはずです。
  • テキストがディスプレイ (20 行) よりも長い場合は、スクロールを開始する必要があります。誰かが私を助けてくれることを願っています。

私が使用したコードは次のとおりです。

 Dim sp As New SerialPort()

    sp.PortName = "COM1"
    sp.BaudRate = 9600
    sp.Parity = Parity.None
    sp.DataBits = 8
    sp.StopBits = StopBits.One
    sp.Open()
    sp.WriteLine(TextBox1.Text)
    sp.WriteLine(TextBox2.Text)
    sp.Close()
    sp.Dispose()
    sp = Nothing

ここに画像の説明を入力

4

1 に答える 1

4

バイナリ データを送信するにSerialPort.Writeは、バイト配列を受け取るメソッドのオーバーロードを使用するのが最適です。文字または文字列を送信する場合、文字エンコーディングに対処する必要があります。これは、せいぜい面倒で、最悪の場合失敗します。数値を文字にエンコードしてからデコードして数値に戻すと、デコードされた値が元の値と一致しないことがあります。したがって、最も安全で簡単な方法は、バイト値をバイト配列として送信することです。例えば:

Dim bytes() As Byte = { &H00, &H20, &HFF }
sp.Write(bytes, 0, bytes.Length)

または、各バイトを 16 進値で個別にロードする場合:

Dim bytes(3) As Byte 
byte(0) = &H00
byte(1) = &H20
byte(2) = &HFF
sp.Write(bytes, 0, bytes.Length)

または、16 進値で 1 バイトを送信するだけの場合:

sp.Write(New Byte() { &H20 }, 0, 1)
于 2012-09-12T10:12:03.810 に答える