减小了p,让set不至于很大
This commit is contained in:
parent
7bc41dbeaf
commit
f2939c9a46
@ -56,6 +56,7 @@ void SysTick_Handler(void);
|
||||
void EXTI0_IRQHandler(void);
|
||||
void EXTI4_IRQHandler(void);
|
||||
void DMA1_Stream1_IRQHandler(void);
|
||||
void CAN1_TX_IRQHandler(void);
|
||||
void CAN1_RX0_IRQHandler(void);
|
||||
void CAN1_RX1_IRQHandler(void);
|
||||
void EXTI9_5_IRQHandler(void);
|
||||
|
||||
@ -42,8 +42,8 @@ void MX_CAN1_Init(void)
|
||||
hcan1.Init.Prescaler = 3;
|
||||
hcan1.Init.Mode = CAN_MODE_NORMAL;
|
||||
hcan1.Init.SyncJumpWidth = CAN_SJW_1TQ;
|
||||
hcan1.Init.TimeSeg1 = CAN_BS1_6TQ;
|
||||
hcan1.Init.TimeSeg2 = CAN_BS2_7TQ;
|
||||
hcan1.Init.TimeSeg1 = CAN_BS1_10TQ;
|
||||
hcan1.Init.TimeSeg2 = CAN_BS2_3TQ;
|
||||
hcan1.Init.TimeTriggeredMode = DISABLE;
|
||||
hcan1.Init.AutoBusOff = DISABLE;
|
||||
hcan1.Init.AutoWakeUp = DISABLE;
|
||||
@ -122,6 +122,8 @@ void HAL_CAN_MspInit(CAN_HandleTypeDef* canHandle)
|
||||
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||
|
||||
/* CAN1 interrupt Init */
|
||||
HAL_NVIC_SetPriority(CAN1_TX_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(CAN1_TX_IRQn);
|
||||
HAL_NVIC_SetPriority(CAN1_RX0_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn);
|
||||
HAL_NVIC_SetPriority(CAN1_RX1_IRQn, 5, 0);
|
||||
@ -186,6 +188,7 @@ void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle)
|
||||
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_0|GPIO_PIN_1);
|
||||
|
||||
/* CAN1 interrupt Deinit */
|
||||
HAL_NVIC_DisableIRQ(CAN1_TX_IRQn);
|
||||
HAL_NVIC_DisableIRQ(CAN1_RX0_IRQn);
|
||||
HAL_NVIC_DisableIRQ(CAN1_RX1_IRQn);
|
||||
/* USER CODE BEGIN CAN1_MspDeInit 1 */
|
||||
|
||||
@ -149,7 +149,7 @@ void SystemClock_Config(void)
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||
RCC_OscInitStruct.PLL.PLLM = 6;
|
||||
RCC_OscInitStruct.PLL.PLLN = 72;
|
||||
RCC_OscInitStruct.PLL.PLLN = 168;
|
||||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
||||
RCC_OscInitStruct.PLL.PLLQ = 4;
|
||||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
|
||||
@ -163,10 +163,10 @@ void SystemClock_Config(void)
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
|
||||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
||||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
|
||||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
|
||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
|
||||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
|
||||
|
||||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
|
||||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
@ -236,6 +236,20 @@ void DMA1_Stream1_IRQHandler(void)
|
||||
/* USER CODE END DMA1_Stream1_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles CAN1 TX interrupts.
|
||||
*/
|
||||
void CAN1_TX_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN CAN1_TX_IRQn 0 */
|
||||
|
||||
/* USER CODE END CAN1_TX_IRQn 0 */
|
||||
HAL_CAN_IRQHandler(&hcan1);
|
||||
/* USER CODE BEGIN CAN1_TX_IRQn 1 */
|
||||
|
||||
/* USER CODE END CAN1_TX_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles CAN1 RX0 interrupts.
|
||||
*/
|
||||
@ -302,7 +316,7 @@ void USART1_IRQHandler(void)
|
||||
// /* USER CODE END USART3_IRQn 0 */
|
||||
// HAL_UART_IRQHandler(&huart3);
|
||||
// /* USER CODE BEGIN USART3_IRQn 1 */
|
||||
//////// BSP_UART_IRQHandler(&huart3);
|
||||
////////// BSP_UART_IRQHandler(&huart3);
|
||||
|
||||
// /* USER CODE END USART3_IRQn 1 */
|
||||
//}
|
||||
|
||||
4
MDK-ARM/.vscode/keil-assistant.log
vendored
4
MDK-ARM/.vscode/keil-assistant.log
vendored
@ -6,3 +6,7 @@
|
||||
|
||||
[info] Log at : 2025/10/17|20:08:11|GMT+0800
|
||||
|
||||
[info] Log at : 2025/10/19|16:41:15|GMT+0800
|
||||
|
||||
[info] Log at : 2025/10/19|16:44:00|GMT+0800
|
||||
|
||||
|
||||
2
MDK-ARM/.vscode/uv4.log
vendored
2
MDK-ARM/.vscode/uv4.log
vendored
@ -1,4 +1,4 @@
|
||||
*** Using Compiler 'V6.7', folder: 'D:\keil\ARM\ARMCLANG\Bin'
|
||||
Build target 'zzzzh'
|
||||
"zzzzh\zzzzh.axf" - 0 Error(s), 0 Warning(s).
|
||||
Build Time Elapsed: 00:00:02
|
||||
Build Time Elapsed: 00:00:05
|
||||
|
||||
2
MDK-ARM/.vscode/uv4.log.lock
vendored
2
MDK-ARM/.vscode/uv4.log.lock
vendored
@ -1 +1 @@
|
||||
2025/10/17 20:08:32
|
||||
2025/10/19 16:41:29
|
||||
File diff suppressed because one or more lines are too long
@ -101,7 +101,7 @@
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<nTsel>5</nTsel>
|
||||
<nTsel>2</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
@ -112,7 +112,7 @@
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
<pMon>BIN\CMSIS_AGDI.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
@ -143,7 +143,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGUARM</Key>
|
||||
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@ -161,20 +161,15 @@
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>dr16,0x0A</ItemText>
|
||||
<ItemText>bmi088,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>bmi088,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>2</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>imu_eulr,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>3</count>
|
||||
<count>2</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>imu_temp_pid_param</ItemText>
|
||||
</Ww>
|
||||
@ -183,27 +178,22 @@
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>2</WinNumber>
|
||||
<ItemText>dr16,0x0A</ItemText>
|
||||
<ItemText>chassis_fb,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
<WinNumber>2</WinNumber>
|
||||
<ItemText>chassis_fb</ItemText>
|
||||
<ItemText>chassis_cmd,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>2</count>
|
||||
<WinNumber>2</WinNumber>
|
||||
<ItemText>cmd_to_chassis</ItemText>
|
||||
<ItemText>dr16,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>3</count>
|
||||
<WinNumber>2</WinNumber>
|
||||
<ItemText>chassis</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>4</count>
|
||||
<WinNumber>2</WinNumber>
|
||||
<ItemText>\\zzzzh\../User/task/test.c\chassis.limit</ItemText>
|
||||
<ItemText>chassis,0x0A</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow2>
|
||||
<Tracepoint>
|
||||
|
||||
@ -81,7 +81,7 @@
|
||||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>1</RunUserProg2>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
|
||||
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.
Binary file not shown.
@ -17,12 +17,12 @@ Library Manager: ArmAr.exe V6.7
|
||||
Hex Converter: FromElf.exe V6.7
|
||||
CPU DLL: SARMCM3.DLL V5.24.1
|
||||
Dialog DLL: DCM.DLL V1.16.0.0
|
||||
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.1.0
|
||||
Target DLL: CMSIS_AGDI.dll V1.28.3.0
|
||||
Dialog DLL: TCM.DLL V1.32.0.0
|
||||
|
||||
<h2>Project:</h2>
|
||||
c:\Users\ÕÅÐÞÒÕ\Desktop\chassis\MDK-ARM\zzzzh.uvprojx
|
||||
Project File Date: 10/14/2025
|
||||
C:\Users\ÕÅÐÞÒÕ\Desktop\chassis\MDK-ARM\zzzzh.uvprojx
|
||||
Project File Date: 10/19/2025
|
||||
|
||||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V6.7', folder: 'D:\keil\ARM\ARMCLANG\Bin'
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
Dependencies for Project 'zzzzh', Target 'zzzzh': (DO NOT MODIFY !)
|
||||
F (startup_stm32f407xx.s)(0x68DDDE44)(--cpu Cortex-M4.fp -g --pd "__MICROLIB SETA 1" -I ../Core/Inc
-I.\RTE\_zzzzh
-ID:\keil\ARM\PACK\ARM\CMSIS\5.0.1\CMSIS\Include
-ID:\keil\ARM\PACK\Keil\STM32F4xx_DFP\2.14.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include
--pd "__UVISION_VERSION SETA 524"
--pd "_RTE_ SETA 1"
--pd "STM32F407xx SETA 1"
--list startup_stm32f407xx.lst
--xref -o zzzzh\startup_stm32f407xx.o
--depend zzzzh\startup_stm32f407xx.d)
|
||||
F (../Core/Src/main.c)(0x68EE5A28)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/main.o -MD)
|
||||
F (../Core/Src/main.c)(0x68F4EE3E)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/main.o -MD)
|
||||
I (..\Core\Inc\main.h)(0x68EE5A28)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68C65E52)
|
||||
I (..\Core\Inc\stm32f4xx_hal_conf.h)(0x68EE5A28)
|
||||
@ -133,7 +133,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os.h)(0x68C65D
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68C65D59)
|
||||
I (..\User\task\user_task.h)(0x68ECF321)
|
||||
I (..\User\module\config.h)(0x68DCDCE8)
|
||||
I (..\User\module\chassis.h)(0x68ECF095)
|
||||
I (..\User\module\chassis.h)(0x68F49369)
|
||||
I (..\User\bsp\can.h)(0x68EE5C62)
|
||||
I (..\Core\Inc\can.h)(0x68EE5A24)
|
||||
I (..\User\bsp\bsp.h)(0x68EE5C62)
|
||||
@ -149,7 +149,7 @@ I (..\User\component\ahrs.h)(0x68EE5C62)
|
||||
I (..\User\device\motor_rm.h)(0x68EE5C18)
|
||||
I (..\User\device\motor.h)(0x68EE5C18)
|
||||
I (..\User\device\device.h)(0x68EE5C63)
|
||||
F (../Core/Src/can.c)(0x68EE5A24)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/can.o -MD)
|
||||
F (../Core/Src/can.c)(0x68F4EE3C)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/can.o -MD)
|
||||
I (..\Core\Inc\can.h)(0x68EE5A24)
|
||||
I (..\Core\Inc\main.h)(0x68EE5A28)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68C65E52)
|
||||
@ -324,7 +324,7 @@ I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x68C65E52)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x68C65E52)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x68C65E52)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68C65E52)
|
||||
F (../Core/Src/stm32f4xx_it.c)(0x68EE5D60)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/stm32f4xx_it.o -MD)
|
||||
F (../Core/Src/stm32f4xx_it.c)(0x68F4EEE9)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/stm32f4xx_it.o -MD)
|
||||
I (..\Core\Inc\main.h)(0x68EE5A28)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h)(0x68C65E52)
|
||||
I (..\Core\Inc\stm32f4xx_hal_conf.h)(0x68EE5A28)
|
||||
@ -358,7 +358,7 @@ I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_spi.h)(0x68C65E52)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim.h)(0x68C65E52)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_tim_ex.h)(0x68C65E52)
|
||||
I (..\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal_uart.h)(0x68C65E52)
|
||||
I (..\Core\Inc\stm32f4xx_it.h)(0x68EE5D60)
|
||||
I (..\Core\Inc\stm32f4xx_it.h)(0x68F4EEE9)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h)(0x68C65D59)
|
||||
I (..\Core\Inc\FreeRTOSConfig.h)(0x68EE5A24)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h)(0x68C65D59)
|
||||
@ -1963,10 +1963,10 @@ I (D:\keil\ARM\ARMCLANG\include\stdbool.h)(0x588CAFD2)
|
||||
I (D:\keil\ARM\ARMCLANG\include\stdint.h)(0x588CAFD2)
|
||||
I (D:\keil\ARM\ARMCLANG\include\stddef.h)(0x588CAFD2)
|
||||
I (D:\keil\ARM\ARMCLANG\include\string.h)(0x588CAFD2)
|
||||
F (..\User\module\config.c)(0x68DDDFDF)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/config.o -MD)
|
||||
F (..\User\module\config.c)(0x68F78F25)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/config.o -MD)
|
||||
I (..\User\module\config.h)(0x68DCDCE8)
|
||||
I (D:\keil\ARM\ARMCLANG\include\stdint.h)(0x588CAFD2)
|
||||
I (..\User\module\chassis.h)(0x68ECF095)
|
||||
I (..\User\module\chassis.h)(0x68F49369)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68C65D59)
|
||||
I (D:\keil\ARM\ARMCLANG\include\stddef.h)(0x588CAFD2)
|
||||
I (..\User\bsp\can.h)(0x68EE5C62)
|
||||
@ -2025,7 +2025,7 @@ I (..\User\component\ahrs.h)(0x68EE5C62)
|
||||
I (..\User\device\motor_rm.h)(0x68EE5C18)
|
||||
I (..\User\device\motor.h)(0x68EE5C18)
|
||||
I (..\User\device\device.h)(0x68EE5C63)
|
||||
F (..\User\module\chassis.c)(0x68F22AA4)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/chassis.o -MD)
|
||||
F (..\User\module\chassis.c)(0x68F647A9)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/chassis.o -MD)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68C65D59)
|
||||
I (D:\keil\ARM\ARMCLANG\include\stdint.h)(0x588CAFD2)
|
||||
I (D:\keil\ARM\ARMCLANG\include\stddef.h)(0x588CAFD2)
|
||||
@ -2083,7 +2083,7 @@ I (D:\keil\ARM\ARMCLANG\include\math.h)(0x58A47FFE)
|
||||
I (..\User\device\motor_rm.h)(0x68EE5C18)
|
||||
I (..\User\device\motor.h)(0x68EE5C18)
|
||||
I (..\User\device\device.h)(0x68EE5C63)
|
||||
I (..\User\module\chassis.h)(0x68ECF095)
|
||||
I (..\User\module\chassis.h)(0x68F49369)
|
||||
I (..\User\component\filter.h)(0x68EE5C62)
|
||||
I (..\User\component\mixer.h)(0x68EE5C62)
|
||||
I (..\User\component\pid.h)(0x68EE5C62)
|
||||
@ -2102,7 +2102,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68C65D59
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68C65D59)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68C65D59)
|
||||
I (..\User\module\config.h)(0x68DCDCE8)
|
||||
I (..\User\module\chassis.h)(0x68ECF095)
|
||||
I (..\User\module\chassis.h)(0x68F49369)
|
||||
I (..\User\bsp\can.h)(0x68EE5C62)
|
||||
I (..\Core\Inc\can.h)(0x68EE5A24)
|
||||
I (..\Core\Inc\main.h)(0x68EE5A28)
|
||||
@ -2166,7 +2166,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68C65D59
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68C65D59)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68C65D59)
|
||||
I (..\User\module\config.h)(0x68DCDCE8)
|
||||
I (..\User\module\chassis.h)(0x68ECF095)
|
||||
I (..\User\module\chassis.h)(0x68F49369)
|
||||
I (..\User\bsp\can.h)(0x68EE5C62)
|
||||
I (..\Core\Inc\can.h)(0x68EE5A24)
|
||||
I (..\Core\Inc\main.h)(0x68EE5A28)
|
||||
@ -2214,7 +2214,7 @@ I (..\User\component\ahrs.h)(0x68EE5C62)
|
||||
I (..\User\device\motor_rm.h)(0x68EE5C18)
|
||||
I (..\User\device\motor.h)(0x68EE5C18)
|
||||
I (..\User\device\device.h)(0x68EE5C63)
|
||||
F (..\User\task\test.c)(0x68EE59B2)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/test.o -MD)
|
||||
F (..\User\task\test.c)(0x68F4E778)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -c
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
-D__MICROLIB -gdwarf-3 -O3 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Middlewares/Third_Party/FreeRTOS/Source/include -I ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 -I ../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../User
-I./RTE/_zzzzh
-ID:/keil/ARM/PACK/ARM/CMSIS/5.0.1/CMSIS/Include
-ID:/keil/ARM/PACK/Keil/STM32F4xx_DFP/2.14.0/Drivers/CMSIS/Device/ST/STM32F4xx/Include
-D__UVISION_VERSION="524" -D_RTE_ -DSTM32F407xx -DUSE_HAL_DRIVER -DSTM32F407xx
-o zzzzh/test.o -MD)
|
||||
I (..\User\task\user_task.h)(0x68ECF321)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS_V2\cmsis_os2.h)(0x68C65D59)
|
||||
I (D:\keil\ARM\ARMCLANG\include\stdint.h)(0x588CAFD2)
|
||||
@ -2229,7 +2229,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68C65D59
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68C65D59)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68C65D59)
|
||||
I (..\User\module\config.h)(0x68DCDCE8)
|
||||
I (..\User\module\chassis.h)(0x68ECF095)
|
||||
I (..\User\module\chassis.h)(0x68F49369)
|
||||
I (..\User\bsp\can.h)(0x68EE5C62)
|
||||
I (..\Core\Inc\can.h)(0x68EE5A24)
|
||||
I (..\Core\Inc\main.h)(0x68EE5A28)
|
||||
@ -2293,7 +2293,7 @@ I (..\Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h)(0x68C65D59
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\task.h)(0x68C65D59)
|
||||
I (..\Middlewares\Third_Party\FreeRTOS\Source\include\list.h)(0x68C65D59)
|
||||
I (..\User\module\config.h)(0x68DCDCE8)
|
||||
I (..\User\module\chassis.h)(0x68ECF095)
|
||||
I (..\User\module\chassis.h)(0x68F49369)
|
||||
I (..\User\bsp\can.h)(0x68EE5C62)
|
||||
I (..\Core\Inc\can.h)(0x68EE5A24)
|
||||
I (..\Core\Inc\main.h)(0x68EE5A28)
|
||||
|
||||
@ -19,8 +19,10 @@
|
||||
|
||||
|
||||
static int8_t Chassis_SetMode(Chassis_t *c, Chassis_Mode_t mode, uint32_t now) {
|
||||
if (!c) return CHASSIS_ERR_NULL;
|
||||
if (mode == c->mode) return CHASSIS_OK;
|
||||
if (!c)
|
||||
return CHASSIS_ERR_NULL;
|
||||
if (mode == c->mode)
|
||||
return CHASSIS_OK;
|
||||
|
||||
if (mode == CHASSIS_MODE_ROTOR && c->mode != CHASSIS_MODE_ROTOR) {
|
||||
srand(now);
|
||||
@ -47,13 +49,11 @@ static float Chassis_CalcWz(const float min, const float max, uint32_t now) {
|
||||
int8_t Chassis_Init(Chassis_t *c, const Chassis_Params_t *param,
|
||||
AHRS_Eulr_t *mech_zero, float target_freq) {
|
||||
if (!c) return CHASSIS_ERR_NULL;
|
||||
|
||||
BSP_CAN_Init();
|
||||
c->param = param;
|
||||
c->mode = CHASSIS_MODE_RELAX;
|
||||
|
||||
|
||||
c->mech_zero = *mech_zero;
|
||||
c->feedback.imu.eulr = *mech_zero;
|
||||
c->mech_zero = *mech_zero;
|
||||
c->feedback.imu.eulr = *mech_zero;
|
||||
|
||||
if (param->reverse.yaw) {
|
||||
CircleReverse(&(c->mech_zero.yaw));
|
||||
@ -95,24 +95,23 @@ if (param->reverse.yaw) {
|
||||
PID_Init(&c->pid.motor[i], KPID_MODE_NO_D, target_freq, ¶m->pid.motor_pid_param);
|
||||
LowPassFilter2p_Init(&c->filter.in[i], target_freq, param->low_pass_cutoff_freq.in);
|
||||
LowPassFilter2p_Init(&c->filter.out[i], target_freq, param->low_pass_cutoff_freq.out);
|
||||
|
||||
c->feedback.motor[i].rotor_speed = 0;
|
||||
c->feedback.motor[i].torque_current = 0;
|
||||
c->feedback.motor[i].rotor_abs_angle = 0;
|
||||
c->feedback.motor[i].temp = 0;
|
||||
}
|
||||
|
||||
PID_Init(&c->pid.follow, KPID_MODE_NO_D, target_freq, ¶m->pid.follow_pid_param);
|
||||
Mixer_Init(&c->mixer, mixer_mode);
|
||||
|
||||
c->move_vec.vx = c->move_vec.vy = c->move_vec.wz = 0.0f;
|
||||
for (uint8_t i = 0; i < c->num_wheel; i++) {
|
||||
c->feedback.motor[i].rotor_speed = 0;
|
||||
c->feedback.motor[i].torque_current = 0;
|
||||
c->feedback.motor[i].rotor_abs_angle = 0;
|
||||
c->feedback.motor[i].temp = 0;
|
||||
}
|
||||
for (uint8_t i = 0; i < c->num_wheel; i++) {
|
||||
c->out.motor[i] = 0.0f;
|
||||
}
|
||||
for (int i = 0; i < c->num_wheel; i++) {
|
||||
MOTOR_RM_Register(&(c->param->motor_param[i]));
|
||||
c->motors[i] = MOTOR_RM_GetMotor(&(c->param->motor_param[i]));
|
||||
|
||||
}
|
||||
return CHASSIS_OK;
|
||||
}
|
||||
@ -120,20 +119,21 @@ if (param->reverse.yaw) {
|
||||
|
||||
int8_t Chassis_UpdateFeedback(Chassis_t *c, const Chassis_Feedback_t *feedback) {
|
||||
if (!c || !feedback) return CHASSIS_ERR_NULL;
|
||||
|
||||
float yaw = c->param->reverse.yaw ? -feedback->imu.eulr.yaw : feedback->imu.eulr.yaw;
|
||||
while (yaw > M_PI) yaw -= M_2PI;
|
||||
while (yaw < -M_PI) yaw += M_2PI;
|
||||
c->feedback.imu.eulr.yaw = yaw;
|
||||
|
||||
if (c->param->reverse.yaw) {
|
||||
c->feedback.imu.eulr.yaw = -feedback->imu.eulr.yaw;
|
||||
} else {
|
||||
c->feedback.imu.eulr.yaw = feedback->imu.eulr.yaw;
|
||||
}
|
||||
|
||||
for (uint8_t i = 0; i < c->num_wheel; i++) {
|
||||
MOTOR_RM_Update(&(c->param->motor_param[i]));
|
||||
MOTOR_RM_t *rm_motor = c->motors[i];
|
||||
if (rm_motor) {
|
||||
c->feedback.motor[i] = rm_motor->feedback;
|
||||
}
|
||||
else
|
||||
MOTOR_RM_t *rm_motor = MOTOR_RM_GetMotor(&(c->param->motor_param[i]));
|
||||
c->motors[i] = rm_motor;
|
||||
MOTOR_RM_t *rm = c->motors[i];
|
||||
if (rm_motor != NULL) {
|
||||
c->feedback.motor[i] = rm_motor->feedback;
|
||||
}else
|
||||
{
|
||||
return CHASSIS_ERR_NULL;
|
||||
}
|
||||
@ -148,11 +148,11 @@ int8_t Chassis_Control(Chassis_t *c, const ChassisCmd_t *c_cmd, uint32_t now) {
|
||||
c->dt = (float)(now - c->last_wakeup) / 1000.0f;
|
||||
c->last_wakeup = now;
|
||||
|
||||
if (!isfinite(c->dt) || c->dt <= 0.0f) {
|
||||
c->dt = 0.001f;
|
||||
}
|
||||
if (c->dt < 0.0005f) c->dt = 0.0005f;
|
||||
if (c->dt > 0.050f) c->dt = 0.050f;
|
||||
if (!isfinite(c->dt) || c->dt <= 0.0f) {
|
||||
c->dt = 0.001f;
|
||||
}
|
||||
if (c->dt < 0.0005f) c->dt = 0.0005f;
|
||||
if (c->dt > 0.050f) c->dt = 0.050f;
|
||||
|
||||
Chassis_SetMode(c, c_cmd->mode, now);
|
||||
|
||||
@ -180,6 +180,8 @@ if (c->dt > 0.050f) c->dt = 0.050f;
|
||||
c->move_vec.wz = 0.0f;
|
||||
break;
|
||||
case CHASSIS_MODE_OPEN:
|
||||
c->move_vec.wz = c_cmd->ctrl_vec.wz;
|
||||
break;
|
||||
case CHASSIS_MODE_FOLLOW_GIMBAL:
|
||||
c->move_vec.wz = PID_Calc(&c->pid.follow, c->mech_zero.yaw, c->feedback.imu.eulr.yaw, 0.0f, c->dt);
|
||||
break;
|
||||
@ -192,13 +194,13 @@ if (c->dt > 0.050f) c->dt = 0.050f;
|
||||
break;
|
||||
}
|
||||
|
||||
Mixer_Apply(&c->mixer, &c->move_vec, c->setpoint.motor_rpm, c->num_wheel, 7000.0f);
|
||||
Mixer_Apply(&c->mixer, &c->move_vec, c->setpoint.motor_rpm, c->num_wheel, 3000.0f);
|
||||
|
||||
|
||||
for (uint8_t i = 0; i < c->num_wheel; i++) {
|
||||
float rf = c->setpoint.motor_rpm[i];
|
||||
float fb = LowPassFilter2p_Apply(&c->filter.in[i], (float)c->feedback.motor[i].rotor_speed);
|
||||
float out_current = 0.0f;
|
||||
|
||||
float out_current = PID_Calc(&c->pid.motor[i], rf, fb, 0.0f, c->dt);
|
||||
switch (c->mode) {
|
||||
case CHASSIS_MODE_BREAK:
|
||||
case CHASSIS_MODE_FOLLOW_GIMBAL:
|
||||
@ -208,7 +210,7 @@ if (c->dt > 0.050f) c->dt = 0.050f;
|
||||
out_current = PID_Calc(&c->pid.motor[i], c->setpoint.motor_rpm[i], fb, 0.0f, c->dt);
|
||||
break;
|
||||
case CHASSIS_MODE_OPEN:
|
||||
out_current = c->setpoint.motor_rpm[i] / 9000.0f;
|
||||
out_current = c->setpoint.motor_rpm[i] / 3000.0f;
|
||||
break;
|
||||
case CHASSIS_MODE_RELAX:
|
||||
out_current = 0.0f;
|
||||
@ -216,17 +218,17 @@ if (c->dt > 0.050f) c->dt = 0.050f;
|
||||
}
|
||||
|
||||
|
||||
out_current = LowPassFilter2p_Apply(&c->filter.out[i], out_current);
|
||||
|
||||
c->out.motor[i] = out_current;
|
||||
c->out.motor[i] = LowPassFilter2p_Apply(&c->filter.out[i], out_current);
|
||||
Clip(&c->out.motor[i], -c->param->limit.max_current, c->param->limit.max_current);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return CHASSIS_OK;
|
||||
}
|
||||
|
||||
void Chassis_Output(Chassis_t *c) {
|
||||
if (!c) return;
|
||||
if (!c)
|
||||
return;
|
||||
|
||||
//ÿ¸öµç»úÄ¿±êÊä³ö
|
||||
for (uint8_t i = 0; i < c->num_wheel; i++) {
|
||||
@ -240,7 +242,6 @@ void Chassis_Output(Chassis_t *c) {
|
||||
MOTOR_RM_t *rm = c->motors[i];
|
||||
if (rm) {
|
||||
MOTOR_RM_Ctrl(&rm->param);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ extern "C" {
|
||||
#define CHASSIS_ERR_MODE (-3) /* 运行时出配置了错误的ChassisMode_t */
|
||||
#define CHASSIS_ERR_TYPE (-4) /* 运行时出配置了错误的Chassis_Type_t */
|
||||
|
||||
#define MAX_MOTOR_CURRENT 20.0f
|
||||
/* 底盘控制模式 */
|
||||
typedef enum {
|
||||
CHASSIS_MODE_RELAX, /* 放松模式,电机不输出。一般情况底盘初始化之后的模式 */
|
||||
@ -52,7 +53,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
float max;
|
||||
float min;
|
||||
} Chassis_Limit_t;//移植云台的代码
|
||||
} Chassis_Limit_t;
|
||||
|
||||
/* 底盘类型(底盘的物理设计) */
|
||||
typedef enum {
|
||||
@ -85,7 +86,10 @@ typedef struct {
|
||||
struct {
|
||||
bool yaw;
|
||||
} reverse;
|
||||
|
||||
struct {
|
||||
float max_vx, max_vy, max_wz;
|
||||
float max_current;
|
||||
} limit;
|
||||
} Chassis_Params_t;
|
||||
|
||||
typedef struct {
|
||||
@ -136,11 +140,9 @@ typedef struct {
|
||||
KPID_t follow; /* 跟随云台用的PID */
|
||||
} pid;
|
||||
|
||||
// struct {
|
||||
// Chassis_Limit_t vx; // ??????
|
||||
// Chassis_Limit_t vy; // ??????
|
||||
// Chassis_Limit_t wz; // ?z???????
|
||||
//} limit;
|
||||
struct {
|
||||
Chassis_Limit_t vx, vy, wz;
|
||||
} limit;
|
||||
|
||||
/* 滤波器 */
|
||||
struct {
|
||||
@ -226,6 +228,7 @@ void Chassis_ResetOutput(Chassis_t *c);
|
||||
*/
|
||||
//void Chassis_DumpUI(const Chassis_t *c, Referee_ChassisUI_t *ui);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -26,51 +26,55 @@ Config_RobotParam_t robot_config = {
|
||||
.can = BSP_CAN_1,
|
||||
.id = 0x201,
|
||||
.module = MOTOR_M3508,
|
||||
.reverse = false
|
||||
.reverse = false,
|
||||
.gear = true
|
||||
},
|
||||
{
|
||||
.can = BSP_CAN_1,
|
||||
.id = 0x202,
|
||||
.module = MOTOR_M3508,
|
||||
.reverse = false
|
||||
.reverse = false,
|
||||
.gear = true
|
||||
},
|
||||
{
|
||||
.can = BSP_CAN_1,
|
||||
.id = 0x203,
|
||||
.module = MOTOR_M3508,
|
||||
.reverse = false
|
||||
.reverse = false,
|
||||
.gear = true
|
||||
},
|
||||
{
|
||||
.can = BSP_CAN_1,
|
||||
.id = 0x204,
|
||||
.module = MOTOR_M3508,
|
||||
.reverse = false
|
||||
.reverse = false,
|
||||
.gear = true
|
||||
},
|
||||
},
|
||||
|
||||
.type = CHASSIS_TYPE_OMNI_PLUS,
|
||||
/* PID ?? */
|
||||
.pid = {
|
||||
/* ????/??? PID */
|
||||
.motor_pid_param = {
|
||||
.k = 0.001f,
|
||||
.p = 8.0f,
|
||||
.i = 0.1f,
|
||||
.d = 0.5f,
|
||||
.i_limit = 2000.0f,
|
||||
.out_limit = 16000.0f,
|
||||
.d_cutoff_freq = 100.0f,
|
||||
.p = 0.01f,
|
||||
.i = 0.01f,
|
||||
.d = 0.0f,
|
||||
.i_limit = 1.0f,
|
||||
.out_limit = 1.0f,
|
||||
.d_cutoff_freq = -1.0f,
|
||||
.range = -1.0f,
|
||||
},
|
||||
|
||||
/* ?????????? */
|
||||
.follow_pid_param = {
|
||||
.k = 0.5f,
|
||||
.p = 6.0f,
|
||||
.p = 1.0f,
|
||||
.i = 0.0f,
|
||||
.d = 0.2f,
|
||||
.d = 0.0f,
|
||||
.i_limit = 1.0f,
|
||||
.out_limit = 2.0f,
|
||||
.d_cutoff_freq = 30.0f,
|
||||
.out_limit = 1.0f,
|
||||
.d_cutoff_freq = -1.0f,
|
||||
.range = M_2PI,
|
||||
},
|
||||
},
|
||||
@ -84,6 +88,12 @@ Config_RobotParam_t robot_config = {
|
||||
/* ???? */
|
||||
.reverse = {
|
||||
.yaw = true,
|
||||
},
|
||||
.limit = {
|
||||
.max_vx = 3.0f, // ?????????????
|
||||
.max_vy = 3.0f,
|
||||
.max_wz = 2.0f, // rad/s ???
|
||||
.max_current = 16000.0f // ???????????(DJI ?? ±16384)
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
133
User/task/test.c
133
User/task/test.c
@ -28,53 +28,104 @@ static AHRS_Eulr_t mech_zero = {0}; // 机械零位(初始 yaw)
|
||||
|
||||
/* Private function --------------------------------------------------------- */
|
||||
/* Exported functions ------------------------------------------------------- */
|
||||
void Task_test(void *argument) {
|
||||
(void)argument; /* 未使用argument,消除警告 */
|
||||
//void Task_test(void *argument) {
|
||||
// (void)argument; /* 未使用argument,消除警告 */
|
||||
|
||||
|
||||
/* 计算任务运行到指定频率需要等待的tick数 */
|
||||
const uint32_t delay_tick = osKernelGetTickFreq() / TEST_FREQ;
|
||||
//
|
||||
// /* 计算任务运行到指定频率需要等待的tick数 */
|
||||
// const uint32_t delay_tick = osKernelGetTickFreq() / TEST_FREQ;
|
||||
|
||||
osDelay(TEST_INIT_DELAY); /* 延时一段时间再开启任务 */
|
||||
// osDelay(TEST_INIT_DELAY); /* 延时一段时间再开启任务 */
|
||||
|
||||
uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
||||
/* USER CODE INIT BEGIN */
|
||||
Config_RobotParam_t *cfg = Config_GetRobotParam();
|
||||
Chassis_Init(&chassis, &Config_GetRobotParam()->chassis_param, &mech_zero, TEST_FREQ);
|
||||
|
||||
bool mech_zero_locked = false; // 首次 IMU 到来后只锁一次
|
||||
// uint32_t tick = osKernelGetTickCount(); /* 控制任务运行频率的计时 */
|
||||
// /* USER CODE INIT BEGIN */
|
||||
// Config_RobotParam_t *cfg = Config_GetRobotParam();
|
||||
// Chassis_Init(&chassis, &Config_GetRobotParam()->chassis_param, &mech_zero, TEST_FREQ);
|
||||
//
|
||||
// bool mech_zero_locked = false; // 首次 IMU 到来后只锁一次
|
||||
|
||||
// 默认命令:安全状态
|
||||
chassis_cmd.mode = CHASSIS_MODE_RELAX;
|
||||
chassis_cmd.ctrl_vec.vx = 0.0f;
|
||||
chassis_cmd.ctrl_vec.vy = 0.0f;
|
||||
chassis_cmd.ctrl_vec.wz = 0.0f;
|
||||
// /* USER CODE INIT END */
|
||||
|
||||
while (1) {
|
||||
tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||
/* USER CODE BEGIN */
|
||||
if (osMessageQueueGet(task_runtime.msgq.Chassis_imu, &chassis_imu, NULL, 0) == osOK) {
|
||||
chassis_fb.imu = chassis_imu;
|
||||
chassis.feedback.imu = chassis_imu;
|
||||
if (!mech_zero_locked) {
|
||||
mech_zero.yaw = chassis_imu.eulr.yaw; // 只在需要“上电即定零”时保留
|
||||
mech_zero_locked = true;
|
||||
}
|
||||
}
|
||||
if(osMessageQueueGet(task_runtime.msgq.Chassis_cmd, &chassis_cmd, NULL, 0) == osOK) {
|
||||
|
||||
}
|
||||
Chassis_UpdateFeedback(&chassis, &chassis_fb);
|
||||
// 构造底盘指令
|
||||
// // 默认命令:安全状态
|
||||
// chassis_cmd.mode = CHASSIS_MODE_RELAX;
|
||||
// chassis_cmd.ctrl_vec.vx = 0.0f;
|
||||
// chassis_cmd.ctrl_vec.vy = 0.0f;
|
||||
// chassis_cmd.ctrl_vec.wz = 0.0f;
|
||||
//// /* USER CODE INIT END */
|
||||
//
|
||||
// while (1) {
|
||||
// tick += delay_tick; /* 计算下一个唤醒时刻 */
|
||||
// /* USER CODE BEGIN */
|
||||
// if (osMessageQueueGet(task_runtime.msgq.Chassis_imu, &chassis_imu, NULL, 0) == osOK) {
|
||||
// chassis_fb.imu = chassis_imu;
|
||||
// chassis.feedback.imu = chassis_imu;
|
||||
// if (!mech_zero_locked) {
|
||||
// mech_zero.yaw = chassis_imu.eulr.yaw; // 只在需要“上电即定零”时保留
|
||||
// mech_zero_locked = true;
|
||||
// }
|
||||
//}
|
||||
////if(osMessageQueueGet(task_runtime.msgq.Chassis_cmd, &chassis_cmd, NULL, 0) == osOK) {
|
||||
////
|
||||
////}
|
||||
// Chassis_UpdateFeedback(&chassis, &chassis_fb);
|
||||
// // 构造底盘指令
|
||||
// chassis_cmd.mode = CHASSIS_MODE_FOLLOW_GIMBAL;
|
||||
// 控制计算
|
||||
// // 控制计算
|
||||
// Chassis_Control(&chassis, &chassis_cmd, osKernelGetTickCount());
|
||||
// // 输出电流到电机
|
||||
// Chassis_Output(&chassis);
|
||||
|
||||
//// /* USER CODE END */
|
||||
// osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
||||
|
||||
void Task_test(void *argument) {
|
||||
(void)argument;
|
||||
|
||||
/* 以 TEST_FREQ 定频运行 */
|
||||
const uint32_t delay_tick = osKernelGetTickFreq() / TEST_FREQ;
|
||||
osDelay(TEST_INIT_DELAY);
|
||||
|
||||
uint32_t tick = osKernelGetTickCount();
|
||||
|
||||
/* === 初始化底盘 === */
|
||||
Config_RobotParam_t *cfg = Config_GetRobotParam();
|
||||
Chassis_Init(&chassis, &cfg->chassis_param, &mech_zero, (float)TEST_FREQ);
|
||||
|
||||
/* 默认安全命令 */
|
||||
chassis_cmd.mode = CHASSIS_MODE_RELAX;
|
||||
chassis_cmd.ctrl_vec.vx = 0.0f;
|
||||
chassis_cmd.ctrl_vec.vy = 0.0f;
|
||||
chassis_cmd.ctrl_vec.wz = 0.0f;
|
||||
|
||||
bool mech_zero_locked = false;
|
||||
|
||||
while (1) {
|
||||
tick += delay_tick;
|
||||
|
||||
/* 1) 非阻塞取 IMU(如果来了就更新;没来就用上一帧) */
|
||||
if (osMessageQueueGet(task_runtime.msgq.Chassis_imu, &chassis_imu, NULL, 0) == osOK) {
|
||||
chassis_fb.imu = chassis_imu;
|
||||
chassis.feedback.imu = chassis_imu; // 兼容你在其他处直接读 chassis.feedback 的用法
|
||||
|
||||
if (!mech_zero_locked) {
|
||||
mech_zero.yaw = chassis_imu.eulr.yaw; // 首帧锁零(按需保留)
|
||||
mech_zero_locked = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* 2) 免遥控:设定固定运动指令(独立模式,不跟随云台) */
|
||||
chassis_cmd.mode = CHASSIS_MODE_INDEPENDENT;
|
||||
chassis_cmd.ctrl_vec.vx = 1.0f;
|
||||
chassis_cmd.ctrl_vec.vy = 0.0f;
|
||||
chassis_cmd.ctrl_vec.wz = 0.0f;
|
||||
|
||||
/* 3) 更新反馈 → 控制 → 输出 */
|
||||
Chassis_UpdateFeedback(&chassis, &chassis_fb);
|
||||
Chassis_Control(&chassis, &chassis_cmd, osKernelGetTickCount());
|
||||
// 输出电流到电机
|
||||
Chassis_Output(&chassis);
|
||||
|
||||
// /* USER CODE END */
|
||||
osDelayUntil(tick); /* 运行结束,等待下一次唤醒 */
|
||||
}
|
||||
|
||||
osDelayUntil(tick);
|
||||
}
|
||||
}
|
||||
56
zzzzh.ioc
56
zzzzh.ioc
@ -2,18 +2,18 @@
|
||||
CAD.formats=
|
||||
CAD.pinconfig=
|
||||
CAD.provider=
|
||||
CAN1.BS1=CAN_BS1_6TQ
|
||||
CAN1.BS2=CAN_BS2_7TQ
|
||||
CAN1.CalculateBaudRate=857142
|
||||
CAN1.CalculateTimeBit=1166
|
||||
CAN1.CalculateTimeQuantum=83.33333333333334
|
||||
CAN1.BS1=CAN_BS1_10TQ
|
||||
CAN1.BS2=CAN_BS2_3TQ
|
||||
CAN1.CalculateBaudRate=1000000
|
||||
CAN1.CalculateTimeBit=1000
|
||||
CAN1.CalculateTimeQuantum=71.42857142857143
|
||||
CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,BS1,BS2,Prescaler
|
||||
CAN1.Prescaler=3
|
||||
CAN2.BS1=CAN_BS1_7TQ
|
||||
CAN2.BS2=CAN_BS2_6TQ
|
||||
CAN2.CalculateBaudRate=857142
|
||||
CAN2.CalculateTimeBit=1166
|
||||
CAN2.CalculateTimeQuantum=83.33333333333334
|
||||
CAN2.CalculateBaudRate=1000000
|
||||
CAN2.CalculateTimeBit=1000
|
||||
CAN2.CalculateTimeQuantum=71.42857142857143
|
||||
CAN2.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,Prescaler,BS1,BS2
|
||||
CAN2.Prescaler=3
|
||||
Dma.Request0=USART3_RX
|
||||
@ -148,6 +148,7 @@ MxDb.Version=DB.6.0.150
|
||||
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
|
||||
NVIC.CAN1_RX0_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.CAN1_RX1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.CAN1_TX_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.CAN2_RX0_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.CAN2_RX1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true
|
||||
NVIC.DMA1_Stream1_IRQn=true\:5\:0\:false\:false\:true\:true\:false\:true\:true
|
||||
@ -299,37 +300,38 @@ ProjectManager.UAScriptAfterPath=
|
||||
ProjectManager.UAScriptBeforePath=
|
||||
ProjectManager.UnderRoot=false
|
||||
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_CAN1_Init-CAN1-false-HAL-true,5-MX_CAN2_Init-CAN2-false-HAL-true,6-MX_USART3_UART_Init-USART3-false-HAL-true,7-MX_USART6_UART_Init-USART6-false-HAL-true,8-MX_SPI1_Init-SPI1-false-HAL-true,9-MX_USART1_UART_Init-USART1-false-HAL-true,10-MX_TIM4_Init-TIM4-false-HAL-true,11-MX_TIM7_Init-TIM7-false-HAL-true,12-MX_TIM10_Init-TIM10-false-HAL-true
|
||||
RCC.48MHZClocksFreq_Value=36000000
|
||||
RCC.AHBFreq_Value=72000000
|
||||
RCC.APB1CLKDivider=RCC_HCLK_DIV2
|
||||
RCC.APB1Freq_Value=36000000
|
||||
RCC.APB1TimFreq_Value=72000000
|
||||
RCC.APB2Freq_Value=72000000
|
||||
RCC.APB2TimFreq_Value=72000000
|
||||
RCC.CortexFreq_Value=72000000
|
||||
RCC.EthernetFreq_Value=72000000
|
||||
RCC.FCLKCortexFreq_Value=72000000
|
||||
RCC.48MHZClocksFreq_Value=84000000
|
||||
RCC.AHBFreq_Value=168000000
|
||||
RCC.APB1CLKDivider=RCC_HCLK_DIV4
|
||||
RCC.APB1Freq_Value=42000000
|
||||
RCC.APB1TimFreq_Value=84000000
|
||||
RCC.APB2CLKDivider=RCC_HCLK_DIV2
|
||||
RCC.APB2Freq_Value=84000000
|
||||
RCC.APB2TimFreq_Value=168000000
|
||||
RCC.CortexFreq_Value=168000000
|
||||
RCC.EthernetFreq_Value=168000000
|
||||
RCC.FCLKCortexFreq_Value=168000000
|
||||
RCC.FamilyName=M
|
||||
RCC.HCLKFreq_Value=72000000
|
||||
RCC.HCLKFreq_Value=168000000
|
||||
RCC.HSE_VALUE=12000000
|
||||
RCC.HSI_VALUE=16000000
|
||||
RCC.I2SClocksFreq_Value=192000000
|
||||
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLSourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S
|
||||
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2CLKDivider,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSE_VALUE,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLQCLKFreq_Value,PLLSourceVirtual,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S
|
||||
RCC.LSE_VALUE=32768
|
||||
RCC.LSI_VALUE=32000
|
||||
RCC.MCO2PinFreq_Value=72000000
|
||||
RCC.PLLCLKFreq_Value=72000000
|
||||
RCC.MCO2PinFreq_Value=168000000
|
||||
RCC.PLLCLKFreq_Value=168000000
|
||||
RCC.PLLM=6
|
||||
RCC.PLLN=72
|
||||
RCC.PLLQCLKFreq_Value=36000000
|
||||
RCC.PLLN=168
|
||||
RCC.PLLQCLKFreq_Value=84000000
|
||||
RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
|
||||
RCC.RTCFreq_Value=32000
|
||||
RCC.RTCHSEDivFreq_Value=6000000
|
||||
RCC.SYSCLKFreq_VALUE=72000000
|
||||
RCC.SYSCLKFreq_VALUE=168000000
|
||||
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
|
||||
RCC.VCOI2SOutputFreq_Value=384000000
|
||||
RCC.VCOInputFreq_Value=2000000
|
||||
RCC.VCOOutputFreq_Value=144000000
|
||||
RCC.VCOOutputFreq_Value=336000000
|
||||
RCC.VcooutputI2S=192000000
|
||||
SH.GPXTI0.0=GPIO_EXTI0
|
||||
SH.GPXTI0.ConfNb=1
|
||||
@ -344,7 +346,7 @@ SH.S_TIM4_CH3.ConfNb=1
|
||||
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_16
|
||||
SPI1.CLKPhase=SPI_PHASE_2EDGE
|
||||
SPI1.CLKPolarity=SPI_POLARITY_LOW
|
||||
SPI1.CalculateBaudRate=4.5 MBits/s
|
||||
SPI1.CalculateBaudRate=5.25 MBits/s
|
||||
SPI1.Direction=SPI_DIRECTION_2LINES
|
||||
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler,CLKPhase,CLKPolarity
|
||||
SPI1.Mode=SPI_MODE_MASTER
|
||||
|
||||
Loading…
Reference in New Issue
Block a user