同步更改,修复了云台pid超限问题,修复云台编码器上下限,关闭磁力计输入
This commit is contained in:
127
云台/云台/.vscode/c_cpp_properties.json
vendored
127
云台/云台/.vscode/c_cpp_properties.json
vendored
@@ -1,22 +1,121 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "windows-cygwin-gcc-x64",
|
||||
"includePath": [
|
||||
"${workspaceFolder}/**",
|
||||
"f:\\桌面\\云台\\Start",
|
||||
"f:\\桌面\\云台\\Library",
|
||||
"f:\\桌面\\云台\\System",
|
||||
"f:\\桌面\\云台\\Algorithm",
|
||||
"f:\\桌面\\云台\\AHRS",
|
||||
"f:\\桌面\\云台\\Hardware",
|
||||
"f:\\桌面\\云台\\Motor",
|
||||
"f:\\桌面\\云台\\Function",
|
||||
"f:\\桌面\\云台\\Control",
|
||||
"f:\\桌面\\云台\\CarBody",
|
||||
"f:\\桌面\\云台\\User",
|
||||
"C:\\Keil_v5\\ARM\\ARMCC\\include",
|
||||
"f:\\桌面\\云台\\Carbody"
|
||||
],
|
||||
"defines": [
|
||||
"USE_STDPERIPH_DRIVER",
|
||||
"STM32F40_41xxx",
|
||||
"ARM_MATH_CM4",
|
||||
"__FPU_PRESENT=1U",
|
||||
"__CC_ARM",
|
||||
"__arm__",
|
||||
"__align(x)=",
|
||||
"__ALIGNOF__(x)=",
|
||||
"__alignof__(x)=",
|
||||
"__asm(x)=",
|
||||
"__forceinline=",
|
||||
"__restrict=",
|
||||
"__global_reg(n)=",
|
||||
"__inline=",
|
||||
"__int64=long long",
|
||||
"__INTADDR__(expr)=0",
|
||||
"__irq=",
|
||||
"__packed=",
|
||||
"__pure=",
|
||||
"__smc(n)=",
|
||||
"__svc(n)=",
|
||||
"__svc_indirect(n)=",
|
||||
"__svc_indirect_r7(n)=",
|
||||
"__value_in_regs=",
|
||||
"__weak=",
|
||||
"__writeonly=",
|
||||
"__declspec(x)=",
|
||||
"__attribute__(x)=",
|
||||
"__nonnull__(x)=",
|
||||
"__register=",
|
||||
"__breakpoint(x)=",
|
||||
"__cdp(x,y,z)=",
|
||||
"__clrex()=",
|
||||
"__clz(x)=0U",
|
||||
"__current_pc()=0U",
|
||||
"__current_sp()=0U",
|
||||
"__disable_fiq()=",
|
||||
"__disable_irq()=",
|
||||
"__dmb(x)=",
|
||||
"__dsb(x)=",
|
||||
"__enable_fiq()=",
|
||||
"__enable_irq()=",
|
||||
"__fabs(x)=0.0",
|
||||
"__fabsf(x)=0.0f",
|
||||
"__force_loads()=",
|
||||
"__force_stores()=",
|
||||
"__isb(x)=",
|
||||
"__ldrex(x)=0U",
|
||||
"__ldrexd(x)=0U",
|
||||
"__ldrt(x)=0U",
|
||||
"__memory_changed()=",
|
||||
"__nop()=",
|
||||
"__pld(...)=",
|
||||
"__pli(...)=",
|
||||
"__qadd(x,y)=0",
|
||||
"__qdbl(x)=0",
|
||||
"__qsub(x,y)=0",
|
||||
"__rbit(x)=0U",
|
||||
"__rev(x)=0U",
|
||||
"__return_address()=0U",
|
||||
"__ror(x,y)=0U",
|
||||
"__schedule_barrier()=",
|
||||
"__semihost(x,y)=0",
|
||||
"__sev()=",
|
||||
"__sqrt(x)=0.0",
|
||||
"__sqrtf(x)=0.0f",
|
||||
"__ssat(x,y)=0",
|
||||
"__strex(x,y)=0U",
|
||||
"__strexd(x,y)=0",
|
||||
"__strt(x,y)=",
|
||||
"__swp(x,y)=0U",
|
||||
"__usat(x,y)=0U",
|
||||
"__wfe()=",
|
||||
"__wfi()=",
|
||||
"__yield()=",
|
||||
"__vfp_status(x,y)=0"
|
||||
],
|
||||
"intelliSenseMode": "linux-gcc-x64",
|
||||
"cStandard": "${default}",
|
||||
"cppStandard": "${default}",
|
||||
"compilerPath": "C:/cygwin64/bin/gcc.exe"
|
||||
},
|
||||
{
|
||||
"name": "Target 1",
|
||||
"includePath": [
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\Start",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\Library",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\System",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\Algorithm",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\AHRS",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\Hardware",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\Motor",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\Function",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\Control",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\CarBody",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\User",
|
||||
"C:\\Keil_v5\\ARM\\ARMCC\\include",
|
||||
"C:\\Keil_v5\\ARM\\ARMCC\\include\\rw",
|
||||
"d:\\workplace\\New-Infantry-C-Board-Legacy-1\\云台\\云台\\Carbody"
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\Start",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\Library",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\System",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\Algorithm",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\AHRS",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\Hardware",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\Motor",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\Function",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\Control",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\CarBody",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\User",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\test-rope\\云台\\云台\\Carbody"
|
||||
],
|
||||
"defines": [
|
||||
"USE_STDPERIPH_DRIVER",
|
||||
|
||||
12
云台/云台/.vscode/keil-assistant.log
vendored
12
云台/云台/.vscode/keil-assistant.log
vendored
@@ -95,15 +95,13 @@
|
||||
|
||||
[info] Log at : 2025/10/23|09:40:31|GMT+0800
|
||||
|
||||
[info] Log at : 2025/12/6|19:19:47|GMT+0800
|
||||
[info] Log at : 2026/1/11|17:02:33|GMT+0800
|
||||
|
||||
[info] Log at : 2025/12/8|13:08:58|GMT+0800
|
||||
[info] Log at : 2026/1/25|08:06:12|GMT+0800
|
||||
|
||||
[info] Log at : 2025/12/10|18:02:38|GMT+0800
|
||||
[info] Log at : 2026/2/1|23:42:36|GMT+0800
|
||||
|
||||
[info] Log at : 2025/12/10|18:02:47|GMT+0800
|
||||
[info] Log at : 2026/3/9|14:44:08|GMT+0800
|
||||
|
||||
[info] Log at : 2025/12/10|18:23:26|GMT+0800
|
||||
|
||||
[info] Log at : 2025/12/11|19:32:44|GMT+0800
|
||||
[info] Log at : 2026/3/10|13:56:39|GMT+0800
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "Visual.h"
|
||||
#include "WaveFiltering_Kalman_Filtering.h"
|
||||
|
||||
KFP kfp_PITCH={0.02,0,0,0,0.01,0.543};//卡尔曼滤波器结构体
|
||||
KFP kfp_PITCH={0.02,0,0,0,0.001,0.543};//卡尔曼滤波器结构体
|
||||
|
||||
|
||||
|
||||
@@ -71,14 +71,14 @@ void Gimbal_Init(void)
|
||||
PID_PositionSetOUTRange(&Gimbal_YawAngleSpeedPID,-30000,30000);
|
||||
|
||||
PID_PositionStructureInit(&Gimbal_PitchAnglePositionPID,0);//Pitch轴陀螺仪闭环
|
||||
PID_PositionSetParameter(&Gimbal_PitchAnglePositionPID,15,0,10);
|
||||
PID_PositionSetParameter(&Gimbal_PitchAnglePositionPID,15,0,100);
|
||||
PID_PositionSetEkRange(&Gimbal_PitchAnglePositionPID,-1,1);
|
||||
PID_PositionSetOUTRange(&Gimbal_PitchAnglePositionPID,-150,150);
|
||||
PID_PositionSetOUTRange(&Gimbal_PitchAnglePositionPID,-200,200);
|
||||
|
||||
PID_PositionStructureInit(&Gimbal_PitchAngleSpeedPID,300);
|
||||
PID_PositionSetParameter(&Gimbal_PitchAngleSpeedPID,150,0.001,5);
|
||||
PID_PositionSetEkRange(&Gimbal_PitchAngleSpeedPID,-5,5);
|
||||
PID_PositionSetOUTRange(&Gimbal_PitchAngleSpeedPID,-60000,60000);
|
||||
PID_PositionSetOUTRange(&Gimbal_PitchAngleSpeedPID,-30000,30000);
|
||||
|
||||
PID_PositionStructureInit(&Gimbal_L_FrictionWheelPID,0);//左摩擦轮
|
||||
PID_PositionSetParameter(&Gimbal_L_FrictionWheelPID,16,0,30);
|
||||
@@ -131,14 +131,16 @@ void Gimbal_PitchControl(void)
|
||||
{
|
||||
float use_pitch=0,lastpitch=0,lastyaw=0;
|
||||
if(Remote_StartFlag==2)Gimbal_PitchAnglePositionPID.Need_Value=0;//遥控器刚建立连接时,复位Pitch轴角度
|
||||
if(((Remote_RxData.Remote_L_UD>1050 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)<1000) )//&& AttitudeAlgorithms_DegRoll<Pitch_GM6020AngleUpperLinit)
|
||||
|
||||
|
||||
if(((Remote_RxData.Remote_L_UD>1050 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)<1000) && GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Position>Pitch_GM6020PositionUpperLinit)
|
||||
{
|
||||
|
||||
Gimbal_PitchAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate/8192.0f*360.0f;//通过遥控器或者鼠标获取俯仰情况
|
||||
//if(GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Angle<=Pitch_GM6020PositionUpperLinit)
|
||||
//Gimbal_PitchAnglePositionPID.Need_Value=0;
|
||||
}
|
||||
else if(((Remote_RxData.Remote_L_UD<1000 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)>1050) )//&& AttitudeAlgorithms_DegRoll>Pitch_GM6020AngleLowerLinit)
|
||||
else if(((Remote_RxData.Remote_L_UD<1000 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)>1050) && GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Position<Pitch_GM6020PositionLowerLinit)
|
||||
{
|
||||
Gimbal_PitchAnglePositionPID.Need_Value+=Gimbal_LeverSpeedMapRate/8192.0f*360.0f;//通过遥控器或者鼠标获取俯仰情况
|
||||
// if(GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Angle>=Pitch_GM6020PositionLowerLinit)
|
||||
@@ -149,29 +151,28 @@ void Gimbal_PitchControl(void)
|
||||
|
||||
use_pitch=0.5f*Visual_Pitch;
|
||||
use_yaw=0.5f*Visual_Yaw;
|
||||
if(use_pitch > 10 && use_pitch < -10) use_pitch=0; //防止UART干扰数据移位疯车
|
||||
if(use_yaw > 10 && use_yaw < -10) use_yaw=0; //何移位?
|
||||
//pitch
|
||||
if(GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Position>Pitch_GM6020PositionUpperLinit && Visual_Pitch>0)
|
||||
Gimbal_PitchAnglePositionPID.Need_Value+=(float)use_pitch-lastpitch;//修改了pitch轴自瞄的实现方式
|
||||
Gimbal_PitchAnglePositionPID.Need_Value=AttitudeAlgorithms_DegRoll-(float)use_pitch-lastpitch;
|
||||
if(GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Position<Pitch_GM6020PositionLowerLinit && Visual_Pitch<0)
|
||||
Gimbal_PitchAnglePositionPID.Need_Value+=(float)use_pitch;
|
||||
Gimbal_PitchAnglePositionPID.Need_Value=AttitudeAlgorithms_DegRoll-(float)use_pitch;
|
||||
use_pitch=0;
|
||||
Remote_RxData.Remote_Mouse_KeyPushR=0;
|
||||
Remote_RxData.Remote_LS=0;
|
||||
|
||||
Visual_Pitch = 0;
|
||||
Visual_Yaw = 0; //提前清除接收到的Yaw防止意外置零
|
||||
Visual_Pitch = 0;
|
||||
Visual_ReceiveFlag=0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//串级PID闭环Pitch角
|
||||
PID_PositionCalc(&Gimbal_PitchAnglePositionPID,AttitudeAlgorithms_DegRoll);
|
||||
//Gimbal_PitchAnglePositionPID.OUT=kalmanFilter(&kfp_PITCH,Gimbal_PitchAnglePositionPID.OUT);
|
||||
Gimbal_PitchAngleSpeedPID.Need_Value=Gimbal_PitchAnglePositionPID.OUT;
|
||||
|
||||
|
||||
PID_PositionCalc(&Gimbal_PitchAngleSpeedPID,GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Speed);
|
||||
|
||||
|
||||
|
||||
}
|
||||
void Debug(void)
|
||||
@@ -198,19 +199,19 @@ void Gimbal_YawControl(void)
|
||||
if((Remote_RxData.Remote_L_RL>1050 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity>1050 || use_yaw !=0 )//根据摇杆改变偏航
|
||||
{
|
||||
if(PC_Spin==0)
|
||||
Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*((Remote_RxData.Remote_L_RL-1024)/660.0f)-(float)use_yaw;
|
||||
Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*((Remote_RxData.Remote_L_RL-1024)/660.0f)+(float)use_yaw;
|
||||
else
|
||||
Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*(PC_Spin*PC_Mouse_RLSensitivity/660.0f*2)-(float)use_yaw;
|
||||
Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*(PC_Spin*PC_Mouse_RLSensitivity/660.0f*2)+(float)use_yaw;
|
||||
}
|
||||
else if((Remote_RxData.Remote_L_RL<1000 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity<1000 || use_yaw !=0)
|
||||
{
|
||||
if(PC_Spin==0)
|
||||
Gimbal_YawAnglePositionPID.Need_Value+=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*((1024-Remote_RxData.Remote_L_RL)/660.0f)-(float)use_yaw;
|
||||
Gimbal_YawAnglePositionPID.Need_Value+=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*((1024-Remote_RxData.Remote_L_RL)/660.0f)+(float)use_yaw;
|
||||
else
|
||||
Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*(PC_Spin*PC_Mouse_RLSensitivity/660.0f*2)-(float)use_yaw;
|
||||
Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*(PC_Spin*PC_Mouse_RLSensitivity/660.0f*2)+(float)use_yaw;
|
||||
}
|
||||
|
||||
//Visual_Yaw=0;
|
||||
Visual_Yaw=0;
|
||||
use_yaw=0;
|
||||
|
||||
//串级PID闭环Yaw角
|
||||
|
||||
@@ -10,11 +10,7 @@
|
||||
#include "PID.h"
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
<<<<<<< HEAD
|
||||
#include "BMI088.h"
|
||||
=======
|
||||
#include <math.h>
|
||||
>>>>>>> a6eb3f5ed5724a064e8286c2f8cd26fa9d4816e5
|
||||
|
||||
uint32_t Visual_Time=0;//视觉数据send时间
|
||||
uint32_t Time_Out=0;//超时时间
|
||||
@@ -24,16 +20,14 @@ int yaw=0 , pitch=0;
|
||||
static char dataType; // 存储类型字段('r'/'b'/'u')
|
||||
|
||||
uint8_t USART_RX_BUF[100];//视觉数据jieshou缓冲区
|
||||
extern PID_PositionInitTypedef Gimbal_PitchAnglePositionPID,Gimbal_YawAnglePositionPID,Gimbal_YawAngleSpeedPID;
|
||||
|
||||
|
||||
extern PID_PositionInitTypedef Gimbal_YawAnglePositionPID,Gimbal_YawAngleSpeedPID,Gimbal_PitchAnglePositionPID,Gimbal_PitchAngleSpeedPID;//Pitch轴GM6020电机PID;
|
||||
extern float BMI088_GyroZeroOffset[3],BMI088_GyroWithoutOffset[3];
|
||||
|
||||
int16_t Visual_GetYaw,Visual_GetPitch,Visual_GetRoll,Visual_GetDelay;//视觉数据偏航角,视觉数据俯仰角
|
||||
float Visual_Yaw,Visual_Pitch;
|
||||
|
||||
uint8_t Visual_RxHEXPacket[4],Visual_ReceiveFlag;//视觉数据接收缓冲区,视觉数据接收完成标志位
|
||||
|
||||
static uint8_t pitch_need_acc = 0;
|
||||
/*
|
||||
*函数简介:视觉初始化
|
||||
*参数说明:无
|
||||
@@ -74,38 +68,20 @@ void Visual_SendData(void)
|
||||
UART2_SendByte((uint8_t)1);
|
||||
UART2_SendByte((uint8_t)1);
|
||||
*/
|
||||
//UART2_Printf("%d,%d,%f,%f\n",GM6020_MotorStatus[0].Speed,GM6020_MotorStatus[0].Angle,Gimbal_YawAnglePositionPID.OUT,Gimbal_YawAngleSpeedPID.OUT);
|
||||
|
||||
<<<<<<< HEAD
|
||||
UART2_Printf("%lld",GM6020_MotorStatus[GM6020_2-0x205].Position);
|
||||
UART2_Printf(",%f",Gimbal_PitchAnglePositionPID.Need_Value);
|
||||
UART2_Printf(",%f",Gimbal_PitchAngleSpeedPID.Need_Value);
|
||||
UART2_Printf(",%f\n",Gimbal_PitchAngleSpeedPID.OUT);
|
||||
//UART2_Printf("%f,%f,%f\n",AttitudeAlgorithms_DegPitch,AttitudeAlgorithms_DegYaw,BMI088_Temperature);
|
||||
if(Visual_Pitch !=0 || Visual_Yaw != 0) UART2_Printf("%f,%f\n",Visual_Pitch,Visual_Yaw);
|
||||
=======
|
||||
//UART2_Printf("%d,%f,%f\n",Visual_ReceiveFlag,Visual_Yaw,Visual_Pitch);
|
||||
>>>>>>> a6eb3f5ed5724a064e8286c2f8cd26fa9d4816e5
|
||||
//UART2_Printf("%f,%f,%f,%f,%f,%f\n",BMI088_Gyro[0],BMI088_Gyro[1],BMI088_GyroZeroOffset[0],BMI088_GyroZeroOffset[1],BMI088_GyroWithoutOffset[0],BMI088_GyroWithoutOffset[1]);
|
||||
//UART2_SendByte((uint8_t)'\n');
|
||||
//*if(Visual_ReceiveFlag == 1)
|
||||
//UART2_Printf("%f %f %f %f \n",Visual_Yaw,Visual_Pitch,Visual_GetRoll,Visual_GetDelay);//*0.0030518509475997f*/
|
||||
//if(Visual_ReceiveFlag == 1)
|
||||
//UART2_Printf("%f %f %f %f \n",Visual_Yaw,Visual_Pitch,Visual_GetRoll,Visual_GetDelay);//*0.0030518509475997f
|
||||
//if(Visual_ReceiveFlag == 1)
|
||||
//UART2_Printf("%f %f %f %f\n",Visual_Yaw,Visual_Pitch,AttitudeAlgorithms_DegYaw);//*0.0030518509475997f
|
||||
// if (abs(Gimbal_PitchAnglePositionPID.Need_Value)>=20){
|
||||
// pitch_need_acc++;
|
||||
// if (pitch_need_acc >= 40) {
|
||||
// pitch_need_acc = 0;
|
||||
// Gimbal_PitchAnglePositionPID.Need_Value *= 0.95f;
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
if (Gimbal_PitchAnglePositionPID.Need_Value>=8)
|
||||
{
|
||||
Gimbal_PitchAnglePositionPID.Need_Value=8;
|
||||
}
|
||||
else if(Gimbal_PitchAnglePositionPID.Need_Value<=-22)
|
||||
{
|
||||
Gimbal_PitchAnglePositionPID.Need_Value=-22;
|
||||
}
|
||||
|
||||
UART2_Printf("%f\n",Gimbal_PitchAnglePositionPID.Need_Value);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -146,7 +122,7 @@ char Visual_Type = '\0'; // 存储类型(r/b/u)
|
||||
uint8_t Visual_ReceiveFlag = 0; // 接收完成标志
|
||||
|
||||
// 静态变量(函数内部状态)
|
||||
static char Visual_RxBuffer[64]; // 接收缓冲区(足够容纳最长帧)
|
||||
static char Visual_RxBuffer[32]; // 接收缓冲区(足够容纳最长帧)
|
||||
static uint8_t RxState = 0; // 状态机:0-等待#,1-接收数据,2-解析
|
||||
static uint8_t RxIndex = 0; // 缓冲区索引
|
||||
static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒)
|
||||
@@ -225,10 +201,8 @@ static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒)
|
||||
Visual_GetPitch = pitch;
|
||||
|
||||
// 角度转换(根据实际需求调整系数)
|
||||
// Visual_Yaw = -(float)yaw * 0.03051850947599f;
|
||||
// Visual_Pitch = -(float)pitch * 0.03051850947599f;
|
||||
Visual_Yaw = (float)yaw * 0.03051850947599f;
|
||||
Visual_Pitch = (float)pitch * 0.03051850947599f;
|
||||
Visual_Yaw = -(float)yaw * 0.03051850947599f;
|
||||
Visual_Pitch = -(float)pitch * 0.03051850947599f;
|
||||
|
||||
Visual_ReceiveFlag = 1; // 置位完成标志
|
||||
}
|
||||
|
||||
@@ -29,4 +29,4 @@ float kalmanFilter(KFP *kfp,float input)
|
||||
kfp->LastP = (1-kfp->Kg) * kfp->Now_P;
|
||||
return kfp->out;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -5,14 +5,43 @@
|
||||
#include "ahrs_lib.h"
|
||||
#include "WaveFiltering_Kalman_Filtering.h"
|
||||
|
||||
KFP kfp={0.02,0,0,0,0.01,0.543};//卡尔曼滤波器结构体
|
||||
|
||||
KFP kfp_Pitch={0.02,0,0,0,0.01,0.543};//陀螺仪Pitch轴卡尔曼滤波器结构体
|
||||
KFP kfp_Yaw={0.02,0,0,0,0.01,0.543};//陀螺仪yaw轴卡尔曼滤波器结构体
|
||||
|
||||
//KFP kfp_Pitch={0.02,0,0,0,0.01,0.96};//陀螺仪Pitch轴卡尔曼滤波器结构体
|
||||
//KFP kfp_Yaw={0.02,0,0,0,0.01,0.96};//陀螺仪yaw轴卡尔曼滤波器结构体
|
||||
|
||||
float AttitudeAlgorithms_q[4];//姿态解算四元数
|
||||
float AttitudeAlgorithms_RadYaw,AttitudeAlgorithms_RadPitch,AttitudeAlgorithms_RadRoll;//弧度制角度
|
||||
float AttitudeAlgorithms_DegYaw,AttitudeAlgorithms_DegPitch,AttitudeAlgorithms_DegRoll;//角度制角度
|
||||
float BMI088_GyroZeroOffset[3];//陀螺仪初始零偏
|
||||
float BMI088_GyroWithoutOffset[3];//消除零偏后的陀螺仪数据
|
||||
float fake_IST8310[3]={0,0,0};
|
||||
|
||||
/*
|
||||
*函数简介:BMI088清除零偏
|
||||
*参数说明:无
|
||||
*返回类型:无
|
||||
*备注:采集前100次数据取平均值消除零偏
|
||||
*/
|
||||
void ZeroOffset_Calibration(void)
|
||||
{
|
||||
|
||||
uint16_t BMI088_CountFlag;
|
||||
for (BMI088_CountFlag=0; BMI088_CountFlag < 1000; BMI088_CountFlag++)
|
||||
{
|
||||
BMI088_GyroZeroOffset[0]=BMI088_GyroZeroOffset[0]+BMI088_Gyro[0];
|
||||
}
|
||||
BMI088_GyroZeroOffset[0]=BMI088_GyroZeroOffset[0]/1000;
|
||||
|
||||
for (BMI088_CountFlag=0; BMI088_CountFlag < 1000; BMI088_CountFlag++)
|
||||
{
|
||||
BMI088_GyroZeroOffset[1]=BMI088_GyroZeroOffset[1]+BMI088_Gyro[1];
|
||||
}
|
||||
BMI088_GyroZeroOffset[1]=BMI088_GyroZeroOffset[1]/1000;
|
||||
|
||||
|
||||
}
|
||||
/*
|
||||
*函数简介:姿态解算初始化
|
||||
*参数说明:无
|
||||
@@ -49,6 +78,8 @@ void AttitudeAlgorithms_Init(void)
|
||||
|
||||
IST8310_Init();//初始化IST8310
|
||||
BMI088_Init();//初始化BMI088
|
||||
|
||||
|
||||
AHRS_init(AttitudeAlgorithms_q,BMI088_Accel,IST8310_MagneticField);//AHRS初始化
|
||||
|
||||
TIM_Cmd(TIM11,ENABLE);//启动定时器
|
||||
@@ -70,7 +101,13 @@ void TIM1_TRG_COM_TIM11_IRQHandler(void)
|
||||
{
|
||||
TIM_ClearITPendingBit(TIM11,TIM_IT_Update);//清除标志位
|
||||
|
||||
AHRS_update(AttitudeAlgorithms_q,0.001f,BMI088_Gyro,BMI088_Accel,IST8310_MagneticField);
|
||||
BMI088_GyroWithoutOffset[0]=BMI088_Gyro[0]+BMI088_GyroZeroOffset[0];
|
||||
BMI088_GyroWithoutOffset[1]=BMI088_Gyro[1]+BMI088_GyroZeroOffset[1];
|
||||
BMI088_GyroWithoutOffset[2]=BMI088_Gyro[2];
|
||||
//debug
|
||||
//AHRS_update(AttitudeAlgorithms_q,0.001f,BMI088_Gyro,BMI088_Accel,IST8310_MagneticField);
|
||||
|
||||
AHRS_update(AttitudeAlgorithms_q,0.001f,BMI088_GyroWithoutOffset,BMI088_Accel,fake_IST8310);
|
||||
get_angle(AttitudeAlgorithms_q,&AttitudeAlgorithms_RadYaw,&AttitudeAlgorithms_RadPitch,&AttitudeAlgorithms_RadRoll);
|
||||
|
||||
AttitudeAlgorithms_LastDegYaw=AttitudeAlgorithms_ThisDegYaw;
|
||||
@@ -78,8 +115,8 @@ void TIM1_TRG_COM_TIM11_IRQHandler(void)
|
||||
AttitudeAlgorithms_DegPitch=AttitudeAlgorithms_RadPitch*57.295779513082320876798154814105f;//转换为角度制
|
||||
AttitudeAlgorithms_DegRoll=AttitudeAlgorithms_RadRoll*57.295779513082320876798154814105f;//转换为角度制
|
||||
|
||||
AttitudeAlgorithms_DegPitch=kalmanFilter(&kfp,AttitudeAlgorithms_DegPitch);
|
||||
AttitudeAlgorithms_DegRoll=kalmanFilter(&kfp,AttitudeAlgorithms_DegRoll);
|
||||
AttitudeAlgorithms_DegPitch=kalmanFilter(&kfp_Pitch,AttitudeAlgorithms_DegPitch);
|
||||
AttitudeAlgorithms_DegRoll=kalmanFilter(&kfp_Yaw,AttitudeAlgorithms_DegRoll);
|
||||
|
||||
|
||||
if(AttitudeAlgorithms_YawFirstFlag==0)//获取带圈数的角度制偏航角
|
||||
|
||||
@@ -5,5 +5,6 @@ extern float AttitudeAlgorithms_RadYaw,AttitudeAlgorithms_RadPitch,AttitudeAlgor
|
||||
extern float AttitudeAlgorithms_DegYaw,AttitudeAlgorithms_DegPitch,AttitudeAlgorithms_DegRoll;//角度制角度
|
||||
|
||||
void AttitudeAlgorithms_Init(void);//姿态解算初始化
|
||||
void ZeroOffset_Calibration(void);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -343,6 +343,7 @@ void BMI088_Init(void)
|
||||
BMI088_SPI_AccelWriteRegister(BMI088_INT1_INT2_MAP_DATA,0x04);BMI088_Delay_us(300);//配置INT1中断映射为数据就绪中断
|
||||
|
||||
BMI088_SPI_GyroWriteRegister(BMI088_GYRO_RANGE,0x00);BMI088_Delay_us(300);//配置陀螺仪量程±2000°/s
|
||||
//BMI088_SPI_GyroWriteRegister(BMI088_GYRO_BANDWIDTH,0x81);BMI088_Delay_us(300);
|
||||
BMI088_SPI_GyroWriteRegister(BMI088_GYRO_BANDWIDTH,0x82);BMI088_Delay_us(300);//配置陀螺仪滤波器带宽116Hz,1000Hz输出(写此寄存器,写入数据最高位需要为1)
|
||||
BMI088_SPI_GyroWriteRegister(BMI088_GYRO_LPM1,0x00);BMI088_Delay_us(300);//配置陀螺仪主电源模式为正常模式
|
||||
BMI088_SPI_GyroWriteRegister(BMI088_GYRO_INT_CTRL,0x80);BMI088_Delay_us(300);//使能陀螺仪数据就绪中断
|
||||
|
||||
Binary file not shown.
@@ -21,77 +21,75 @@ Target DLL: CMSIS_AGDI.dll V1.33.24.0
|
||||
Dialog DLL: TCM.DLL V1.56.6.0
|
||||
|
||||
<h2>Project:</h2>
|
||||
C:\Users\LSMushui\Desktop\RM\New-Infantry-C-Board-Legacy\<5C><>̨\<5C><>̨\Project.uvprojx
|
||||
C:\Users\LSMushui\Desktop\RM\test-rope\<5C><>̨\<5C><>̨\Project.uvprojx
|
||||
Project File Date: 11/02/2025
|
||||
|
||||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\Bin'
|
||||
Rebuild target 'Target 1'
|
||||
assembling startup_stm32f40_41xxx.s...
|
||||
compiling misc.c...
|
||||
compiling system_stm32f4xx.c...
|
||||
compiling misc.c...
|
||||
compiling stm32f4xx_crc.c...
|
||||
compiling stm32f4xx_adc.c...
|
||||
compiling stm32f4xx_cryp_tdes.c...
|
||||
compiling stm32f4xx_cryp.c...
|
||||
compiling stm32f4xx_can.c...
|
||||
compiling stm32f4xx_dcmi.c...
|
||||
compiling stm32f4xx_dsi.c...
|
||||
compiling stm32f4xx_flash_ramfunc.c...
|
||||
compiling stm32f4xx_cryp_aes.c...
|
||||
compiling stm32f4xx_cec.c...
|
||||
compiling stm32f4xx_fmpi2c.c...
|
||||
compiling stm32f4xx_dac.c...
|
||||
compiling stm32f4xx_cryp_des.c...
|
||||
compiling stm32f4xx_dfsdm.c...
|
||||
compiling stm32f4xx_fmpi2c.c...
|
||||
compiling stm32f4xx_cryp_tdes.c...
|
||||
compiling stm32f4xx_can.c...
|
||||
compiling stm32f4xx_cryp.c...
|
||||
compiling stm32f4xx_exti.c...
|
||||
compiling stm32f4xx_dbgmcu.c...
|
||||
compiling stm32f4xx_gpio.c...
|
||||
compiling stm32f4xx_dma2d.c...
|
||||
compiling stm32f4xx_adc.c...
|
||||
compiling stm32f4xx_fsmc.c...
|
||||
compiling stm32f4xx_dbgmcu.c...
|
||||
compiling stm32f4xx_flash_ramfunc.c...
|
||||
compiling stm32f4xx_dfsdm.c...
|
||||
compiling stm32f4xx_dsi.c...
|
||||
compiling stm32f4xx_dac.c...
|
||||
compiling stm32f4xx_gpio.c...
|
||||
compiling stm32f4xx_dma.c...
|
||||
compiling stm32f4xx_dma2d.c...
|
||||
compiling stm32f4xx_flash.c...
|
||||
compiling stm32f4xx_hash_md5.c...
|
||||
compiling stm32f4xx_dcmi.c...
|
||||
compiling stm32f4xx_cryp_aes.c...
|
||||
compiling stm32f4xx_hash.c...
|
||||
compiling stm32f4xx_hash_md5.c...
|
||||
compiling stm32f4xx_hash_sha1.c...
|
||||
compiling stm32f4xx_iwdg.c...
|
||||
compiling stm32f4xx_lptim.c...
|
||||
compiling stm32f4xx_i2c.c...
|
||||
compiling stm32f4xx_iwdg.c...
|
||||
compiling stm32f4xx_pwr.c...
|
||||
compiling stm32f4xx_qspi.c...
|
||||
compiling stm32f4xx_ltdc.c...
|
||||
compiling stm32f4xx_rng.c...
|
||||
compiling stm32f4xx_rcc.c...
|
||||
compiling stm32f4xx_pwr.c...
|
||||
compiling stm32f4xx_ltdc.c...
|
||||
compiling stm32f4xx_sai.c...
|
||||
compiling stm32f4xx_rcc.c...
|
||||
compiling stm32f4xx_sdio.c...
|
||||
compiling stm32f4xx_spdifrx.c...
|
||||
compiling Delay.c...
|
||||
compiling TIM.c...
|
||||
compiling stm32f4xx_syscfg.c...
|
||||
compiling stm32f4xx_wwdg.c...
|
||||
compiling AHRS_middleware.c...
|
||||
compiling user_lib.c...
|
||||
compiling stm32f4xx_spi.c...
|
||||
compiling stm32f4xx_usart.c...
|
||||
compiling UART.c...
|
||||
compiling stm32f4xx_rtc.c...
|
||||
compiling stm32f4xx_syscfg.c...
|
||||
compiling TIM.c...
|
||||
compiling stm32f4xx_spi.c...
|
||||
compiling Delay.c...
|
||||
compiling stm32f4xx_wwdg.c...
|
||||
compiling stm32f4xx_usart.c...
|
||||
compiling AHRS_middleware.c...
|
||||
compiling UART.c...
|
||||
compiling user_lib.c...
|
||||
compiling stm32f4xx_tim.c...
|
||||
compiling MyI2C.c...
|
||||
compiling WaveFiltering_Kalman_Filtering.c...
|
||||
Control\WaveFiltering_Kalman_Filtering.c(13): warning: #177-D: variable "pDst" was declared but never referenced
|
||||
float pDst,pDst1=1.0f;
|
||||
Control\WaveFiltering_Kalman_Filtering.c(13): warning: #177-D: variable "pDst1" was declared but never referenced
|
||||
float pDst,pDst1=1.0f;
|
||||
Control\WaveFiltering_Kalman_Filtering.c(32): warning: #1-D: last line of file ends without a newline
|
||||
|
||||
Control\WaveFiltering_Kalman_Filtering.c: 3 warnings, 0 errors
|
||||
compiling MyI2C.c...
|
||||
Control\WaveFiltering_Kalman_Filtering.c: 2 warnings, 0 errors
|
||||
compiling CAN.c...
|
||||
compiling LED.c...
|
||||
compiling Buzzer.c...
|
||||
compiling CAN.c...
|
||||
compiling Remote.c...
|
||||
compiling IST8310.c...
|
||||
compiling BMI088.c...
|
||||
compiling Laser.c...
|
||||
compiling BMI088.c...
|
||||
compiling M3508.c...
|
||||
compiling GM6020.c...
|
||||
compiling M2006.c...
|
||||
@@ -99,32 +97,32 @@ compiling LinkCheck.c...
|
||||
compiling Warming.c...
|
||||
compiling CToC.c...
|
||||
compiling CloseLoopControl.c...
|
||||
compiling PID.c...
|
||||
compiling AttitudeAlgorithms.c...
|
||||
compiling IMUTemperatureControl.c...
|
||||
compiling PID.c...
|
||||
compiling RefereeSystem.c...
|
||||
compiling Keyboard.c...
|
||||
compiling Gimbal.c...
|
||||
CarBody\Gimbal.c(132): warning: #177-D: variable "lastyaw" was declared but never referenced
|
||||
float use_pitch=0,lastpitch=0,lastyaw=0;
|
||||
CarBody\Gimbal.c: 1 warning, 0 errors
|
||||
compiling Visual.c...
|
||||
CarBody\Visual.c(117): warning: #550-D: variable "Visual_Type" was set but never used
|
||||
CarBody\Visual.c(119): warning: #550-D: variable "Visual_Type" was set but never used
|
||||
char Visual_Type = '\0'; // 存储类型(r/b/u<><75>?
|
||||
CarBody\Visual.c(120): warning: #550-D: variable "Visual_ReceiveFlag" was set but never used
|
||||
CarBody\Visual.c(122): warning: #550-D: variable "Visual_ReceiveFlag" was set but never used
|
||||
uint8_t Visual_ReceiveFlag = 0; // 接收完成标志
|
||||
CarBody\Visual.c(126): warning: #550-D: variable "RxTimeoutTick" was set but never used
|
||||
CarBody\Visual.c(128): warning: #550-D: variable "RxTimeoutTick" was set but never used
|
||||
static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒<E6AFAB><E7A792>?
|
||||
CarBody\Visual.c(290): warning: #1-D: last line of file ends without a newline
|
||||
CarBody\Visual.c(292): warning: #1-D: last line of file ends without a newline
|
||||
*/
|
||||
CarBody\Visual.c(20): warning: #177-D: variable "dataType" was declared but never referenced
|
||||
static char dataType; // 存储类型字段<E5AD97><E6AEB5>?'r'/'b'/'u'<27><>?
|
||||
CarBody\Visual.c: 5 warnings, 0 errors
|
||||
compiling Keyboard.c...
|
||||
compiling stm32f4xx_it.c...
|
||||
compiling main.c...
|
||||
compiling stm32f4xx_it.c...
|
||||
linking...
|
||||
Program Size: Code=32220 RO-data=1372 RW-data=580 ZI-data=3372
|
||||
".\Objects\Project.axf" - 0 Error(s), 9 Warning(s).
|
||||
Program Size: Code=32376 RO-data=1372 RW-data=604 ZI-data=3372
|
||||
".\Objects\Project.axf" - 0 Error(s), 8 Warning(s).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<title>Static Call Graph - [.\Objects\Project.axf]</title></head>
|
||||
<body><HR>
|
||||
<H1>Static Call Graph for image .\Objects\Project.axf</H1><HR>
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Mon Jan 12 16:05:33 2026
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Mar 10 14:28:10 2026
|
||||
<BR><P>
|
||||
<H3>Maximum Stack Usage = 280 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
|
||||
Call chain for Maximum Stack Depth:</H3>
|
||||
@@ -121,7 +121,7 @@ Global Symbols
|
||||
<P><STRONG><a name="[5e]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f40_41xxx.o(.text)
|
||||
</UL>
|
||||
<P><STRONG><a name="[15e]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
|
||||
<P><STRONG><a name="[15f]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
|
||||
|
||||
<P><STRONG><a name="[60]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[61]">>></a> __scatterload
|
||||
@@ -131,17 +131,17 @@ Global Symbols
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[61]">>></a> __scatterload
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[15f]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
|
||||
<P><STRONG><a name="[160]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
|
||||
|
||||
<P><STRONG><a name="[160]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
|
||||
<P><STRONG><a name="[161]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
|
||||
|
||||
<P><STRONG><a name="[161]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
|
||||
<P><STRONG><a name="[162]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
|
||||
|
||||
<P><STRONG><a name="[162]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
|
||||
<P><STRONG><a name="[163]"></a>__rt_lib_shutdown_fini</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))
|
||||
|
||||
<P><STRONG><a name="[163]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
|
||||
<P><STRONG><a name="[164]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))
|
||||
|
||||
<P><STRONG><a name="[164]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
|
||||
<P><STRONG><a name="[165]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))
|
||||
|
||||
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f40_41xxx.o(.text))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f40_41xxx.o(RESET)
|
||||
@@ -368,9 +368,9 @@ Global Symbols
|
||||
<LI><a href="#[64]">>></a> __aeabi_memclr
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[165]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[166]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[166]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[167]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[64]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[65]">>></a> __aeabi_memset
|
||||
@@ -382,7 +382,7 @@ Global Symbols
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[8a]">>></a> AHRS_update
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[167]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[168]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[66]"></a>_memset$wrapper</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[65]">>></a> __aeabi_memset
|
||||
@@ -432,7 +432,7 @@ Global Symbols
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[147]">>></a> Visual_SendData
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[168]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[169]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[15a]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[14d]">>></a> _printf_core
|
||||
@@ -457,7 +457,7 @@ Global Symbols
|
||||
<LI><a href="#[79]">>></a> __aeabi_d2ulz
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[169]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[16a]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[69]"></a>strtol</STRONG> (Thumb, 112 bytes, Stack size 32 bytes, strtol.o(.text))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = strtol ⇒ _strtoul
|
||||
@@ -469,9 +469,9 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[67]">>></a> atoi
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[16a]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[16b]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[16b]"></a>_float_round</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[16c]"></a>_float_round</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[6b]"></a>_float_epilogue</STRONG> (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = _float_epilogue
|
||||
@@ -527,7 +527,7 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[60]">>></a> _main_scatterload
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[16c]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[16d]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[6e]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[73]">>></a> _double_epilogue
|
||||
@@ -535,13 +535,13 @@ Global Symbols
|
||||
<LI><a href="#[79]">>></a> __aeabi_d2ulz
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[16d]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[16e]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[72]"></a>__aeabi_lasr</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[71]">>></a> __aeabi_dadd
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[16e]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[16f]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[6f]"></a>__rt_ctype_table</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, ctype_o.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[69]">>></a> strtol
|
||||
@@ -575,9 +575,9 @@ Global Symbols
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[70]">>></a> _strtoul
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[16f]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[170]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[170]"></a>__decompress1</STRONG> (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[171]"></a>__decompress1</STRONG> (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[7c]"></a>AHRS_asinf</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, ahrs_middleware.o(i.AHRS_asinf))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = AHRS_asinf ⇒ __hardfp_asinf ⇒ sqrtf
|
||||
@@ -1302,7 +1302,7 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[40]">>></a> TIM6_DAC_IRQHandler
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[f2]"></a>Gimbal_PitchControl</STRONG> (Thumb, 540 bytes, Stack size 24 bytes, gimbal.o(i.Gimbal_PitchControl))
|
||||
<P><STRONG><a name="[f2]"></a>Gimbal_PitchControl</STRONG> (Thumb, 444 bytes, Stack size 24 bytes, gimbal.o(i.Gimbal_PitchControl))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Gimbal_PitchControl
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[ea]">>></a> PID_PositionCalc
|
||||
@@ -1319,7 +1319,7 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[f1]">>></a> Gimbal_MoveControl
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[f3]"></a>Gimbal_YawControl</STRONG> (Thumb, 508 bytes, Stack size 8 bytes, gimbal.o(i.Gimbal_YawControl))
|
||||
<P><STRONG><a name="[f3]"></a>Gimbal_YawControl</STRONG> (Thumb, 518 bytes, Stack size 8 bytes, gimbal.o(i.Gimbal_YawControl))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = Gimbal_YawControl ⇒ GM6020_CAN2SetLIDVoltage ⇒ CAN_TransmitStatus
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[ea]">>></a> PID_PositionCalc
|
||||
@@ -1407,7 +1407,7 @@ Global Symbols
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[122]">>></a> Remote_Init
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[15d]"></a>IWDG_ReloadCounter</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f4xx_iwdg.o(i.IWDG_ReloadCounter))
|
||||
<P><STRONG><a name="[15e]"></a>IWDG_ReloadCounter</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f4xx_iwdg.o(i.IWDG_ReloadCounter))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[5c]">>></a> main
|
||||
</UL>
|
||||
|
||||
@@ -2038,7 +2038,7 @@ Global Symbols
|
||||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f40_41xxx.o(.text)
|
||||
</UL>
|
||||
<P><STRONG><a name="[24]"></a>TIM1_TRG_COM_TIM11_IRQHandler</STRONG> (Thumb, 308 bytes, Stack size 8 bytes, attitudealgorithms.o(i.TIM1_TRG_COM_TIM11_IRQHandler))
|
||||
<P><STRONG><a name="[24]"></a>TIM1_TRG_COM_TIM11_IRQHandler</STRONG> (Thumb, 366 bytes, Stack size 8 bytes, attitudealgorithms.o(i.TIM1_TRG_COM_TIM11_IRQHandler))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 280<LI>Call Chain = TIM1_TRG_COM_TIM11_IRQHandler ⇒ AHRS_update ⇒ accel_comple_filter ⇒ accel_update_kp_ki ⇒ AHRS_invSqrt ⇒ __hardfp_sqrtf
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[12f]">>></a> TIM_GetITStatus
|
||||
@@ -2342,8 +2342,8 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[5c]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[147]"></a>Visual_SendData</STRONG> (Thumb, 86 bytes, Stack size 32 bytes, visual.o(i.Visual_SendData))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = Visual_SendData ⇒ UART2_Printf ⇒ UART2_SendString ⇒ UART2_SendByte
|
||||
<P><STRONG><a name="[147]"></a>Visual_SendData</STRONG> (Thumb, 116 bytes, Stack size 24 bytes, visual.o(i.Visual_SendData))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 176<LI>Call Chain = Visual_SendData ⇒ UART2_Printf ⇒ UART2_SendString ⇒ UART2_SendByte
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[137]">>></a> UART2_Printf
|
||||
<LI><a href="#[148]">>></a> __aeabi_f2d
|
||||
@@ -2453,16 +2453,20 @@ Global Symbols
|
||||
<BR>[Called By]<UL><LI><a href="#[41]">>></a> TIM7_IRQHandler
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[15d]"></a>ZeroOffset_Calibration</STRONG> (Thumb, 110 bytes, Stack size 0 bytes, attitudealgorithms.o(i.ZeroOffset_Calibration))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[5c]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[14c]"></a>__0vsprintf</STRONG> (Thumb, 30 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[5f]">>></a> _sputc
|
||||
<LI><a href="#[14d]">>></a> _printf_core
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[171]"></a>__1vsprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)
|
||||
<P><STRONG><a name="[172]"></a>__1vsprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[172]"></a>__2vsprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)
|
||||
<P><STRONG><a name="[173]"></a>__2vsprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[173]"></a>__c89vsprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)
|
||||
<P><STRONG><a name="[174]"></a>__c89vsprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[138]"></a>vsprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsprintf))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = vsprintf
|
||||
@@ -2482,7 +2486,7 @@ Global Symbols
|
||||
<LI><a href="#[67]">>></a> atoi
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[174]"></a>__rt_errno_addr</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, errno.o(i.__aeabi_errno_addr), UNUSED)
|
||||
<P><STRONG><a name="[175]"></a>__rt_errno_addr</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, errno.o(i.__aeabi_errno_addr), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[7d]"></a>__hardfp_asinf</STRONG> (Thumb, 258 bytes, Stack size 16 bytes, asinf.o(i.__hardfp_asinf))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __hardfp_asinf ⇒ sqrtf
|
||||
@@ -2569,11 +2573,11 @@ Global Symbols
|
||||
<LI><a href="#[81]">>></a> __hardfp_cosf
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[175]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
|
||||
<P><STRONG><a name="[176]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[176]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
|
||||
<P><STRONG><a name="[177]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[177]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
|
||||
<P><STRONG><a name="[178]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[152]"></a>__set_errno</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, errno.o(i.__set_errno))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[14e]">>></a> sqrtf
|
||||
@@ -2597,16 +2601,17 @@ Global Symbols
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[24]">>></a> TIM1_TRG_COM_TIM11_IRQHandler
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5c]"></a>main</STRONG> (Thumb, 132 bytes, Stack size 0 bytes, main.o(i.main))
|
||||
<P><STRONG><a name="[5c]"></a>main</STRONG> (Thumb, 142 bytes, Stack size 0 bytes, main.o(i.main))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 204<LI>Call Chain = main ⇒ AttitudeAlgorithms_Init ⇒ AHRS_init ⇒ angle_to_quat ⇒ AHRS_sinf ⇒ __hardfp_sinf ⇒ __mathlib_rredf2
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[15d]">>></a> IWDG_ReloadCounter
|
||||
<BR>[Calls]<UL><LI><a href="#[15e]">>></a> IWDG_ReloadCounter
|
||||
<LI><a href="#[122]">>></a> Remote_Init
|
||||
<LI><a href="#[107]">>></a> LED_BON
|
||||
<LI><a href="#[137]">>></a> UART2_Printf
|
||||
<LI><a href="#[df]">>></a> Delay_us
|
||||
<LI><a href="#[e0]">>></a> Delay_s
|
||||
<LI><a href="#[11b]">>></a> RefereeSystem_Init
|
||||
<LI><a href="#[15d]">>></a> ZeroOffset_Calibration
|
||||
<LI><a href="#[8f]">>></a> AttitudeAlgorithms_Init
|
||||
<LI><a href="#[d7]">>></a> CloseLoopControl_Init
|
||||
<LI><a href="#[d6]">>></a> CToC_MasterSendData
|
||||
|
||||
@@ -1926,7 +1926,7 @@ I (.\System\UART.h)(0x669D08B6)
|
||||
I (.\Library\stm32f4xx_pwr.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rcc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rtc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_sdio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_sdio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_spi.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_syscfg.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_tim.h)(0x64D03164)
|
||||
@@ -2273,7 +2273,7 @@ I (.\Library\stm32f4xx_dcmi.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_flash.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_gpio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_i2c.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_iwdg.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_iwdg.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_pwr.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rcc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rtc.h)(0x64D03164)
|
||||
@@ -2318,7 +2318,7 @@ I (Function\Warming.h)(0x66A19ADE)
|
||||
I (.\Library\stm32f4xx_gpio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_i2c.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_iwdg.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_pwr.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_pwr.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rcc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rtc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_sdio.h)(0x64D03164)
|
||||
@@ -2360,7 +2360,7 @@ I (.\AHRS\AHRS_MiddleWare.h)(0x64E14258)
|
||||
I (.\Library\stm32f4xx_dma.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_exti.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_flash.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_gpio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_gpio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_i2c.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_iwdg.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_pwr.h)(0x64D03164)
|
||||
@@ -2437,12 +2437,12 @@ I (.\Library\stm32f4xx_dcmi.h)(0x64D03164)
|
||||
I (C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2)
|
||||
I (.\Start\core_cmInstr.h)(0x64D03162)
|
||||
I (.\Start\core_cmFunc.h)(0x64D03162)
|
||||
I (.\Start\core_cmSimd.h)(0x64D03162)
|
||||
I (.\Start\core_cmSimd.h)(0x64D03162)
|
||||
I (.\Start\system_stm32f4xx.h)(0x64D03132)
|
||||
I (.\User\stm32f4xx_conf.h)(0x64D03180)
|
||||
I (.\Library\stm32f4xx_adc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_crc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dbgmcu.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dbgmcu.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dma.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_exti.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_flash.h)(0x64D03164)
|
||||
@@ -2477,10 +2477,10 @@ I (.\Library\stm32f4xx_can.h)(0x64D03164)
|
||||
|
||||
-o .\objects\m2006.o --omf_browse .\objects\m2006.crf --depend .\objects\m2006.d)
|
||||
I (.\Start\stm32f4xx.h)(0x66256792)
|
||||
I (.\Start\core_cm4.h)(0x64D03162)
|
||||
I (.\Start\core_cm4.h)(0x64D03162)
|
||||
I (C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2)
|
||||
I (.\Start\core_cmInstr.h)(0x64D03162)
|
||||
I (.\Start\core_cmFunc.h)(0x64D03162)
|
||||
I (.\Start\core_cmFunc.h)(0x64D03162)
|
||||
I (.\Start\core_cmSimd.h)(0x64D03162)
|
||||
I (.\Start\system_stm32f4xx.h)(0x64D03132)
|
||||
I (.\User\stm32f4xx_conf.h)(0x64D03180)
|
||||
@@ -2531,7 +2531,7 @@ I (.\Function\Warming.h)(0x66A19ADE)
|
||||
I (.\Library\stm32f4xx_crc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dbgmcu.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dma.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_exti.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_exti.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_flash.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_gpio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_i2c.h)(0x64D03164)
|
||||
@@ -2569,7 +2569,7 @@ I (.\Library\stm32f4xx_fsmc.h)(0x64D03164)
|
||||
I (.\Start\core_cm4.h)(0x64D03162)
|
||||
I (C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2)
|
||||
I (.\Start\core_cmInstr.h)(0x64D03162)
|
||||
I (.\Start\core_cmFunc.h)(0x64D03162)
|
||||
I (.\Start\core_cmFunc.h)(0x64D03162)
|
||||
I (.\Start\core_cmSimd.h)(0x64D03162)
|
||||
I (.\Start\system_stm32f4xx.h)(0x64D03132)
|
||||
I (.\User\stm32f4xx_conf.h)(0x64D03180)
|
||||
@@ -2616,7 +2616,7 @@ I (.\Library\stm32f4xx_fsmc.h)(0x64D03164)
|
||||
|
||||
-o .\objects\ctoc.o --omf_browse .\objects\ctoc.crf --depend .\objects\ctoc.d)
|
||||
I (.\Start\stm32f4xx.h)(0x66256792)
|
||||
I (.\Start\core_cm4.h)(0x64D03162)
|
||||
I (.\Start\core_cm4.h)(0x64D03162)
|
||||
I (C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5E8E3CC2)
|
||||
I (.\Start\core_cmInstr.h)(0x64D03162)
|
||||
I (.\Start\core_cmFunc.h)(0x64D03162)
|
||||
@@ -2672,15 +2672,15 @@ I (.\Function\LinkCheck.h)(0x65FBCE1A)
|
||||
I (.\Library\stm32f4xx_adc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_crc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dbgmcu.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dma.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dma.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_exti.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_flash.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_flash.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_gpio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_i2c.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_iwdg.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_pwr.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rcc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rtc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_rtc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_sdio.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_spi.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_syscfg.h)(0x64D03164)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -4,9 +4,9 @@
|
||||
/*=============================================结构参数=============================================*/
|
||||
#define Yaw_GM6020PositionValue 4000//Yaw轴编码器值4050
|
||||
#define Pitch_GM6020PositionValue 3245//Pitch轴编码器值
|
||||
#define Pitch_GM6020PositionLowerLinit 3665//Pitch轴编码器值下限
|
||||
#define Pitch_GM6020PositionUpperLinit 2565//Pitch轴编码器值上限
|
||||
#define Pitch_GM6020AngleLowerLinit 15.0f//Pitch轴编码器值下限
|
||||
#define Pitch_GM6020PositionLowerLinit 3990//Pitch轴编码器值下限
|
||||
#define Pitch_GM6020PositionUpperLinit 2220//Pitch轴编码器值上限
|
||||
#define Pitch_GM6020AngleLowerLinit 20.0f//Pitch轴编码器值下限
|
||||
#define Pitch_GM6020AngleUpperLinit -10.0f//Pitch轴编码器值上限
|
||||
|
||||
/*=============================================云台参数=============================================*/
|
||||
|
||||
@@ -17,7 +17,9 @@ int main(void)
|
||||
{
|
||||
Warming_Init();//报警初始化
|
||||
LED_BON();//蓝灯点亮表示代码在运行
|
||||
Delay_s(1);//等待车身稳定以便于陀螺仪消除零偏
|
||||
AttitudeAlgorithms_Init();//姿态解算初始化
|
||||
ZeroOffset_Calibration();//零偏校准
|
||||
Delay_s(1);//延时,等待校准和模块启动
|
||||
LinkCheck_Init();//连接检测初始化
|
||||
RefereeSystem_Init();//图传链路初始化
|
||||
@@ -40,11 +42,7 @@ int main(void)
|
||||
CToC_MasterSendData();//CToC发送遥控器摇杆数据
|
||||
|
||||
|
||||
<<<<<<< HEAD
|
||||
Visual_SendData();//开启串口调试
|
||||
=======
|
||||
Visual_SendData();
|
||||
>>>>>>> a6eb3f5ed5724a064e8286c2f8cd26fa9d4816e5
|
||||
|
||||
|
||||
if(Delay_Count) //每次大循环只执行一次
|
||||
|
||||
25
底盘/底盘/.vscode/c_cpp_properties.json
vendored
25
底盘/底盘/.vscode/c_cpp_properties.json
vendored
@@ -100,21 +100,16 @@
|
||||
{
|
||||
"name": "Target 1",
|
||||
"includePath": [
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\Start",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\Library",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\System",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\Algorithm",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\Hardware",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\Motor",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\Function",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\Control",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\CarBody",
|
||||
"f:\\桌面\\V1.0\\new-infantry\\底盘\\底盘\\User",
|
||||
"C:\\Keil_v5\\ARM\\ARMCC\\include",
|
||||
"C:\\Keil_v5\\ARM\\ARMCC\\include\\arm_linux",
|
||||
"C:\\Keil_v5\\ARM\\ARMCC\\include\\arm_linux_compat",
|
||||
"C:\\Keil_v5\\ARM\\ARMCC\\include\\libcxx",
|
||||
"C:\\Keil_v5\\ARM\\ARMCC\\include\\rw"
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\Start",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\Library",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\System",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\Algorithm",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\Hardware",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\Motor",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\Function",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\Control",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\CarBody",
|
||||
"c:\\Users\\LSMushui\\Desktop\\RM\\New-Infantry-C-Board-Legacy\\底盘\\底盘\\User"
|
||||
],
|
||||
"defines": [
|
||||
"USE_STDPERIPH_DRIVER",
|
||||
|
||||
2
底盘/底盘/.vscode/keil-assistant.log
vendored
2
底盘/底盘/.vscode/keil-assistant.log
vendored
@@ -29,3 +29,5 @@
|
||||
|
||||
[info] Log at : 2025/10/17|12:12:21|GMT+0800
|
||||
|
||||
[info] Log at : 2026/2/1|21:52:40|GMT+0800
|
||||
|
||||
|
||||
Binary file not shown.
@@ -29,69 +29,69 @@ Project File Date: 11/02/2025
|
||||
Rebuild target 'Target 1'
|
||||
assembling startup_stm32f40_41xxx.s...
|
||||
compiling misc.c...
|
||||
compiling stm32f4xx_dbgmcu.c...
|
||||
compiling stm32f4xx_dfsdm.c...
|
||||
compiling stm32f4xx_cryp_tdes.c...
|
||||
compiling system_stm32f4xx.c...
|
||||
compiling stm32f4xx_cryp.c...
|
||||
compiling stm32f4xx_adc.c...
|
||||
compiling stm32f4xx_can.c...
|
||||
compiling stm32f4xx_dma2d.c...
|
||||
compiling stm32f4xx_dsi.c...
|
||||
compiling stm32f4xx_dcmi.c...
|
||||
compiling stm32f4xx_flash_ramfunc.c...
|
||||
compiling stm32f4xx_cryp_des.c...
|
||||
compiling stm32f4xx_cec.c...
|
||||
compiling stm32f4xx_cryp_aes.c...
|
||||
compiling stm32f4xx_fmpi2c.c...
|
||||
compiling stm32f4xx_gpio.c...
|
||||
compiling stm32f4xx_exti.c...
|
||||
compiling stm32f4xx_crc.c...
|
||||
compiling stm32f4xx_fsmc.c...
|
||||
compiling stm32f4xx_flash.c...
|
||||
compiling stm32f4xx_dcmi.c...
|
||||
compiling stm32f4xx_dac.c...
|
||||
compiling stm32f4xx_fsmc.c...
|
||||
compiling stm32f4xx_crc.c...
|
||||
compiling system_stm32f4xx.c...
|
||||
compiling stm32f4xx_cryp_tdes.c...
|
||||
compiling stm32f4xx_cryp.c...
|
||||
compiling stm32f4xx_flash_ramfunc.c...
|
||||
compiling stm32f4xx_cec.c...
|
||||
compiling stm32f4xx_fmpi2c.c...
|
||||
compiling stm32f4xx_dsi.c...
|
||||
compiling stm32f4xx_dbgmcu.c...
|
||||
compiling stm32f4xx_exti.c...
|
||||
compiling stm32f4xx_dfsdm.c...
|
||||
compiling stm32f4xx_cryp_des.c...
|
||||
compiling stm32f4xx_dma2d.c...
|
||||
compiling stm32f4xx_gpio.c...
|
||||
compiling stm32f4xx_dma.c...
|
||||
compiling stm32f4xx_cryp_aes.c...
|
||||
compiling stm32f4xx_hash.c...
|
||||
compiling stm32f4xx_hash_md5.c...
|
||||
compiling stm32f4xx_iwdg.c...
|
||||
compiling stm32f4xx_hash_sha1.c...
|
||||
compiling stm32f4xx_hash_md5.c...
|
||||
compiling stm32f4xx_i2c.c...
|
||||
compiling stm32f4xx_iwdg.c...
|
||||
compiling stm32f4xx_lptim.c...
|
||||
compiling stm32f4xx_pwr.c...
|
||||
compiling stm32f4xx_qspi.c...
|
||||
compiling stm32f4xx_ltdc.c...
|
||||
compiling stm32f4xx_rng.c...
|
||||
compiling stm32f4xx_rcc.c...
|
||||
compiling stm32f4xx_sai.c...
|
||||
compiling stm32f4xx_spdifrx.c...
|
||||
compiling Delay.c...
|
||||
compiling TIM.c...
|
||||
compiling stm32f4xx_syscfg.c...
|
||||
compiling stm32f4xx_wwdg.c...
|
||||
compiling stm32f4xx_rtc.c...
|
||||
compiling stm32f4xx_spi.c...
|
||||
compiling stm32f4xx_sdio.c...
|
||||
compiling UART.c...
|
||||
compiling stm32f4xx_sai.c...
|
||||
compiling stm32f4xx_wwdg.c...
|
||||
compiling stm32f4xx_spi.c...
|
||||
compiling TIM.c...
|
||||
compiling Delay.c...
|
||||
compiling stm32f4xx_rcc.c...
|
||||
compiling stm32f4xx_usart.c...
|
||||
compiling CAN.c...
|
||||
compiling stm32f4xx_rtc.c...
|
||||
compiling stm32f4xx_tim.c...
|
||||
compiling UART.c...
|
||||
compiling LED.c...
|
||||
compiling Buzzer.c...
|
||||
compiling CAN.c...
|
||||
compiling Remote.c...
|
||||
compiling GM6020.c...
|
||||
compiling CToC.c...
|
||||
compiling M3508.c...
|
||||
compiling GM6020.c...
|
||||
compiling Warming.c...
|
||||
compiling LinkCheck.c...
|
||||
compiling CloseLoopControl.c...
|
||||
compiling CToC.c...
|
||||
compiling PID.c...
|
||||
compiling RefereeSystem.c...
|
||||
compiling Mecanum.c...
|
||||
compiling RefereeSystem_CRCTable.c...
|
||||
compiling UI.c...
|
||||
compiling Ultra_CAP.c...
|
||||
compiling UI_Base.c...
|
||||
compiling Mecanum.c...
|
||||
compiling UI.c...
|
||||
compiling stm32f4xx_it.c...
|
||||
compiling UI_Base.c...
|
||||
compiling main.c...
|
||||
compiling UI_Library.c...
|
||||
linking...
|
||||
@@ -108,7 +108,7 @@ Package Vendor: Keil
|
||||
<h2>Collection of Component include folders:</h2>
|
||||
|
||||
<h2>Collection of Component Files used:</h2>
|
||||
Build Time Elapsed: 00:00:04
|
||||
Build Time Elapsed: 00:00:05
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<title>Static Call Graph - [.\Objects\Project.axf]</title></head>
|
||||
<body><HR>
|
||||
<H1>Static Call Graph for image .\Objects\Project.axf</H1><HR>
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sun Nov 02 21:03:24 2025
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Wed Jan 21 18:47:23 2026
|
||||
<BR><P>
|
||||
<H3>Maximum Stack Usage = 232 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
|
||||
Call chain for Maximum Stack Depth:</H3>
|
||||
|
||||
@@ -2407,7 +2407,7 @@ I (CarBody\UI_Base.h)(0x664C499A)
|
||||
I (.\User\stm32f4xx_conf.h)(0x64D03180)
|
||||
I (.\Library\stm32f4xx_adc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_crc.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dbgmcu.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dbgmcu.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_dma.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_exti.h)(0x64D03164)
|
||||
I (.\Library\stm32f4xx_flash.h)(0x64D03164)
|
||||
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1975,7 +1975,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>User</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
|
||||
@@ -7,7 +7,7 @@ int main()
|
||||
{
|
||||
Warming_Init();//报警初始化
|
||||
LED_BON();//蓝灯点亮表示代码在运行
|
||||
Delay_s(2);//延时,等待校准和模块启动
|
||||
Delay_s(4);//延时,等待校准和模块启动
|
||||
RefereeSystem_Init();//裁判系统数据接收初始化
|
||||
LinkCheck_Init();//连接检测初始化
|
||||
Ultra_CAP_Init();//超电初始化
|
||||
|
||||
Reference in New Issue
Block a user