学习一下别的RP队伍讲解CAN,看第六节就行
关于为什么主控板只需发一个ID号就能控制4个电机但每个电调必须发送自己的ID号给主控板才能通讯的原因:因为一个RP的机器人可能会有7或8个电机也就是要有7到8个电调,每个电调都有一个32芯片,那主控板跟他们通讯就要使用CAN(当然也是因为大疆的电机是要用CAN通讯的,并且CAN通讯可以减少IO口负担,提高抗干扰的能力,因为如果出现干扰,是两条信号线都发生相同的变化,又由于CAN通讯是差分信号所以能够抗干扰),并且用户手册规定发送的报文格式是有八个字节数据,每两个字节(高八位低八位)对应一个电机,那主控板也要自己规定的ID号,比如0x200就是1,2,3,4序号这四个电调,发送的八个字节(同一个物理量)就能控制4个电调;0x1ff就是5,6,7序号这三个电调,第七个字节和第八个字节作废,这样就是为什么主控板只需发一个ID号就可以控制多个电调的原因。但是反过来,用户手册规定接受的报文格式是有八个字节数据,一个电调要发给主控板有多个物理量刚好能用完这八个字节,那每一个电调就要有自己的ID号,这也是为什么每个电调必须发送自己的ID号给主控板才能通讯的原因