Skip to content

Commit cdb110a

Browse files
author
EternityFOR
committed
STM32CUBEIDE UPDATE
1 parent 490896e commit cdb110a

22 files changed

+22043
-45
lines changed

Self_Balance_Car_STM32F103RET6/.cproject

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,10 @@
2121
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.862168697" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
2222
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1861335817" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
2323
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.778679235" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
24-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1828374342" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32F103RETx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 || || || STM32F103xE | USE_HAL_DRIVER || || Drivers | Core/Startup | Middlewares | Core || || || ${workspace_loc:/${ProjName}/STM32F103RETX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || " valueType="string"/>
24+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.1828374342" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Debug || true || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32F103RETx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 || || || STM32F103xE | USE_HAL_DRIVER || || Drivers | Core/Startup | Middlewares | Core || || || ${workspace_loc:/${ProjName}/STM32F103RETX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/>
2525
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat.1586880431" name="Use float with printf from newlib-nano (-u _printf_float)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoprintffloat" useByScannerDiscovery="false" value="true" valueType="boolean"/>
2626
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoscanffloat.813897215" name="Use float with scanf from newlib-nano (-u _scanf_float)" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.nanoscanffloat" useByScannerDiscovery="false" value="true" valueType="boolean"/>
27+
<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.1861389510" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" value="72" valueType="string"/>
2728
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.1986148932" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
2829
<builder buildPath="${workspace_loc:/Self_Balance_Car}/Debug" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.1312238750" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
2930
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.448449116" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">
@@ -104,7 +105,8 @@
104105
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid.619702610" name="CPU" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_cpuid" useByScannerDiscovery="false" value="0" valueType="string"/>
105106
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid.1604916330" name="Core" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_coreid" useByScannerDiscovery="false" value="0" valueType="string"/>
106107
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board.398416373" name="Board" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.target_board" useByScannerDiscovery="false" value="genericBoard" valueType="string"/>
107-
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.876819264" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.5 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32F103RETx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 || || || STM32F103xE | USE_HAL_DRIVER || || Drivers | Core/Startup | Middlewares | Core || || || ${workspace_loc:/${ProjName}/STM32F103RETX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || " valueType="string"/>
108+
<option id="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults.876819264" name="Defaults" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.option.defaults" useByScannerDiscovery="false" value="com.st.stm32cube.ide.common.services.build.inputs.revA.1.0.6 || Release || false || Executable || com.st.stm32cube.ide.mcu.gnu.managedbuild.option.toolchain.value.workspace || STM32F103RETx || 0 || 0 || arm-none-eabi- || ${gnu_tools_for_stm32_compiler_path} || ../Middlewares/Third_Party/FreeRTOS/Source/include | ../Drivers/CMSIS/Device/ST/STM32F1xx/Include | ../Drivers/CMSIS/Include | ../Core/Inc | ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy | ../Drivers/STM32F1xx_HAL_Driver/Inc | ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2 | ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3 || || || STM32F103xE | USE_HAL_DRIVER || || Drivers | Core/Startup | Middlewares | Core || || || ${workspace_loc:/${ProjName}/STM32F103RETX_FLASH.ld} || true || NonSecure || || secure_nsclib.o || || None || || || " valueType="string"/>
109+
<option id="com.st.stm32cube.ide.mcu.debug.option.cpuclock.1425423257" superClass="com.st.stm32cube.ide.mcu.debug.option.cpuclock" useByScannerDiscovery="false" value="72" valueType="string"/>
108110
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform.54071955" isAbstract="false" osList="all" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.targetplatform"/>
109111
<builder buildPath="${workspace_loc:/Self_Balance_Car}/Release" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder.733545356" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Gnu Make Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.builder"/>
110112
<tool id="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler.1718962395" name="MCU GCC Assembler" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.tool.assembler">

Self_Balance_Car_STM32F103RET6/.mxproject

Lines changed: 12 additions & 12 deletions
Large diffs are not rendered by default.

Self_Balance_Car_STM32F103RET6/.settings/language.settings.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
77
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
88
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
9-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1300671924280870556" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
9+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="56318963277341201" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
1010
<language-scope id="org.eclipse.cdt.core.gcc"/>
1111
<language-scope id="org.eclipse.cdt.core.g++"/>
1212
</provider>
@@ -18,7 +18,7 @@
1818
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
1919
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
2020
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
21-
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="-1300671924280870556" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
21+
<provider class="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" console="false" env-hash="56318963277341201" id="com.st.stm32cube.ide.mcu.toolchain.armnone.setup.CrossBuiltinSpecsDetector" keep-relative-paths="false" name="MCU ARM GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
2222
<language-scope id="org.eclipse.cdt.core.gcc"/>
2323
<language-scope id="org.eclipse.cdt.core.g++"/>
2424
</provider>

