//zz//####################################################################################
zz-嵌入式linux的can0配置141215a
zz-write:
@2014-12-16 00:46:33
@2014-12-16 23:18:38
@
REF:
linux can 总线socket接口测试使用
http://blog.chinaunix.net/uid-26119896-id-3452315.html
How to configure and use CAN bus
http://blog.csdn.net/flymachine/article/details/7251061
/etc/network/interfaces 文件的内容
KeyWord:
ip link set can0 type can bitrate 500000
ip link set can0 up type can
ip -details link show can0
//zz//####################################################################################
1.
使用 ip 命令来查看与设置
1)
设置 can0 波特率为 125Kbps
# ip link set can0 type can tq 125 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
或者
# ip link set can0 type can bitrate 125000
或者
# ip link set can0 type can bitrate 500000 triple-sampling on
# ip link set can0 type can bitrate 500000 triple-sampling on loopback on
2)
查看 can0 的配置,波特率为 500Kbps,所用的系统时钟为 16MHz
# ip -details link show can0
can0: mtu 16 qdisc pfifo_fast state UNKNOWN qlen 10
link/can
can state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-ms 0
bitrate 500000 sample-point 0.875
tq 125 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
sja1000: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
clock 16000000
3)
查看 can0 的比特率配置等,以及统计数据(接收/发送/出错帧等)
# ip -details -statistics link show can0
//zz//####################################################################################
2.
使用 ifconfig,ip 命令来开启,关闭
# ifconfig can0 down
# ifconfig can0 up
或者
# ip link set can0 up type can
//zz//####################################################################################
3.
配置,调试工具软件:
canconfig 这类的工具也可以完成配置,开关功能
接收
# ./candump can0
发送
# cansend can0 -e 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
//zz//####################################################################################
4.
/etc/network/interface
开机自动配置
auto can0
iface can0 inet manual
#pre-up ip link set $IFACE type can bitrate 125000 listen-only off
pre-up /ip link set $IFACE type can bitrate 125000 triple-sampling on
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down