通信网络
首先,我们准备两台支持CAN的繁易网关FBox4G。
为什么是两台呢。
一台用来调试使用CAN通信。
另一台纯粹就是用来看,用来衬托的,钱不钱的无所谓了。多放一台在旁边,踏实。
一个USB转CAN设备,方便在电脑上调试。当然也可以直接使用CAN控制器。
然后我们把FBox4G的CAN总线和USB转CAN的总线接好。
插上SIM卡,上电。等待上线。
家里有条件的用户,在等待上线的同时,可以点一杯奶茶。
接下来我们打开FlexManager这个软件。
打开这个软件,哇,蓝色主题的win10样式,弹性布局的简约风格,白色打底的视觉冲击,让人忍不住在这个登录界面多停留一会,短暂地忘却工作的烦恼。
趁没人的时候,赶快输入账号和密码。并快速的添加该盒子。
奶茶还没有到,就已经看到这个盒子在线了。
接下来我们要找到CAN驱动并添加上来了。
在远程下载->设备管理,然后选择COM3(因为是CAN设备,随便选一个COM都可以)。
找了一会,终于找Others这个目录找到了这个CAN了。
CAN通信主要设置的就是波特率了。
收到内幕消息,这个CAN驱动的波特率设置,是在高级设置里设置的。
这个协议超时参数2,就是设置CAN的波特率了,目前设置的是125000波特率了。
为什么不是在前面那个页面里的波特率和串口共用一个,而是放到高级参数里呢。
我猜测其一,CAN的波特率和串口的波特率的数值不一样,兼容不了。
其二,放到高级设置里去设置这个CAN波特率,会显得这个CAN驱动更高级一些。
点了确定之后,我们就添加好了CAN驱动通信了。
我们打开数据监控页面。
有好多寄存器,到底哪一个才是我们使用的呢。
经过简单的摸索之后,找到我们想要的寄存器了。
B_rPDO这个寄存器,就是我们要调试的寄存器了。
B代表字节,r表示是读。也就是数据是由对方发送过来的。PDO可以理解为数据内容。
地址范围是7FFF。
但是标准帧只到7FF。最后一个F是什么呢。
哦,因为一个帧有8个字节。最后一个F就是代表0到7的字节。
好。假如我们要读取帧ID为123H(十六进制)的8个字节。这样添加。
就在此时,我的外卖到了。
于是我让外卖小哥帮我把剩下的监控点添加。
很快,外卖小哥就帮我添加好了剩下的七个数据。
接下来我们用USB转CAN发送一个,看有没有数据到数据。
好,此时已发显示发送成功了。
这边也收到数据了。8个字节,一一对应了。旁边的外卖小哥也跟着激动了,差点要转行跟我学嵌入式编程了。
于是这个B_rPDO就这样被我们搞定了。
以此类推。
有个W_rPDO寄存器,我们看一下是什么效果。
W_rPDO,则是字寄存器,是把两个B_rPDO组成一个数据。这样对于有些控制器,是以字为单位的数据,就可以使用W_rPDO了。
同理,还有DW_rPDO就是双字寄存器了。是由四个B_rPDO或者两个W_rPDO组合。如果CAN控制器有浮点数或者32位的数据,就可以用DW_rPDO寄存器了。
还有位寄存器
位寄存器呢,则是可以直接读取到某个字节里的某个位,对于一个开关量,用位寄存器就更直接方便了
ext_Byte_rPDO,带有ext字眼的呢,就是扩展帧了。用法呢和标准帧一样的。
还有带RTR后缀的呢,就是表示该寄存器是支持远程帧模式。该寄存器通信则需要先向CAN总线发送远程帧,如果在回复了,才能正常通信获取到数据。
当然,能读数据,就能写数据。
不过,发送的话,相对多几个步骤。
需要先把要发送的帧的ID,然后再把8个字节,也就是四个字的内容填写好。
然后再点发送按钮。就可以把一个CAN的帧数据进行发送了
按下发送,CAN设备就收到这个数据了。
全部0条评论
快来发表一下你的评论吧 !