33 lines
992 B
C
33 lines
992 B
C
#ifndef __CToC_H
|
||
#define __CToC_H
|
||
#include "main.h"
|
||
#include "M3508.h"
|
||
|
||
|
||
#define CToC_MasterID1 0x019//ID1
|
||
|
||
#define CToC_SlaveID1 0x149//ID1
|
||
#define CToC_SlaveID2 0x189//ID2
|
||
//中断回调函数
|
||
//判断接受对象的ID-符合条件-完成解码-发送数据包
|
||
//motor_chassis:motor_measure_t 类型的数组,其中装有电机转子角度,电机转子转速,控制电流,温度
|
||
//定义函数
|
||
#define get_motor_measure(ptr, data) \
|
||
{ \
|
||
(ptr)->last_ecd = (ptr)->ecd; \
|
||
(ptr)->ecd = (uint16_t)((data)[0] << 8 | (data)[1]); \
|
||
(ptr)->speed_rpm = (uint16_t)((data)[2] << 8 | (data)[3]); \
|
||
(ptr)->given_current = (uint16_t)((data)[4] << 8 | (data)[5]); \
|
||
(ptr)->temperate = (data)[6]; \
|
||
}
|
||
|
||
|
||
extern uint8_t CToC_SlaveSendRefereeSystemData(void);
|
||
extern void can_filter_init(void);
|
||
extern void CToC_CANDataProcess(uint32_t ID,uint8_t *Data);
|
||
extern void Update_Motor_Measure(uint8_t motor_id, motor_measure_t* measure);
|
||
extern void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan);
|
||
|
||
|
||
|
||
#endif |