首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能通过使用kvaser CAN-USB连接器接收来自CAN消息的数据?

为什么我不能通过使用kvaser CAN-USB连接器接收来自CAN消息的数据?
EN

Stack Overflow用户
提问于 2019-01-07 07:39:06
回答 1查看 483关注 0票数 0

我试着用CAN通讯协议读取来自一个设备的数据。我正在使用Kvaser CAN-USB连接器和python-can,但是在发送消息之后,我得到以下信息:

这是我的密码:

代码语言:javascript
复制
import can
import time

bus=can.interface.Bus(bustype='kvaser',channel=0, bitrate=250000)
print (bus)
time.sleep(1)
msg =can.Message(arbitration_id=0x032)
print(msg)
time.sleep(1)

while True:
    bus.send(msg)
    recvMsg = bus.recv(timeout=0.5)
    print (recvMsg)
    time.sleep(1)

下面是我得到的回应:

代码语言:javascript
复制
Kvaser Leaf Light v2, S/N 54781 (#1)

Timestamp:        0.000000    ID: 00000032    X                DLC:  0

Timestamp: 1546613346.010231        ID: 0000    S E              DLC:  4    00 01 00 00                 Channel: 0

根据手册,我必须使用以下方法:

  • 比特率: 250 kbs
  • 11位标识符: 0x031
  • 默认设置仅限于TX
  • 8字节消息结构:字节:1,描述:充电状态%,类型:无符号字符,值: 0-200 LSB = 0.5 % SOC。

这是我第一次使用这个通信协议,我已经阅读了python-can3.0的描述,但仍然不清楚如何解决这个问题。有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-04-09 15:47:04

ID: 0000表示错误帧!

在脚本中设置arbitration_id=0x032,但是手册显示11位标识符: 0x031。

那是个错误吗?

你的网络看起来怎么样?你有多少个节点?

你把CAN总线终止了吗?

您为什么不使用来自Kvaser的PyCANlib

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

https://stackoverflow.com/questions/54070270

复制
相关文章

相似问题

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