【发布时间】:2016-09-05 14:35:29
【问题描述】:
我想在 C++ 中读取我的 socketcan 套接字的当前配置的 CAN 比特率。
我可以看到ip -det link show can0的比特率:
9: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10
link/can promiscuity 0
can state ERROR-ACTIVE restart-ms 100
bitrate 1000000 sample-point 0.750
tq 125 prop-seg 2 phase-seg1 3 phase-seg2 2 sjw 1
pcan_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
clock 8000000
比特率是通过/etc/network/interfaces设置的,但用户可以手动更改。
libsocketcan 好像只支持设置码率,不支持读取。
code of iproute2 that produces the output above 使用 rtnetlink。
如何使用 libnetlink 读取对应的属性?或者还有其他读取当前比特率的方法吗?
【问题讨论】:
标签: c++ c++11 can-bus netlink socketcan