diff --git a/MDK-ARM/R2.uvoptx b/MDK-ARM/R2.uvoptx index 54c15c6..28b9eeb 100644 --- a/MDK-ARM/R2.uvoptx +++ b/MDK-ARM/R2.uvoptx @@ -103,7 +103,7 @@ 1 0 0 - 6 + 3 @@ -114,7 +114,7 @@ - STLink\ST-LINKIII-KEIL_SWO.dll + BIN\CMSIS_AGDI.dll @@ -140,7 +140,7 @@ 0 DLGUARM - (105=-1,-1,-1,-1,0) + 0 diff --git a/MDK-ARM/R2/R2.axf b/MDK-ARM/R2/R2.axf index acddb4c..653d200 100644 Binary files a/MDK-ARM/R2/R2.axf and b/MDK-ARM/R2/R2.axf differ diff --git a/User/device/can_use.c b/User/device/can_use.c index 4010af2..b256dba 100644 --- a/User/device/can_use.c +++ b/User/device/can_use.c @@ -32,7 +32,7 @@ #define CAN_M3508_MAX_ABS_CUR (20) #define CAN_M2006_MAX_ABS_CUR (10) -#define CAN_ENCODER_RESOLUTION (32768) //欧艾迪编码器分辨率 +#define CAN_ENCODER_RESOLUTION (4096) //欧艾迪编码器分辨率 CAN_RawRx_t raw_rx1;//原始的can数据 CAN_RawRx_t raw_rx2; @@ -93,7 +93,8 @@ void CAN_Encoder_Decode(CAN_EncoderFeedback_t *feedback, { case 0x01: feedback->ecd =raw[3]|raw[4]<<8|raw[5]<<16|raw[6]<<24; - feedback->angle=(fp32)feedback->ecd*360/CAN_ENCODER_RESOLUTION-151.0f; + feedback->angle=(fp32)(4089-(fp32)feedback->ecd)/(4089-3861)*(70.0f-50.0f)+50.0f; + break; } }