跳到主要内容

CAN

本节介绍在树莓派上如何使用 CAN 接口功能,为后续项目开发奠定基础。

启用接口配置

  • 启用 CAN 接口(默认为禁用用状态)
  • 进入 config.txt 文件
    sudo nano /boot/firmware/config.txt
  • 若想使用 CAN,则添加以下指令
    dtoverlay=spi1-1cs
    dtoverlay=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
  • 在 SPI 设备中也可以查询到相关设备
    dmesg | grep spi
    识别 CAN 设备

使用

  • 安装工具
    sudo apt update
    sudo apt-get install can-utils
  • 使用 cansend 发送数据(发送 0x11 0x22 0x33 0x44,这里硬件识别出来为 can0,故指令中使用 can0)
    cansend can0 000#11.22.33.44
    识别 CAN 设备
  • 使用 candump 监听 CAN 数据帧(这里识别出来为 can0,故指令中使用 can0)
    candump can0
    识别 CAN 设备