diff --git a/nucleo-wb55-zigbee/Core/Inc/main.h b/nucleo-wb55-zigbee/Core/Inc/main.h index 31463dc..aa1c9c6 100644 --- a/nucleo-wb55-zigbee/Core/Inc/main.h +++ b/nucleo-wb55-zigbee/Core/Inc/main.h @@ -64,22 +64,12 @@ void Error_Handler(void); #define LED_GREEN_GPIO_Port GPIOB #define LED_RED_Pin GPIO_PIN_1 #define LED_RED_GPIO_Port GPIOB -#define JTMS_Pin GPIO_PIN_13 -#define JTMS_GPIO_Port GPIOA -#define JTCK_Pin GPIO_PIN_14 -#define JTCK_GPIO_Port GPIOA #define B2_Pin GPIO_PIN_0 #define B2_GPIO_Port GPIOD #define B3_Pin GPIO_PIN_1 #define B3_GPIO_Port GPIOD -#define JTDO_Pin GPIO_PIN_3 -#define JTDO_GPIO_Port GPIOB #define LED_BLUE_Pin GPIO_PIN_5 #define LED_BLUE_GPIO_Port GPIOB -#define STLINK_RX_Pin GPIO_PIN_6 -#define STLINK_RX_GPIO_Port GPIOB -#define STLINK_TX_Pin GPIO_PIN_7 -#define STLINK_TX_GPIO_Port GPIOB /* USER CODE BEGIN Private defines */ /* USER CODE END Private defines */ diff --git a/nucleo-wb55-zigbee/Core/Src/main.c b/nucleo-wb55-zigbee/Core/Src/main.c index a80c017..479141d 100644 --- a/nucleo-wb55-zigbee/Core/Src/main.c +++ b/nucleo-wb55-zigbee/Core/Src/main.c @@ -115,20 +115,24 @@ void SystemClock_Config(void) RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + /** Configure LSE Drive Capability + */ + HAL_PWR_EnableBkUpAccess(); + __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW); /** Configure the main internal regulator output voltage */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSI1 + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSE |RCC_OSCILLATORTYPE_MSI; + RCC_OscInitStruct.LSEState = RCC_LSE_ON; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.MSIState = RCC_MSI_ON; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT; RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_10; - RCC_OscInitStruct.LSIState = RCC_LSI_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { @@ -153,7 +157,7 @@ void SystemClock_Config(void) /** Initializes the peripherals clocks */ PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RTC; - PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI; + PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE; PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI; PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE0; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) @@ -212,7 +216,6 @@ static void MX_GPIO_Init(void) /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); - __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE(); /*Configure GPIO pin Output Level */ @@ -231,28 +234,12 @@ static void MX_GPIO_Init(void) GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - /*Configure GPIO pins : PA11 PA12 */ - GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12; - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - GPIO_InitStruct.Alternate = GPIO_AF10_USB; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); - /*Configure GPIO pins : B2_Pin B3_Pin */ GPIO_InitStruct.Pin = B2_Pin|B3_Pin; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - /*Configure GPIO pins : STLINK_RX_Pin STLINK_TX_Pin */ - GPIO_InitStruct.Pin = STLINK_RX_Pin|STLINK_TX_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - GPIO_InitStruct.Alternate = GPIO_AF7_USART1; - HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - } /* USER CODE BEGIN 4 */ diff --git a/nucleo-wb55-zigbee/nucleo-wb55-zigbee.ioc b/nucleo-wb55-zigbee/nucleo-wb55-zigbee.ioc index e424189..d188d63 100644 --- a/nucleo-wb55-zigbee/nucleo-wb55-zigbee.ioc +++ b/nucleo-wb55-zigbee/nucleo-wb55-zigbee.ioc @@ -1,22 +1,37 @@ #MicroXplorer Configuration settings - do not modify Mcu.Family=STM32WB +VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate ProjectManager.MainLocation=Core/Src +PCC.Ble.Mode=NOT_SELECTED +PC15-OSC32_OUT.Mode=LSE-External-Oscillator +RCC.PLLQoutputFreq_Value=128000000 RCC.USART1Freq_Value=32000000 +ProjectManager.ProjectFileName=nucleo-wb55-zigbee.ioc RCC.SAI1Freq_Value=128000000 RCC.CortexFreq_Value=32000000 ProjectManager.KeepUserCode=true Mcu.UserName=STM32WB55RGVx +Mcu.PinsNb=10 +ProjectManager.NoMain=false RCC.RFWKPFreq_Value=976.5625 RCC.SMPSCLockSelectionVirtualVirtual=RCC_SMPSCLKSOURCE_HSI +RCC.HCLK3Freq_Value=32000000 RCC.PLLSAI1RoutputFreq_Value=128000000 -PA14.GPIO_Label=JTCK -ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_RTC_Init-RTC-false-HAL-true +PC4.Signal=GPIO_Input PD0.GPIO_Label=B2 [Push Button] VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled +PD1.Signal=GPIO_Input +RCC.RTCFreq_Value=32768 +ProjectManager.DefaultFWLocation=true PB0.GPIO_Label=LED_GREEN -PB6.GPIO_Label=STLINK_RX PD0.Locked=true +ProjectManager.DeletePrevious=true +RCC.HCLK2Freq_Value=32000000 +PC14-OSC32_IN.Signal=RCC_OSC32_IN +boardIOC=true PinOutPanel.RotationAngle=0 +RCC.FamilyName=M RCC.MCO1PinFreq_Value=32000000 ProjectManager.StackSize=0x400 PB5.GPIOParameters=GPIO_Label @@ -27,170 +42,117 @@ NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false Mcu.IP2=RTC Mcu.IP3=SYS Mcu.IP0=NVIC -PA12.Locked=true Mcu.IP1=RCC -PA12.Signal=USB_DP Mcu.UserConstants= RCC.VCOSAI1OutputFreq_Value=256000000 +ProjectManager.TargetToolchain=STM32CubeIDE Mcu.ThirdPartyNb=0 RCC.HCLKFreq_Value=32000000 Mcu.IPNb=4 +RCC.HCLKRFFreq_Value=16000000 ProjectManager.PreviousToolchain= RCC.APB2TimFreq_Value=32000000 PCC.Ble.PowerLevel=Min -PB6.Signal=USART1_TX -Mcu.Pin6=PB0 -PD0.Signal=GPIO_Input -Mcu.Pin7=PB1 -Mcu.Pin8=PA11 -Mcu.Pin9=PA12 -OSC_OUT.Signal=RCC_OSC_OUT -RCC.AHBFreq_Value=32000000 -Mcu.Pin0=PC13 -Mcu.Pin1=PC14-OSC32_IN -Mcu.Pin2=PC15-OSC32_OUT -Mcu.Pin3=PC4 -Mcu.Pin4=OSC_OUT -Mcu.Pin5=OSC_IN -ProjectManager.ProjectBuild=false -RCC.HSE_VALUE=32000000 -NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -RCC.FCLK2Freq_Value=32000000 -NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false -NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true -PD1.GPIOParameters=GPIO_Label -PD1.GPIO_Label=B3 [Push Button] -ProjectManager.FirmwarePackage=STM32Cube FW_WB V1.11.1 -MxDb.Version=DB.6.0.21 -PB0.GPIOParameters=GPIO_Label -ProjectManager.BackupPrevious=false -RCC.VCOInputFreq_Value=32000000 -PC4.GPIO_Label=B1 [Push Button] -PB1.GPIO_Label=LED_RED -File.Version=6 -PB3.GPIOParameters=GPIO_Label -PB7.Signal=USART1_RX -RCC.PLLRCLKFreq_Value=128000000 -PB6.Locked=true -NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false -PB6.GPIOParameters=GPIO_Label -ProjectManager.HalAssertFull=false -PB0.Locked=true -ProjectManager.ProjectName=nucleo-wb55-zigbee -RCC.APB3Freq_Value=16000000 -PA13.GPIOParameters=GPIO_Label -PB7.GPIO_Label=STLINK_TX -Mcu.Package=VFQFPN68 -PB1.Signal=GPIO_Output -PA14.Locked=true -ProjectManager.ToolChainLocation= -RCC.LSI_VALUE=32000 -VP_SYS_VS_Systick.Signal=SYS_VS_Systick -RCC.LSCOPinFreq_Value=32000 -PB5.GPIO_Label=LED_BLUE -RCC.PLLPoutputFreq_Value=128000000 -RCC.APB1TimFreq_Value=32000000 -NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -PC4.Locked=true -RCC.LPUART1Freq_Value=32000000 -RCC.SMPSDivider=1 -ProjectManager.CustomerFirmwarePackage= -PC4.GPIOParameters=GPIO_Label -PC14-OSC32_IN.Locked=true -RCC.MSIClockRange=RCC_MSIRANGE_10 -RCC.HSI48_VALUE=48000000 -PB3.Locked=true -PB3.GPIO_Label=JTDO -VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate -PCC.Ble.Mode=NOT_SELECTED -RCC.PLLQoutputFreq_Value=128000000 -ProjectManager.ProjectFileName=nucleo-wb55-zigbee.ioc -Mcu.PinsNb=20 -ProjectManager.NoMain=false -PC13.Locked=true -RCC.HCLK3Freq_Value=32000000 -PC13.Signal=SYS_WKUP2 -PC4.Signal=GPIO_Input -PD1.Signal=GPIO_Input -ProjectManager.DefaultFWLocation=true -OSC_IN.Locked=true -ProjectManager.DeletePrevious=true -RCC.HCLK2Freq_Value=32000000 -PC14-OSC32_IN.Signal=RCC_OSC32_IN -boardIOC=true -RCC.FamilyName=M -PA13.Signal=SYS_JTMS-SWDIO -PA11.Locked=true -PC15-OSC32_OUT.Locked=true -ProjectManager.TargetToolchain=STM32CubeIDE -PB7.GPIOParameters=GPIO_Label -RCC.HCLKRFFreq_Value=16000000 PB5.Locked=true +PD0.Signal=GPIO_Input +Mcu.Pin6=PD1 +Mcu.Pin7=PB5 ProjectManager.RegisterCallBack= -OSC_IN.Signal=RCC_OSC_IN +Mcu.Pin8=VP_RTC_VS_RTC_Activate RCC.USBFreq_Value=128000000 -RCC.LSE_VALUE=32768 +Mcu.Pin9=VP_SYS_VS_Systick PC15-OSC32_OUT.Signal=RCC_OSC32_OUT +RCC.AHBFreq_Value=32000000 RCC.PLLSAI1PoutputFreq_Value=128000000 +Mcu.Pin0=PC14-OSC32_IN PB1.Locked=true +Mcu.Pin1=PC15-OSC32_OUT +Mcu.Pin2=PC4 +Mcu.Pin3=PB0 +Mcu.Pin4=PB1 +Mcu.Pin5=PD0 RCC.SMPSCLockSelectionVirtual=RCC_SMPSCLKSOURCE_HSI +ProjectManager.ProjectBuild=false +RCC.HSE_VALUE=32000000 +NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false +RCC.FCLK2Freq_Value=32000000 +NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false board=P-NUCLEO-WB55-Nucleo RCC.Cortex2Freq_Value=32000000 RCC.VCOOutputFreq_Value=256000000 +PD1.GPIOParameters=GPIO_Label +NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true +RCC.RTCClockSelection=RCC_RTCCLKSOURCE_LSE ProjectManager.LastFirmware=true RCC.SMPS1Freq_Value=16000000 +PD1.GPIO_Label=B3 [Push Button] +ProjectManager.FirmwarePackage=STM32Cube FW_WB V1.11.1 +MxDb.Version=DB.6.0.21 +PB0.GPIOParameters=GPIO_Label RCC.APB2Freq_Value=32000000 +ProjectManager.BackupPrevious=false MxCube.Version=6.2.1 +PC14-OSC32_IN.Mode=LSE-External-Oscillator +RCC.VCOInputFreq_Value=32000000 PCC.Ble.DataLength=6 +PC4.GPIO_Label=B1 [Push Button] RCC.I2C1Freq_Value=32000000 RCC.RNGFreq_Value=32000 +RCC.LCDFreq_Value=32768 +PB1.GPIO_Label=LED_RED RCC.PLLSAI1QoutputFreq_Value=128000000 RCC.ADCFreq_Value=128000000 +File.Version=6 VP_SYS_VS_Systick.Mode=SysTick NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false -OSC_OUT.Locked=true +RCC.PLLRCLKFreq_Value=128000000 +NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false ProjectManager.FreePins=false -RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C3Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,MSIClockRange,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSAI1PoutputFreq_Value,PLLSAI1QoutputFreq_Value,PLLSAI1RoutputFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,SAI1Freq_Value,SMPS1Freq_Value,SMPSCLockSelectionVirtual,SMPSCLockSelectionVirtualVirtual,SMPSDivider,SYSCLKFreq_VALUE,USART1Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAI1OutputFreq_Value +RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,Cortex2Freq_Value,CortexFreq_Value,FCLK2Freq_Value,FCLKCortexFreq_Value,FamilyName,HCLK2Freq_Value,HCLK3Freq_Value,HCLKFreq_Value,HCLKRFFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C3Freq_Value,LCDFreq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,MSIClockRange,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSAI1PoutputFreq_Value,PLLSAI1QoutputFreq_Value,PLLSAI1RoutputFreq_Value,PWRFreq_Value,RFWKPFreq_Value,RNGFreq_Value,RTCClockSelection,RTCFreq_Value,SAI1Freq_Value,SMPS1Freq_Value,SMPSCLockSelectionVirtual,SMPSCLockSelectionVirtualVirtual,SMPSDivider,SYSCLKFreq_VALUE,USART1Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAI1OutputFreq_Value ProjectManager.AskForMigrate=true Mcu.Name=STM32WB55RGVx RCC.LPTIM2Freq_Value=32000000 -PA13.GPIO_Label=JTMS +ProjectManager.HalAssertFull=false +PB0.Locked=true +ProjectManager.ProjectName=nucleo-wb55-zigbee ProjectManager.UnderRoot=true +RCC.APB3Freq_Value=16000000 ProjectManager.CoupleFile=false -PB3.Signal=SYS_JTDO-SWO RCC.SYSCLKFreq_VALUE=32000000 +Mcu.Package=VFQFPN68 PB5.Signal=GPIO_Output +PB1.Signal=GPIO_Output PCC.Ble.ConnectionInterval=1000.0 NVIC.ForceEnableDMAVector=true KeepUserPlacement=false -PA14.GPIOParameters=GPIO_Label NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false -PA13.Locked=true ProjectManager.CompilerOptimize=6 -PA11.Signal=USB_DM -PA14.Signal=SYS_JTCK-SWCLK +ProjectManager.ToolChainLocation= +RCC.LSI_VALUE=32000 +VP_SYS_VS_Systick.Signal=SYS_VS_Systick +RCC.LSCOPinFreq_Value=32000 ProjectManager.HeapSize=0x200 -Mcu.Pin15=PB5 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false -Mcu.Pin16=PB6 -Mcu.Pin13=PD1 -Mcu.Pin14=PB3 -Mcu.Pin19=VP_SYS_VS_Systick ProjectManager.ComputerToolchain=false -Mcu.Pin17=PB7 RCC.HSI_VALUE=16000000 -Mcu.Pin18=VP_RTC_VS_RTC_Activate NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 -Mcu.Pin11=PA14 -Mcu.Pin12=PD0 +PB5.GPIO_Label=LED_BLUE PD0.GPIOParameters=GPIO_Label -Mcu.Pin10=PA13 -PB7.Locked=true +RCC.PLLPoutputFreq_Value=128000000 +RCC.APB1TimFreq_Value=32000000 +NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false RCC.PWRFreq_Value=32000000 +PC4.Locked=true +RCC.LPUART1Freq_Value=32000000 RCC.APB1Freq_Value=32000000 PD1.Locked=true +RCC.SMPSDivider=1 PB0.Signal=GPIO_Output +ProjectManager.CustomerFirmwarePackage= +PC4.GPIOParameters=GPIO_Label ProjectManager.DeviceId=STM32WB55RGVx +RCC.MSIClockRange=RCC_MSIRANGE_10 ProjectManager.LibraryCopy=1 +RCC.HSI48_VALUE=48000000 PB1.GPIOParameters=GPIO_Label isbadioc=false