BeagleBone Black的can通讯实现(一)

硬件版本:RC1

软件版本:Debian 8.7 2017-03-19 4GB SD LXQT(kernel 4.4.54-ti-r93)


在网上找了很多说是修改Device-Tree,禁用HDMI类的,但是发现系统默认启动,只是加载了一个tbdo文件。


SLOT的路径为/sys/devices/platform/bone_capemgr/slots.
这里可以看到文件介绍https://github.com/cdsteinkuehler/beaglebone-universal-io
要想使用can,可以修改cape-universaln-00A0.dts文件,然后重新生成.tdbo,替换系统默认的。
目前还没有找到系统是怎么默认加载cape-universaln-00A0.tdbo文件的。
这里我使用的另外一个方法,就是使用config-pin重新配置IO。
1 这里使用的是can1,将P9.24和P9.26配置为can
config-pin P9.24 can
config-pin P9.26 can

2 使用命令设置can属性,启动can

ip link set can1 down
ip link set can1 type can bitrate 500000
ip link set can1 up
如果没有外接的can设备,可以使用回测功能,将上面第二条命令修改为
ip link set can1 type can bitrate 500000 loopback on


3 启动can数据检测

candump can1
如果提示candump命令找不到,是因为没有安装can相应的库,使用can-utils库
apt-get update && apt-get install git   
cd /tmp   
git clone https://github.com/linux-can/can-utils.git   
cd can-utils/   
make   
make install

如果网络不好,就下载后复制到BBB板子里面。


4 重启启动一个SSH窗口,发送数据

cansend can1 111#1122334455667788

111是can id, 1122334455667788是8字节的数据。


PS:经测试,如果没有配置IO功能为can,使用回测方式也正常。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值