diff --git a/Core/Inc/gpio.h b/Core/Inc/gpio.h
index 1ac88aa..4545763 100644
--- a/Core/Inc/gpio.h
+++ b/Core/Inc/gpio.h
@@ -6,7 +6,7 @@
******************************************************************************
* @attention
*
- *
© Copyright (c) 2021 STMicroelectronics.
+ * © Copyright (c) 2022 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
diff --git a/Core/Inc/main.h b/Core/Inc/main.h
index 887b6c7..15f6315 100644
--- a/Core/Inc/main.h
+++ b/Core/Inc/main.h
@@ -54,11 +54,15 @@ extern "C"
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
- /* USER CODE BEGIN EFP */
+/* USER CODE BEGIN EFP */
- /* USER CODE END EFP */
+/* USER CODE END EFP */
- /* Private defines -----------------------------------------------------------*/
+/* Private defines -----------------------------------------------------------*/
+#define BUTTON_Pin GPIO_PIN_0
+#define BUTTON_GPIO_Port GPIOA
+#define LED_Pin GPIO_PIN_15
+#define LED_GPIO_Port GPIOD
/* USER CODE BEGIN Private defines */
/* USER CODE END Private defines */
diff --git a/Core/Src/gpio.c b/Core/Src/gpio.c
index dbe1185..10b3816 100644
--- a/Core/Src/gpio.c
+++ b/Core/Src/gpio.c
@@ -6,7 +6,7 @@
******************************************************************************
* @attention
*
- * © Copyright (c) 2021 STMicroelectronics.
+ * © Copyright (c) 2022 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
@@ -45,17 +45,24 @@ void MX_GPIO_Init(void)
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOH_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
/*Configure GPIO pin Output Level */
- HAL_GPIO_WritePin(GPIOD, GPIO_PIN_15, GPIO_PIN_RESET);
+ HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
- /*Configure GPIO pin : PD15 */
- GPIO_InitStruct.Pin = GPIO_PIN_15;
+ /*Configure GPIO pin : PtPin */
+ GPIO_InitStruct.Pin = BUTTON_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(BUTTON_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PtPin */
+ GPIO_InitStruct.Pin = LED_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+ HAL_GPIO_Init(LED_GPIO_Port, &GPIO_InitStruct);
}
/* USER CODE BEGIN 2 */
diff --git a/STM32-project-template.ioc b/STM32-project-template.ioc
index e855b24..827eb33 100644
--- a/STM32-project-template.ioc
+++ b/STM32-project-template.ioc
@@ -1,102 +1,110 @@
#MicroXplorer Configuration settings - do not modify
+File.Version=6
+GPIO.groupedBy=
+KeepUserPlacement=false
+Mcu.CPN=STM32F407VGT6
Mcu.Family=STM32F4
-RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
-ProjectManager.MainLocation=Core/Src
-ProjectManager.ProjectFileName=STM32-project-template.ioc
-PH0-OSC_IN.Signal=RCC_OSC_IN
-RCC.CortexFreq_Value=168000000
-ProjectManager.KeepUserCode=true
-Mcu.UserName=STM32F407VGTx
-Mcu.PinsNb=4
-ProjectManager.NoMain=false
-RCC.PLLCLKFreq_Value=168000000
-RCC.PLLQCLKFreq_Value=84000000
-ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false
-RCC.RTCFreq_Value=32000
-ProjectManager.DefaultFWLocation=true
-ProjectManager.DeletePrevious=true
-RCC.APB1CLKDivider=RCC_HCLK_DIV4
-PinOutPanel.RotationAngle=0
-RCC.FamilyName=M
-RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
-ProjectManager.StackSize=0x400
-RCC.FCLKCortexFreq_Value=168000000
-Mcu.IP2=SYS
-NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
Mcu.IP0=NVIC
Mcu.IP1=RCC
-Mcu.UserConstants=
-ProjectManager.TargetToolchain=Makefile
-Mcu.ThirdPartyNb=0
-RCC.HCLKFreq_Value=168000000
+Mcu.IP2=SYS
Mcu.IPNb=3
-RCC.I2SClocksFreq_Value=192000000
-ProjectManager.PreviousToolchain=
-RCC.APB2TimFreq_Value=84000000
-RCC.VcooutputI2S=192000000
-ProjectManager.RegisterCallBack=
-RCC.LSE_VALUE=32768
-RCC.AHBFreq_Value=168000000
-PH0-OSC_IN.Mode=HSE-External-Oscillator
+Mcu.Name=STM32F407V(E-G)Tx
+Mcu.Package=LQFP100
Mcu.Pin0=PH0-OSC_IN
Mcu.Pin1=PH1-OSC_OUT
-GPIO.groupedBy=
-Mcu.Pin2=PD15
-Mcu.Pin3=VP_SYS_VS_Systick
-RCC.VCOI2SOutputFreq_Value=384000000
-ProjectManager.ProjectBuild=false
-RCC.HSE_VALUE=8000000
-NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-board=custom
-RCC.VCOOutputFreq_Value=336000000
-NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
-ProjectManager.LastFirmware=true
-ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.26.2
-MxDb.Version=DB.6.0.21
-RCC.APB2Freq_Value=42000000
-ProjectManager.BackupPrevious=false
+Mcu.Pin2=PA0-WKUP
+Mcu.Pin3=PD15
+Mcu.Pin4=VP_SYS_VS_Systick
+Mcu.PinsNb=5
+Mcu.ThirdPartyNb=0
+Mcu.UserConstants=
+Mcu.UserName=STM32F407VGTx
MxCube.Version=6.2.1
-RCC.VCOInputFreq_Value=2000000
-File.Version=6
-VP_SYS_VS_Systick.Mode=SysTick
-RCC.EthernetFreq_Value=168000000
+MxDb.Version=DB.6.0.21
+NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.ForceEnableDMAVector=true
+NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
+NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:false
+NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+PA0-WKUP.GPIOParameters=GPIO_Label
+PA0-WKUP.GPIO_Label=BUTTON
+PA0-WKUP.Locked=true
+PA0-WKUP.Signal=GPIO_Input
+PD15.GPIOParameters=GPIO_Label
+PD15.GPIO_Label=LED
+PD15.Signal=GPIO_Output
+PH0-OSC_IN.Mode=HSE-External-Oscillator
+PH0-OSC_IN.Signal=RCC_OSC_IN
+PH1-OSC_OUT.Mode=HSE-External-Oscillator
PH1-OSC_OUT.Signal=RCC_OSC_OUT
-NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-ProjectManager.FreePins=false
-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
+PinOutPanel.RotationAngle=0
ProjectManager.AskForMigrate=true
-Mcu.Name=STM32F407V(E-G)Tx
+ProjectManager.BackupPrevious=false
+ProjectManager.CompilerOptimize=6
+ProjectManager.ComputerToolchain=false
+ProjectManager.CoupleFile=true
+ProjectManager.CustomerFirmwarePackage=
+ProjectManager.DefaultFWLocation=true
+ProjectManager.DeletePrevious=true
+ProjectManager.DeviceId=STM32F407VGTx
+ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.26.2
+ProjectManager.FreePins=false
ProjectManager.HalAssertFull=false
-RCC.RTCHSEDivFreq_Value=4000000
+ProjectManager.HeapSize=0x200
+ProjectManager.KeepUserCode=true
+ProjectManager.LastFirmware=true
+ProjectManager.LibraryCopy=1
+ProjectManager.MainLocation=Core/Src
+ProjectManager.NoMain=false
+ProjectManager.PreviousToolchain=
+ProjectManager.ProjectBuild=false
+ProjectManager.ProjectFileName=STM32-project-template.ioc
ProjectManager.ProjectName=STM32-project-template
+ProjectManager.RegisterCallBack=
+ProjectManager.StackSize=0x400
+ProjectManager.TargetToolchain=Makefile
+ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false
-ProjectManager.CoupleFile=true
-PH1-OSC_OUT.Mode=HSE-External-Oscillator
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false
RCC.48MHZClocksFreq_Value=84000000
-RCC.MCO2PinFreq_Value=168000000
-RCC.SYSCLKFreq_VALUE=168000000
-Mcu.Package=LQFP100
-NVIC.ForceEnableDMAVector=true
-KeepUserPlacement=false
-NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-ProjectManager.CompilerOptimize=6
-ProjectManager.ToolChainLocation=CubeMX
-RCC.LSI_VALUE=32000
-VP_SYS_VS_Systick.Signal=SYS_VS_Systick
-ProjectManager.HeapSize=0x200
-NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-ProjectManager.ComputerToolchain=false
-RCC.HSI_VALUE=16000000
-NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
+RCC.AHBFreq_Value=168000000
+RCC.APB1CLKDivider=RCC_HCLK_DIV4
+RCC.APB1Freq_Value=42000000
+RCC.APB1TimFreq_Value=84000000
RCC.APB2CLKDivider=RCC_HCLK_DIV4
+RCC.APB2Freq_Value=42000000
+RCC.APB2TimFreq_Value=84000000
+RCC.CortexFreq_Value=168000000
+RCC.EthernetFreq_Value=168000000
+RCC.FCLKCortexFreq_Value=168000000
+RCC.FamilyName=M
+RCC.HCLKFreq_Value=168000000
+RCC.HSE_VALUE=8000000
+RCC.HSI_VALUE=16000000
+RCC.I2SClocksFreq_Value=192000000
+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=168000000
+RCC.PLLCLKFreq_Value=168000000
RCC.PLLM=4
RCC.PLLN=168
-RCC.APB1TimFreq_Value=84000000
-NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
-RCC.APB1Freq_Value=42000000
-PD15.Signal=GPIO_Output
-ProjectManager.CustomerFirmwarePackage=
-ProjectManager.DeviceId=STM32F407VGTx
-ProjectManager.LibraryCopy=1
+RCC.PLLQCLKFreq_Value=84000000
+RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
+RCC.RTCFreq_Value=32000
+RCC.RTCHSEDivFreq_Value=4000000
+RCC.SYSCLKFreq_VALUE=168000000
+RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
+RCC.VCOI2SOutputFreq_Value=384000000
+RCC.VCOInputFreq_Value=2000000
+RCC.VCOOutputFreq_Value=336000000
+RCC.VcooutputI2S=192000000
+VP_SYS_VS_Systick.Mode=SysTick
+VP_SYS_VS_Systick.Signal=SYS_VS_Systick
+board=custom