Bash

Bash:確定 CANbus 比特率是否配置正確

  • June 16, 2020

我正在研究嵌入式 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)

引用自:https://unix.stackexchange.com/questions/593125