前几天解决显示问题后,接下来的CAN总线之旅就简单多了
这几天看的是 主从式 CAN的通讯
主从式和两节点的区别就是:
简单的两点式:节点1 可以发给节点2,让节点2接收;节点2也可以发给节点1,让节点1接收;
如果这样写,就需要2个烧录程序
温故具体如下:
根据以上信息,可以在发送函数里面,这样配置:
然后,别忘了在初始化里配置,ACR,AMR,如下
程序如下
其他地方的修改嘛:跟上篇讲的差不多
【另外补充一下,现在都没考虑 对于can 通讯故障的检测】
上面是两个节点,两个代码的的简单回顾,跟两个节点一个代码有点不一样。大同小异吧
回顾了两个节点后,那么主从式的也就更好理解了
简言之: 节点1的按键动作(这里简单设为按键次数),通过CAN发给节点2;
节点2,根据接收到的CAN的报文内容里,根据约定的数据字节位,进行相应的控制
(这里简单设为点亮不同的灯)
TX帧信息:1000 1000 = 0x88;
TX识别码1:0100 0011 = 0x43;TX识别码2:0100 0001 = 0x41;
TX识别码3:0100 1110 = 0x4e;TX识别码4:0000 0001 = 0x02;(这里截图有个笔误嘛?)
按理吧,应该如下这样写
可是书上是这样写的
一开始没想明白,后来,去查了下ASICII码,确定猜想没错
如下
同样,验收滤波器和屏蔽寄存器如下写也好理解了。