簡體   English   中英

PHP以串行方式使用奇怪的波特率

[英]PHP to serial with weird baud rates

我正在嘗試使用PHP將文本發送到LED標志,以便我可以向其發送支持票號。 標志本身就是一件作品; 它來自eBay,制作很差,幾乎沒有文檔。 在擺弄了一段時間之后,我能夠弄清楚它預期發送給它的方式以及波特率是28800.我已經知道如何使用PHP與這樣的東西進行通信,但我不知道知道如何將波特率更改為非標准的。 我已經嘗試過其他波特率,並且無法讓它工作。

您可能希望在Linux中查看setserial命令 - 使用它,您可以指定一個串行端口以具有非標准速率。

如果你在連接初始化端口之前運行setserial,你應該可以將它拉下來(在服務器初始化腳本或PHP中......但不確定這是不是一個好主意):

/bin/setserial /dev/ttyS1 spd_cust baud_base 115200 divisor 4

這是命令中發生的事情:

  • spd_cust選項告訴操作系統在應用程序請求38400時將速度設置為自定義除數。
  • / dev / ttyS1是串口。 你會把它改成什么。
  • baud_base是除數4使用的數字

115200/4 = 28800 ......你需要的速度:-)

在您的PHP代碼中,您將連接到38400,這看起來很奇怪,但由於setserial,您指定的端口將運行在28800

對於Windows嘗試

"mode " . $device . " BAUD=" . $baud

對於linux試試

"stty -F " . $device . " " . $baud

我認為這些是發送的正確命令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM