使用 Ubuntu-Server 20.04 找不到设备“can0”

使用 Ubuntu-Server 20.04 找不到设备“can0”

我的问题是关于使用 SPI 接口对 CAN 进行一些操作。在我的 Raspberry 上,使用 Raspberry OS 一切正常。

因为我想在 ROS 中使用 CAN 数据,所以我决定在其上安装 Ubuntu Server 20.04。在这样做的过程中,我遇到了一个问题(找不到设备“can”)。

这些是我的配置:

$ nano /boot/config.txt 

dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25
dtoverlay=spi-bcm2835
dtparam=spi=on

$ ./can_setup.sh 
#!/bin/bash

ip link set can0 up type can bitrate 1000000
ip link set can1 up type can bitrate 1000000

$ ls /dev/

显示 spidev0.0 和 spidev0.1 存在

我已经用逻辑分析仪分析了 MISO MOSI 和 SCK,没有发现任何东西。

有人能帮我吗?

答案1

假设您使用 Ubuntu 作为运行 ROS 的操作系统,您应该在 /etc/firmware/config.txt 中为 dtoverlay 输入条目。

我的带有 MCP2515 的 CAN 总线设备与 Ubuntu 22.04 配合良好。

然后尝试

ls /sys/bus/spi/devices/spi0.0/net

它应该显示类似

can0

希望这可以帮助 ...

相关内容