使用CAN Utilities对CAN接口进行测试

24 篇文章 3 订阅
19 篇文章 1 订阅

使用CAN Utilities对CAN接口进行测试

Linux系统通过SocketCAN层提供CAN支持,使得可以使用类似操作socket API函数来操作CAN总线,具体关于SocketCAN说明请见这里。

/*ip –details查看CAN总线状态*/
root@freescale /$ ip -details link show can0
2: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/can 
    can <TRIPLE-SAMPLING> state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 0 
    bitrate 500000 sample-point 0.866 
    tq 133 prop-seg 6 phase-seg1 6 phase-seg2 2 sjw 1
    flexcan: tseg1 4..16 tseg2 2..8 sjw 1..4 brp 1..256 brp-inc 1
    clock 30000000
    /* ip -details -statistics 查看工作状态*/
root@freescale /$ ip -details -statistics link show can0
2: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/can 
    can <TRIPLE-SAMPLING> state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 0 
    bitrate 500000 sample-point 0.866 
    tq 133 prop-seg 6 phase-seg1 6 phase-seg2 2 sjw 1
    flexcan: tseg1 4..16 tseg2 2..8 sjw 1..4 brp 1..256 brp-inc 1
    clock 30000000
    re-started bus-errors arbit-lost error-warn error-pass bus-off
    0          0          0          1          0          0         
    RX: bytes  packets  errors  dropped overrun mcast   
    28630768   3578846  0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns 
    7178744    897343   0       0       0       0      
root@freescale /$ 
 FlexCAN接口发送接收测试
 root@freescale /$ candump can0
interface = can0, family = 29, type = 3, proto = 1
<0x00201000> [8] 00 00 00 00 00 00 00 00 
<0x08701008> [8] 18 00 08 04 00 00 01 00 

通过C程序操作CAN总线示例
a). 首先同样需要使用ip link命令配置CAN接口bitrate并使能接口,这里同样在Colibri iMX6上面使用can1接口,同时Apalis iMX6上面使用can0接口。

b). 测试c程序代码请见如下:
代码
./ 程序执行包含两个变量,第一个变量为”-r”或者”-s”来制定接收或者发送,第二个变量为所要测试的CAN bus,如”can0”。

利用SocketCAN可以非常方便的在Linux下使用CAN总线,另外CAN总线也支持同时发送并接收,这里就不做演示了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值