首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Get CAN bitrate

Get CAN bitrate
EN

Stack Overflow用户
提问于 2016-09-05 22:35:30
回答 2查看 5.2K关注 0票数 4

我想在C++中读取我的socketcan套接字当前配置的CAN比特率。

我可以用ip -det link show can0看到比特率

代码语言:javascript
运行
复制
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读取对应的属性?或者有其他方法来读取当前的比特率?

EN

回答 2

Stack Overflow用户

发布于 2016-09-06 16:14:47

现在,我选择了将系统调用的输出解释到ip -det link show can0 | grep bitrate | awk '{print $2}',这很难看,但很好用。

当然还有更优雅的解决方案?

票数 4
EN

Stack Overflow用户

发布于 2019-12-05 21:39:42

您可以使用can_get_bittiming()获取设置的码率。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39332885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档