450_J1939地址声明函数的调用处理分析

51 篇文章 106 订阅
37 篇文章 19 订阅

         全部学习汇总: https://github.com/GreyZhang/J1939_basic

         J1939地址声明的接口功能之前基本上分析过了,这一次看看在整个我看到的例程中这个接口究竟是如何使用的。毕竟,这个接口还是有两种不同的使用模式的。

         这个接口在整个工程里面被调用的次数不是很多,我搜索了全部的工程如下:

         最前面两个还有最后两个是没有必要关注的,这都是生成的文件或者辅助的工程文件。H文件中的就是一个声明,也不需要看。接下来,其实还剩下一个文件需要分析。从上面的结果看,其实真正的函数调用只有3个地方,剩下的全都是定义或者注释说明中的信息。

         第一个地方之前其实我已经遇到了,就是J1939的初始化接口中。从参数看,看个接口的实际功能是去声明自己的地址。如果地址没有冲突应该会声明成功,否则会进入仲裁。

         这是第2个地方,其实是收到了地址声明的报文之后。这里判断的方式判断的PF,组成的PGN为0x00EE00。从这里,判断是否进入仲裁,主要是通过判断接收到消息的原地址是否与当前CA的地址相等来实现。

         这是最后一个调用的位置,而这个应该是在支持接收命令地址的时候支持的。我大概看了一下代码的含义,大意可能是先通过命令给一个地址,然后CA进行地址声明。具体的处理方式,后续还是要找到相关的文档做一下解读的支持才好。就目前我看到的这个例程来说的话,其实用到的只有前面的两部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值