【问题标题】:Send binary to the serial port发送二进制到串口
【发布时间】:2010-09-22 06:47:58
【问题描述】:

向串口发送一个串口字符串字符。我需要调用 WriteFile(handle, "A", strlen("A"), ...)

但是,如果我想指定并发送一个十六进制或二进制数怎么办?比如我要发送 WriteFile(handle, 0x41, sizeOf(0x41), ...) ?

有没有允许我这样做的功能?

【问题讨论】:

    标签: winapi binary serial-port hex


    【解决方案1】:

    如果你只想写一个字节,它仍然需要在一个数组中。

    所以你需要:

    int buffer[1024];
    buffer[0] = 42;
    
    WriteFile(handle, buffer, 1);
    

    看到这个: http://msdn.microsoft.com/en-us/library/aa365747(VS.85).aspx

    【讨论】:

      【解决方案2】:

      有很多方法。

      对你来说最直接的方法是 WriteFile(handle, "\x41", 1 ... );

      strlen() 是多余的,因为你知道长度。

      【讨论】:

      • 虽然您对他的问题的回答是正确的,但这可能没有扩展史蒂夫的知识。通过使用“\x41”,您没有解释这实际上是一个字符数组。 Steve 不了解您需要将数组输入此方法。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多