首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >J1939 RTR问题

J1939 RTR问题
EN

Stack Overflow用户
提问于 2016-09-23 08:19:13
回答 1查看 1.2K关注 0票数 0

我有和问题的rtr帧使用坎通普和cansend。

转储广播的数据是没有问题的。

架构- Raspberry pi,带有一个微微核桃屏,从J1939模拟器读取数据。

我运行candump来接收公交车上的所有消息。然后,当我为pgn feec执行一个cansend时,从模拟器得到一个确认帧。我在申请一个预先设定好的VIN,但是我什么也得不到。这是我从candump看到的:

代码语言:javascript
复制
can0  18FEF500   [8]  7D FF FF 40 25 4B FF FF   '}..@%K..'
can0  18FEE900   [8]  D1 4B 03 00 D1 4B 03 00   '.K...K..'
can0  18FEF700   [8]  FF FF FF FF E0 01 FF FF   '........'
can0  18FECA00   [8]  03 FF 00 00 00 00 00 00   '........'
can0  00FEEC00   [0]  remote request
can0  18E80000   [8]  01 FF FF FF FF EC FE 00   '........'
can0  0CF00300   [8]  FF 7D 7D FF FF FF FF FF   '.}}.....'
can0  18FE6C00   [8]  FF FF FF FF FF FF 80 7D   '.......}'
can0  0CF00400   [8]  FF FF 7D 80 7D FF FF FF   '..}.}...''

E800 PGN是标准ack消息。

以及我在运行candump时发送的消息:

代码语言:javascript
复制
cansend can0 00feec00#r

基本上我不会拿回VIN的PGN的。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-27 03:21:14

事实证明这里有几个问题。

J1939不支持1- #r

2-您不能通过直接请求pgn来请求pgn。该方法是将数据发送到处理请求的特定pgn。示例如下:

EA 00是要向其发送数据的PGN。数据消息中包含我们想要请求的pgn (LSB),因此PGN FEE5现在是E5FE。需要三个字节,这就是为什么00出现在下面的消息中。

以下是引擎小时数的工作请求:

代码语言:javascript
复制
cansend 18EA00FF#E5FE00

回应是:

代码语言:javascript
复制
21 00 00 00 8F 01 00 00
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39650737

复制
相关文章

相似问题

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