首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >can0侦听can总线但没有显示数据

can0侦听can总线但没有显示数据
EN

Stack Overflow用户
提问于 2021-09-07 13:32:39
回答 1查看 736关注 1票数 2

我正在尝试读取带有覆盆子的车辆上的CAN总线(CAN连接到覆盆子上的DB9连接器)。汽车也为覆盆子提供能量。

这是我的堆栈:

CAN协议博世"ISO 15765 CAN“

CAN总线板PiCAN3

机器:覆盆子π4

司机/巴士类型:socketCAN

图书馆:罐用

我按照这些指示

代码语言:javascript
运行
复制
#added this in /boot/config.txt and reboot
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=spi-bcm2835-overlay
代码语言:javascript
运行
复制
#create the can interface on divice can0 with a bitrate at 500 kbps
sudo /sbin/ip link set can0 up type can bitrate 500000
代码语言:javascript
运行
复制
#connect the PiCAN to a CAN-BUS network, and listen to it:
candump can0
#a data stream is supposed to appear here, but nothing happens...

Note1:当我在终端中打开另一个选项卡并使用命令发送can消息时:

代码语言:javascript
运行
复制
cansend can0 7DF#0201050000000000

两行数据确实出现在听can0的选项卡中,就像它只显示我发送的内容,而不显示车辆发送的内容。

Note2:以下是命令ifconfig用于can0设备的结果

代码语言:javascript
运行
复制
#ifconfig (only can0)
can0: flags=193<UP,RUNNING,NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 10  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

有人知道为什么我能从车上得到零数据吗?

下面是我尝试过的教程,尽管如此,问题仍然是一样的:

1:铜工艺

2:露天车库

3:哈里森盒子

EN

回答 1

Stack Overflow用户

发布于 2021-09-09 19:36:30

我们显然不能远程调试您的硬件,所以这里有一些通用的可以调试通知。

经典的CAN错误是忘记启用/安装120欧姆终端电阻。你可以很容易地用伏特来测量它(当一切都关闭时)。

另外,您应该在ip -d -s link show can0中看到总线状态,如果一切都是正确的或者是静默的,它应该是ERROR_ACTIVE。(嗯,也许不是每个司机都支持它。但是你应该去寻找你的司机的任何错误计数器,并了解它们的意义。)

当您断开CAN总线,然后发送几个帧时,您应该会看到错误计数器增加(因为总线ACK上没有其他设备)。最终总线状态应该改变,所以不再是ERROR_ACTIVE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69089178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档