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