我使用树莓派与使用MCP2515 CAN控制器的PiCAN板。
我使用SocketCAN通过我编写的应用程序来读写CAN消息。
在运行了几个星期没有任何问题之后,控制器现在处于“停止”状态。STOPPED状态和BUS-OFF状态有什么区别?
如果CAN总线上发生太多错误,设备是否会进入总线关闭状态;如果您将设备设置为关闭(ip链接设置canX关闭),设备是否会进入停止状态?
设备进入停止状态有没有其他方式?我找不到我的应用程序如何设置设备的方法。
ip -details -statistics link show can0
3: can0: <NOARP,ECHO> mtu 16
早上好,我一直想在一个基于CAN的板上使用machine库中的machine模块,不幸的是,正如我想的那样,我在尝试导入它时遇到了一个错误
>>> from machine import CAN
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'CAN'
有任何方法可以在CAN板上启用ESP32模块吗?我在跟踪,
我要在一个新的定制板上安装CAN总线。它使用通过SPI总线连接的mcp2515控制器.当接收到数据中使用的“烛光”时,数据中的一个位总是0(具体来说,是数据中的第一个位)。公共汽车上的另外两个装置工作得很好。
可能相关,在硬件中有一个计时问题,我必须将波特率高出20%,以便为其他设备获得正确的波特率。
如果我断开总线电缆并启用回送,甚至会发生这种情况!
#ip link set can0 type can bitrate 600000 loopback on
#ifconfig can0 up
#candump can0 &
# cansend can0 0FF#AABBCCDDEEF
我试图在CANoe中的CAN总线上发送一条带有.NET测试模块的消息。
这是我使用的代码
using Vector.Scripting.UI;
using Vector.CANoe.TFS;
using Vector.CANoe.VTS;
using NetworkDB;
public class main : TestModule
{
public override void Main()
{
byte[] data = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };
我正试图通过can与车辆控制单元(VCU)进行通信。我已经计算出命令(索引、数据和频率),并可以通过PCanView on Windows验证其功能。现在,我使用带有python-can库的Nvidia系统发送相同的命令,并且可以使用candump验证这些命令。然而,当我在发送这些命令时为车辆引擎供电时,canbus就会结冰(这是当VCU开始期待我发送的can命令时,如果它没有收到预期的数据,它就会陷入故障状态)
我过去曾成功地使用python与其他can设备对话,并且我对代码本身的正确性很有信心。硬件连接也很好,因为我可以接收来自车辆的非VCU消息.我还可以在重新启动canbus之后接收VC
我正在尝试读取带有覆盆子的车辆上的CAN总线(CAN连接到覆盆子上的DB9连接器)。汽车也为覆盆子提供能量。
这是我的堆栈:
CAN协议
CAN总线板
机器:覆盆子π4
司机/巴士类型:
图书馆:
我按照这些指示
#added this in /boot/config.txt and reboot
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
dtoverlay=spi-bcm2835-overlay
#create the can interface on divice can0 with a b