可以实现多个控制器通过CAN总线来通讯,同一个CAN网络上只能有一个主端(CANIO_ADDRESS=32主端,CANIO_ADDRESS=0从端站号为1),采用一主多从的模式。
接线如下图所示:CAN接线的首尾两端接上120电阻。
连接完成先设置主从端,再通过CAN指令接收/发送数据。
CAN(channel, function, tablenum)
channel:CAN通道,0表示第一个通道,-1表示缺省通道
function:功能号
值 | 描述 |
6 | 接收,没有数据时,identifier<0 |
7 | 发送 |
16 需要升级固件 | 带扩展支持接收,没有数据时,identifier<0 |
17 需要升级固件 | 发送扩展数据,普通数据使用7发送 |
tablenum:数据存储的TABLE位置
例一
'发送端:
TABLE(0,1,8,1,2,3,4,5,6,7,8) '发送cobid=1,8个字节,依次为1-8
CAN(0,7,0) '发送
'接收端:
CANIO_ADDRESS=1 '设置为非主控,此参数设置一次即可
CAN(0,6,0) '接收
?TABLE(0)
例二
'发送端
TABLE(0,1,10,8,1,2,3,4,5,6,7,8) '发送cobid=1,扩展id10,8个字节,依次'为1-8
CAN(0,17,0) '发送
'接收端:
CANIO_ADDRESS=1 '设置为非主控,此参数设置一次即可
CAN(0,16,0) '接收
?TABLE(0)
楼主最近还看过