|
|
@ -5,37 +5,40 @@ |
|
|
|
#include <string.h> |
|
|
|
|
|
|
|
typedef enum { |
|
|
|
RMDRs485CMDOrder30 = 0x30, //读取PID参数命令 |
|
|
|
RMDRs485CMDOrder31 = 0x31, //写入PID参数到RAM命令 |
|
|
|
RMDRs485CMDOrder32 = 0x32, //写入PID参数到ROM命令 |
|
|
|
RMDRs485CMDOrder33 = 0x33, //读取加速度命令 |
|
|
|
RMDRs485CMDOrder34 = 0x34, //写入加速度到RAM命令 |
|
|
|
RMDRs485CMDOrder90 = 0x90, //读取编码器命令 |
|
|
|
RMDRs485CMDOrder91 = 0x91, //写入编码器值到ROM作为电机零点命令 |
|
|
|
RMDRs485CMDOrder19 = 0x19, //写入当前位置到ROM作为电机零点命令 |
|
|
|
RMDRs485CMDOrder92 = 0x92, //读取多圈角度命令 |
|
|
|
RMDRs485CMDOrder94 = 0x94, //读取单圈角度命令 |
|
|
|
RMDRs485CMDOrder95 = 0x95, //清除电机角度命令(设置电机初始位置) |
|
|
|
RMDRs485CMDOrder9A = 0x9A, //读取电机状态1和错误标志命令 |
|
|
|
RMDRs485CMDOrder9B = 0x9B, //清除电机错误标志命令 |
|
|
|
RMDRs485CMDOrder9C = 0x9C, //读取电机状态2命令 |
|
|
|
RMDRs485CMDOrder9D = 0x9D, //读取电机状态3命令 |
|
|
|
RMDRs485CMDOrder80 = 0x80, //电机关闭命令 |
|
|
|
RMDRs485CMDOrder81 = 0x81, //电机停止命令 |
|
|
|
RMDRs485CMDOrder88 = 0x88, //电机运行命令 |
|
|
|
RMDRs485CMDOrderA1 = 0xA1, //转矩闭环控制命令 |
|
|
|
RMDRs485CMDOrderA2 = 0xA2, //速度闭环控制命令 |
|
|
|
RMDRs485CMDOrderA3 = 0xA3, //多圈位置闭环控制命令1 |
|
|
|
RMDRs485CMDOrderA4 = 0xA4, //多圈位置闭环控制命令2 |
|
|
|
RMDRs485CMDOrderA5 = 0xA5, //单圈位置闭环控制命令1 |
|
|
|
RMDRs485CMDOrderA6 = 0xA6, //单圈位置闭环控制命令2 |
|
|
|
RMDRs485CMDOrderA7 = 0xA7, //增量位置闭环控制命令1 |
|
|
|
RMDRs485CMDOrderA8 = 0xA8, //增量位置闭环控制命令2 |
|
|
|
RMDRs485CMDOrder12 = 0x12, //读取驱动和电机型号命令 |
|
|
|
RMDRs485CMDOrderC2 = 0xC2, //读取多圈角度命令2 |
|
|
|
RMDRs485CMDOrderD8 = 0xD8, //增量位置闭环控制命令2 |
|
|
|
RMDRs485CMDOrder30 = 0x30, //读取PID参数命令 |
|
|
|
RMDRs485CMDOrder31 = 0x31, //写入PID参数到RAM命令 |
|
|
|
RMDRs485CMDOrder32 = 0x32, //写入PID参数到ROM命令 |
|
|
|
RMDRs485CMDOrder33 = 0x33, //读取加速度命令 |
|
|
|
RMDRs485CMDOrder34 = 0x34, //写入加速度到RAM命令 |
|
|
|
RMDRs485CMDOrder90 = 0x90, //读取编码器命令 |
|
|
|
RMDRs485CMDOrder91 = 0x91, //写入编码器值到ROM作为电机零点命令 |
|
|
|
RMDRs485CMDOrder19 = 0x19, //写入当前位置到ROM作为电机零点命令 |
|
|
|
RMDRs485CMDOrder92 = 0x92, //读取多圈角度命令 |
|
|
|
RMDRs485CMDOrder94 = 0x94, //读取单圈角度命令 |
|
|
|
RMDRs485CMDOrder95 = 0x95, //清除电机角度命令(设置电机初始位置) |
|
|
|
RMDRs485CMDOrder9A = 0x9A, //读取电机状态1和错误标志命令 |
|
|
|
RMDRs485CMDOrder9B = 0x9B, //清除电机错误标志命令 |
|
|
|
RMDRs485CMDOrder9C = 0x9C, //读取电机状态2命令 |
|
|
|
RMDRs485CMDOrder9D = 0x9D, //读取电机状态3命令 |
|
|
|
RMDRs485CMDOrder80 = 0x80, //电机关闭命令 |
|
|
|
RMDRs485CMDOrder81 = 0x81, //电机停止命令 |
|
|
|
RMDRs485CMDOrder88 = 0x88, //电机运行命令 |
|
|
|
RMDRs485CMDOrderA1 = 0xA1, //转矩闭环控制命令 |
|
|
|
RMDRs485CMDOrderA2 = 0xA2, //速度闭环控制命令 |
|
|
|
RMDRs485CMDOrderA3 = 0xA3, //多圈位置闭环控制命令1 |
|
|
|
RMDRs485CMDOrderA4 = 0xA4, //多圈位置闭环控制命令2 |
|
|
|
RMDRs485CMDOrderA5 = 0xA5, //单圈位置闭环控制命令1 |
|
|
|
RMDRs485CMDOrderA6 = 0xA6, //单圈位置闭环控制命令2 |
|
|
|
RMDRs485CMDOrderA7 = 0xA7, //增量位置闭环控制命令1 |
|
|
|
RMDRs485CMDOrderA8 = 0xA8, //增量位置闭环控制命令2 |
|
|
|
RMDRs485CMDOrder12 = 0x12, //读取驱动和电机型号命令 |
|
|
|
RMDRs485CMDOrderC2 = 0xC2, //读取多圈角度命令2 |
|
|
|
RMDRs485CMDOrderD8 = 0xD8, //增量位置闭环控制命令2 |
|
|
|
} RMDMotorDriverRs485CMD; |
|
|
|
|
|
|
|
void motor_drive_uart_init(); |
|
|
|
void motor_drive_turn(int direction, int speed_level, double position); |
|
|
|
double motor_drive_read_encoder(); |
|
|
|
double motor_drive_read_encoder(); |
|
|
|
void motor_drive_set_packages(); |
|
|
|
void motor_drive_set_packages_ctr(double position); |
|
|
|
void motor_drive_hex_to_str(char *hex, int hex_len, char *str); |