跳到主要内容

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 设备