CAN
本节介绍在树莓派上如何使用 CAN 接口功能,为后续项目开发奠定基础。
启用接口配置
- 启用 CAN 接口(默认为禁用用状态)
- 进入 config.txt 文件
sudo nano /boot/firmware/config.txt
- 若想使用 CAN,则添加以下指令
dtoverlay=spi1-1csdtoverlay=mcp2515,spi1-0,oscillator=16000000,interrupt=17
- 修改之后重启树莓派,就可以正常使用程序驱动 CAN
sudo reboot
- 重启后使用以下指令查看相关端口,可以看到有一个 can 端口
ifconfig
- 若 can 端口为 DOWN 状态,则需要 UP 一下设备(这里识别出来为 can0,故指令中使用 can0,最后的 500000 参数为 CAN 总线波特率,单位是 bit/s。)
sudo ip link set can0 up type can bitrate 500000
- 若 can 端口为 DOWN 状态,则需要 UP 一下设备(这里识别出来为 can0,故指令中使用 can0,最后的 500000 参数为 CAN 总线波特率,单位是 bit/s。)
- 在 SPI 设备中也可以查询到相关设备
dmesg | grep spi
使用
- 安装工具
sudo apt updatesudo apt-get install can-utils
- 使用 cansend 发送数据(发送 0x11 0x22 0x33 0x44,这里硬件识别出来为 can0,故指令中使用 can0)
cansend can0 000#11.22.33.44
- 使用 candump 监听 CAN 数据帧(这里识别出来为 can0,故指令中使用 can0)
candump can0