【问题标题】:send hexstring to a serialport将十六进制字符串发送到串行端口
【发布时间】:2013-02-11 12:34:13
【问题描述】:

我可以通过使用以字符串形式将数据发送到串行端口

fwrite($this->_dHandle, $this->_buffer,1024);

它在纸上打印字符串,但我的要求是在热敏打印机中打印图像我有正确的十六进制字符串来打印图像
在 c# 中有一个类似的选项

comport.Write(data, 0, data.Length);

数据是字节数组的形式 当我将十六进制字符串转换为字节数组并将其发送到串口时,它只打印Array。在PHP5.3中是否有任何重载函数可以将字节数组发送到串口
提前谢谢

【问题讨论】:

  • 谢谢回复 join()?

标签: php serial-port


【解决方案1】:

不,php的fwrite没有这样的机制。但是,函数本身可以与二进制字符串一起使用,因此您只需要创建一个二进制字符串,并且可能最简单的方法是使用函数pack

注意:如果您的操作系统区分文本文件和二进制文件(Windows 可以),则文件应按原样打开(模式标志 b,请参阅 the docs)。

【讨论】:

  • thnx FVU 你能告诉我字符串的样子吗
  • 查看我链接的包手册页上的示例,它们显示了可以使用的不同方式和方法。我猜“C”格式说明符就是你想要的。由于 pack 不接受其输入中的数组,因此恐怕您必须遍历数据。
猜你喜欢
  • 2013-08-08
  • 2015-07-19
  • 1970-01-01
  • 2021-01-28
  • 2019-02-21
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多