CAN的通信速率按照电调的手册要求的1Mbps配置,71.42854142857473ns*(9+4+1)=1000ns=1us=1Mbps
CAN总线的一个数据帧中所需要传输的有效数据是8byte(字节)。一帧完整的CAN报文就完全可以将所需要的数据发送出去,不许将数据拆分成许多不同的数据帧,对比遥控器的串口每次只能发送一个字节的数据,一帧完整的数据需要发送18个字节,减少了数据拼接时丢帧的可能(要丢就全丢了)
GetMotorMeasure()是接收电调向总线上发送的数据。
首先根据接收到的ID判断究竟接收到的是哪个电调发送来的数据,C620(3508的电调)手册中规定1号电调ID为0x201,2号为0x202,3号为0x203,4号为0x204,判断完数据来源之后,就可以按照手册中的数据格式进行解码,通过高八位和低八位拼接的方式,得到电机的转子机械角度,转子转速,实际转矩电流,电机温度等数据。
数据帧,一个帧可以理解为一个邮件
仲裁段相当于邮件名,写上ID号,ID的数据长度是2的11次方。
控制段,确定要发送的字节数,相当于邮件里多少页
数据段,我们要发送给对方的内容,最多8个字节