Self_Balance_Car_STM32F103RET6/Core/Inc/main.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ void ReadPIDParamsFromFlash(float *Balance_Kp, float *Balance_Ki, float *Balance
102102
#define M1_EN1_GPIO_Port GPIOB
103103
#define M1_EN2_Pin GPIO_PIN_7
104104
#define M1_EN2_GPIO_Port GPIOB
105+
105106
/* USER CODE BEGIN Private defines */
106107
void UART_IRQHandler_IDLE(UART_HandleTypeDef *huart);
107108
/* USER CODE END Private defines */

Self_Balance_Car_STM32F103RET6/Core/Src/main.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
/* USER CODE END PM */
5151

5252
/* Private variables ---------------------------------------------------------*/
53-
DAC_HandleTypeDef hdac;
53+
DAC_HandleTypeDef hdac;
5454

5555
I2C_HandleTypeDef hi2c1;
5656
I2C_HandleTypeDef hi2c2;
@@ -139,13 +139,13 @@ uint8_t ctr_cmd;
139139
/* Private function prototypes -----------------------------------------------*/
140140
void SystemClock_Config(void);
141141
static void MX_GPIO_Init(void);
142+
static void MX_DMA_Init(void);
142143
static void MX_TIM1_Init(void);
143144
static void MX_TIM2_Init(void);
144145
static void MX_TIM3_Init(void);
145146
static void MX_TIM4_Init(void);
146147
static void MX_TIM8_Init(void);
147148
static void MX_I2C2_Init(void);
148-
static void MX_DMA_Init(void);
149149
static void MX_TIM5_Init(void);
150150
static void MX_USART2_UART_Init(void);
151151
static void MX_DAC_Init(void);
@@ -209,6 +209,7 @@ int is_nan(float value) {
209209
*/
210210
int main(void)
211211
{
212+
212213
/* USER CODE BEGIN 1 */
213214
/* USER CODE END 1 */
214215

@@ -230,13 +231,13 @@ int main(void)
230231

231232
/* Initialize all configured peripherals */
232233
MX_GPIO_Init();
234+
MX_DMA_Init();
233235
MX_TIM1_Init();
234236
MX_TIM2_Init();
235237
MX_TIM3_Init();
236238
MX_TIM4_Init();
237239
MX_TIM8_Init();
238240
MX_I2C2_Init();
239-
MX_DMA_Init();
240241
MX_TIM5_Init();
241242
MX_USART2_UART_Init();
242243
MX_DAC_Init();
@@ -298,6 +299,7 @@ int main(void)
298299
osKernelStart();
299300

300301
/* We should never get here as control is now taken by the scheduler */
302+
301303
/* Infinite loop */
302304
/* USER CODE BEGIN WHILE */
303305

@@ -932,6 +934,8 @@ static void MX_DMA_Init(void)
932934
static void MX_GPIO_Init(void)
933935
{
934936
GPIO_InitTypeDef GPIO_InitStruct = {0};
937+
/* USER CODE BEGIN MX_GPIO_Init_1 */
938+
/* USER CODE END MX_GPIO_Init_1 */
935939

936940
/* GPIO Ports Clock Enable */
937941
__HAL_RCC_GPIOD_CLK_ENABLE();
@@ -965,6 +969,8 @@ static void MX_GPIO_Init(void)
965969
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
966970
HAL_GPIO_Init(Charging_Mode_GPIO_Port, &GPIO_InitStruct);
967971

972+
/* USER CODE BEGIN MX_GPIO_Init_2 */
973+
/* USER CODE END MX_GPIO_Init_2 */
968974
}
969975

970976
/* USER CODE BEGIN 4 */

Self_Balance_Car_STM32F103RET6/Core/Src/stm32f1xx_hal_msp.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
/* USER CODE BEGIN Header */
23
/**
34
******************************************************************************
@@ -67,6 +68,7 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
6768
*/
6869
void HAL_MspInit(void)
6970
{
71+
7072
/* USER CODE BEGIN MspInit 0 */
7173

7274
/* USER CODE END MspInit 0 */
@@ -116,6 +118,7 @@ void HAL_DAC_MspInit(DAC_HandleTypeDef* hdac)
116118
/* USER CODE BEGIN DAC_MspInit 1 */
117119

118120
/* USER CODE END DAC_MspInit 1 */
121+
119122
}
120123

121124
}
@@ -295,6 +298,7 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
295298
/* USER CODE BEGIN SPI2_MspInit 1 */
296299

297300
/* USER CODE END SPI2_MspInit 1 */
301+
298302
}
299303

300304
}
@@ -710,6 +714,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
710714
/* USER CODE BEGIN USART2_MspInit 1 */
711715

