【问题标题】:Change serial port baud rate in runtime and strange effect运行时改变串口波特率和奇怪的效果
【发布时间】:2018-07-14 21:16:45
【问题描述】:

我遇到了奇怪的问题 - 我必须在 PHP 代码运行时更改串行端口波特率(从最初的 300 波特到更高的值),每次尝试时,下一个读取的字节都只是零。

我已经在 PHP 中尝试了多种串行连接方式:

  • fopen/fread/fwrite 标准文件(在这种情况下为“/dev/ttyUSB0”),配置了 exec 和 stty 命令
  • dio_open/dio_read/dio_write,配置了dio_tcsetattr
  • dio 流的 fopen/fread/fwrite(dio.serial 类型)

我很确定 PHP 本身有问题,因为 Perl 中的类似代码可以正常工作,并且波特率根本不会影响读取。我检查了 PHP 和 Perl 脚本的 strace 日志,在串口配置的情况下它们看起来几乎相同,所以问题出在其他地方。

【问题讨论】:

    标签: php serial-port


    【解决方案1】:

    通过修改 php_dio 扩展解决了这个问题,默认情况下,它不能在运行时切换波特率。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 2019-06-04
      相关资源
      最近更新 更多