0

我为我的项目设计了一个 2 Pass 汇编器。输出为十六进制形式,即 15 为 0F。

我正在使用 ComPort 并通过应该作为字符串发送的线路发送“0F”。但问题是我只能在另一端接收 1 个字节和sizeOf("0F") > 1byte 。没有办法在另一端解压缩数据,我需要在我的一端完成所有工作,但我仍然想在另一端接收“0F”。如果可以,我可以这样做吗?

我这样做是为了得到十六进制字符串:

String.format("{0:X2}",15);

此外,

using System.IO.Ports; 
private SerialPort comPort = new SerialPort(); 
comPort.Write("0F"); 

在接收端,我有一个 8 位处理器,它有一个 1byte * 256 个块,即 256 个字节。接收时的“0F”作为 2 个字节接收,不能存储在 1 个字节的单个块中。所以我希望“0F”为 1 个字节。

4

1 回答 1

0

看起来你需要这样的东西:

    // create buffer
    byte[] buffer = new byte[256];

    // put values you need to send to buffer
    buffer[0] = 0x0f;

    // ... add another bytes if you need...

    // send them
    var comPort = new SerialPort();
    comPort.Write(buffer, 0, 1); // 0 is buffer offset, 1 is number of bytes to write
于 2013-04-17T09:33:01.537 回答