712716
/* USER CODE END USART2_MspInit 1 */
717+
713718
}
714719

715720
}

Self_Balance_Car_STM32F103RET6/Core/Src/stm32f1xx_hal_timebase_tim.c

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
/* Private variables ---------------------------------------------------------*/
2828
TIM_HandleTypeDef htim6;
2929
/* Private function prototypes -----------------------------------------------*/
30+
void TIM6_IRQHandler(void);
3031
/* Private functions ---------------------------------------------------------*/
3132

3233
/**
@@ -41,30 +42,36 @@ TIM_HandleTypeDef htim6;
4142
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
4243
{
4344
RCC_ClkInitTypeDef clkconfig;
44-
uint32_t uwTimclock = 0;
45-
uint32_t uwPrescalerValue = 0;
46-
uint32_t pFLatency;
47-
/*Configure the TIM6 IRQ priority */
48-
HAL_NVIC_SetPriority(TIM6_IRQn, TickPriority ,0);
45+
uint32_t uwTimclock, uwAPB1Prescaler = 0U;
4946

50-
/* Enable the TIM6 global Interrupt */
51-
HAL_NVIC_EnableIRQ(TIM6_IRQn);
47+
uint32_t uwPrescalerValue = 0U;
48+
uint32_t pFLatency;
49+
HAL_StatusTypeDef status = HAL_OK;
5250

5351
/* Enable TIM6 clock */
5452
__HAL_RCC_TIM6_CLK_ENABLE();
55-
5653
/* Get clock configuration */
5754
HAL_RCC_GetClockConfig(&clkconfig, &pFLatency);
58-
55+
/* Get APB1 prescaler */
56+
uwAPB1Prescaler = clkconfig.APB1CLKDivider;
5957
/* Compute TIM6 clock */
60-
uwTimclock = 2*HAL_RCC_GetPCLK1Freq();
58+
if (uwAPB1Prescaler == RCC_HCLK_DIV1)
59+
{
60+
uwTimclock = HAL_RCC_GetPCLK1Freq();
61+
}
62+
else
63+
{
64+
uwTimclock = 2UL * HAL_RCC_GetPCLK1Freq();
65+
}
66+
6167
/* Compute the prescaler value to have TIM6 counter clock equal to 1MHz */
6268
uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000U) - 1U);
6369

6470
/* Initialize TIM6 */
6571
htim6.Instance = TIM6;
6672

6773
/* Initialize TIMx peripheral as follow:
74+
6875
+ Period = [(TIM6CLK/1000) - 1]. to have a (1/1000) s time base.
6976
+ Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock.
7077
+ ClockDivision = 0
@@ -74,15 +81,33 @@ HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
7481
htim6.Init.Prescaler = uwPrescalerValue;
7582
htim6.Init.ClockDivision = 0;
7683
htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
84+
htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
7785

78-
if(HAL_TIM_Base_Init(&htim6) == HAL_OK)
86+
status = HAL_TIM_Base_Init(&htim6);
87+
if (status == HAL_OK)
7988
{
8089
/* Start the TIM time Base generation in interrupt mode */
81-
return HAL_TIM_Base_Start_IT(&htim6);
90+
status = HAL_TIM_Base_Start_IT(&htim6);
91+
if (status == HAL_OK)
92+
{
93+
/* Enable the TIM6 global Interrupt */
94+
HAL_NVIC_EnableIRQ(TIM6_IRQn);
95+
/* Configure the SysTick IRQ priority */
96+
if (TickPriority < (1UL << __NVIC_PRIO_BITS))
97+
{
98+
/* Configure the TIM IRQ priority */
99+
HAL_NVIC_SetPriority(TIM6_IRQn, TickPriority, 0U);
100+
uwTickPrio = TickPriority;
101+
}
102+
else
103+
{
104+
status = HAL_ERROR;
105+
}
106+
}
82107
}
83108

84-
/* Return function status */
85-
return HAL_ERROR;
109+
/* Return function status */
110+
return status;
86111
}
87112

88113
/**

0 commit comments

Comments
 (0)