Bash
Bash:確定 CANbus 比特率是否配置正確
我正在研究嵌入式 Linux (4.1.15) bash 腳本,其中 CANbus 的比特率可能是幾種可能性之一。當我的模組上線時,它以列表中的第一個比特率出現,檢查流量,如果沒有流量,則以類似的方式循環通過每個比特率,直到檢測到流量。
我最初的方法是做類似
timeout -t 1 output=$(candump can0)
. 如果輸出為空,則比特率不正確。但是,該timeout
函式似乎並不強制從命令返回。我的第二種方法是嘗試使用
ip -details -statistics link show can0
. 雖然這確實在單個離散命令中產生了一些有意義的資訊,但如果不能重置統計資訊,它就不是很有用。該命令
uname -rms
產生有關係統的此版本資訊:Linux 4.1.15 armv7l
如果有人知道如何使這些方法中的任何一種起作用,那就太好了,或者如果您知道另一種方法,我會全力以赴。底線是,我需要找到一種使用 bash 腳本的方法。
(我的 timeout 命令沒有使用
-t
,但似乎有不同的版本)。通過將 timeout 部分放在 中$()
,它應該能夠發出canbus
命令信號,並且至少分配 tooutput
應該始終創建變數。output=$(timeout -t 1 candump can0)