Browse Source

zigbee: Enable RF, use HSE oscillator

test
Andreas Berthoud 5 years ago
parent
commit
7784ebe527
  1. 33
      nucleo-wb55-zigbee/Core/Src/main.c
  2. 38
      nucleo-wb55-zigbee/nucleo-wb55-zigbee.ioc

33
nucleo-wb55-zigbee/Core/Src/main.c

@ -40,6 +40,7 @@
/* USER CODE END PM */ /* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/
RTC_HandleTypeDef hrtc; RTC_HandleTypeDef hrtc;
/* USER CODE BEGIN PV */ /* USER CODE BEGIN PV */
@ -50,6 +51,7 @@ RTC_HandleTypeDef hrtc;
void SystemClock_Config(void); void SystemClock_Config(void);
static void MX_GPIO_Init(void); static void MX_GPIO_Init(void);
static void MX_RTC_Init(void); static void MX_RTC_Init(void);
static void MX_RF_Init(void);
/* USER CODE BEGIN PFP */ /* USER CODE BEGIN PFP */
/* USER CODE END PFP */ /* USER CODE END PFP */
@ -88,6 +90,7 @@ int main(void)
/* Initialize all configured peripherals */ /* Initialize all configured peripherals */
MX_GPIO_Init(); MX_GPIO_Init();
MX_RTC_Init(); MX_RTC_Init();
MX_RF_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
/* USER CODE END 2 */ /* USER CODE END 2 */
@ -125,8 +128,9 @@ void SystemClock_Config(void)
/** Initializes the RCC Oscillators according to the specified parameters /** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure. * in the RCC_OscInitTypeDef structure.
*/ */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSE RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE
|RCC_OSCILLATORTYPE_MSI; |RCC_OSCILLATORTYPE_LSE|RCC_OSCILLATORTYPE_MSI;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.LSEState = RCC_LSE_ON; RCC_OscInitStruct.LSEState = RCC_LSE_ON;
RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.MSIState = RCC_MSI_ON; RCC_OscInitStruct.MSIState = RCC_MSI_ON;
@ -156,8 +160,10 @@ void SystemClock_Config(void)
} }
/** Initializes the peripherals clocks /** Initializes the peripherals clocks
*/ */
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RTC; PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SMPS|RCC_PERIPHCLK_RFWAKEUP
|RCC_PERIPHCLK_RTC;
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE; PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
PeriphClkInitStruct.RFWakeUpClockSelection = RCC_RFWKPCLKSOURCE_HSE_DIV1024;
PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI; PeriphClkInitStruct.SmpsClockSelection = RCC_SMPSCLKSOURCE_HSI;
PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE0; PeriphClkInitStruct.SmpsDivSelection = RCC_SMPSCLKDIV_RANGE0;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
@ -169,6 +175,27 @@ void SystemClock_Config(void)
/* USER CODE END Smps */ /* USER CODE END Smps */
} }
/**
* @brief RF Initialization Function
* @param None
* @retval None
*/
static void MX_RF_Init(void)
{
/* USER CODE BEGIN RF_Init 0 */
/* USER CODE END RF_Init 0 */
/* USER CODE BEGIN RF_Init 1 */
/* USER CODE END RF_Init 1 */
/* USER CODE BEGIN RF_Init 2 */
/* USER CODE END RF_Init 2 */
}
/** /**
* @brief RTC Initialization Function * @brief RTC Initialization Function
* @param None * @param None

38
nucleo-wb55-zigbee/nucleo-wb55-zigbee.ioc

@ -11,21 +11,22 @@ RCC.SAI1Freq_Value=128000000
RCC.CortexFreq_Value=32000000 RCC.CortexFreq_Value=32000000
ProjectManager.KeepUserCode=true ProjectManager.KeepUserCode=true
Mcu.UserName=STM32WB55RGVx Mcu.UserName=STM32WB55RGVx
Mcu.PinsNb=11 Mcu.PinsNb=14
RF1.Signal=RF_RF1
ProjectManager.NoMain=false ProjectManager.NoMain=false
RCC.RFWKPFreq_Value=976.5625 RCC.RFWKPFreq_Value=976.5625
RCC.SMPSCLockSelectionVirtualVirtual=RCC_SMPSCLKSOURCE_HSI RCC.SMPSCLockSelectionVirtualVirtual=RCC_SMPSCLKSOURCE_HSI
RCC.HCLK3Freq_Value=32000000 RCC.HCLK3Freq_Value=32000000
RCC.PLLSAI1RoutputFreq_Value=128000000 RCC.PLLSAI1RoutputFreq_Value=128000000
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 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,0-MX_HSEM_Init-HSEM-false-HAL-true
PC4.Signal=GPIO_Input PC4.Signal=GPIO_Input
PD0.GPIO_Label=B2 [Push Button] PD0.GPIO_Label=B2 [Push Button]
VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
PD1.Signal=GPIO_Input PD1.Signal=GPIO_Input
RCC.RTCFreq_Value=32768 RCC.RTCFreq_Value=32768
ProjectManager.DefaultFWLocation=true ProjectManager.DefaultFWLocation=true
VP_HSEM_VS_HSEM.Signal=HSEM_VS_HSEM
PB0.GPIO_Label=LED_GREEN PB0.GPIO_Label=LED_GREEN
VP_HSEM_VS_HSEM.Signal=HSEM_VS_HSEM
PD0.Locked=true PD0.Locked=true
ProjectManager.DeletePrevious=true ProjectManager.DeletePrevious=true
RCC.HCLK2Freq_Value=32000000 RCC.HCLK2Freq_Value=32000000
@ -38,11 +39,12 @@ ProjectManager.StackSize=0x400
PB5.GPIOParameters=GPIO_Label PB5.GPIOParameters=GPIO_Label
RCC.I2C3Freq_Value=32000000 RCC.I2C3Freq_Value=32000000
RCC.LPTIM1Freq_Value=32000000 RCC.LPTIM1Freq_Value=32000000
Mcu.IP4=SYS Mcu.IP4=RTC
RCC.FCLKCortexFreq_Value=32000000 RCC.FCLKCortexFreq_Value=32000000
Mcu.IP5=SYS
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
Mcu.IP2=RCC Mcu.IP2=RCC
Mcu.IP3=RTC Mcu.IP3=RF
Mcu.IP0=HSEM Mcu.IP0=HSEM
Mcu.IP1=NVIC Mcu.IP1=NVIC
Mcu.UserConstants= Mcu.UserConstants=
@ -50,29 +52,32 @@ RCC.VCOSAI1OutputFreq_Value=256000000
ProjectManager.TargetToolchain=STM32CubeIDE ProjectManager.TargetToolchain=STM32CubeIDE
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
RCC.HCLKFreq_Value=32000000 RCC.HCLKFreq_Value=32000000
Mcu.IPNb=5 Mcu.IPNb=6
RCC.HCLKRFFreq_Value=16000000 RCC.HCLKRFFreq_Value=16000000
ProjectManager.PreviousToolchain= ProjectManager.PreviousToolchain=
RCC.APB2TimFreq_Value=32000000 RCC.APB2TimFreq_Value=32000000
PCC.Ble.PowerLevel=Min PCC.Ble.PowerLevel=Min
PB5.Locked=true PB5.Locked=true
Mcu.Pin6=PB0
PD0.Signal=GPIO_Input PD0.Signal=GPIO_Input
Mcu.Pin6=PD1 Mcu.Pin7=PB1
Mcu.Pin7=PB5
ProjectManager.RegisterCallBack= ProjectManager.RegisterCallBack=
Mcu.Pin8=VP_HSEM_VS_HSEM Mcu.Pin8=PD0
OSC_IN.Signal=RCC_OSC_IN
RCC.USBFreq_Value=128000000 RCC.USBFreq_Value=128000000
Mcu.Pin9=VP_RTC_VS_RTC_Activate OSC_OUT.Mode=HSE-External-Oscillator
Mcu.Pin9=PD1
PC15-OSC32_OUT.Signal=RCC_OSC32_OUT PC15-OSC32_OUT.Signal=RCC_OSC32_OUT
OSC_OUT.Signal=RCC_OSC_OUT
RCC.AHBFreq_Value=32000000 RCC.AHBFreq_Value=32000000
RCC.PLLSAI1PoutputFreq_Value=128000000 RCC.PLLSAI1PoutputFreq_Value=128000000
Mcu.Pin0=PC14-OSC32_IN Mcu.Pin0=PC14-OSC32_IN
PB1.Locked=true PB1.Locked=true
Mcu.Pin1=PC15-OSC32_OUT Mcu.Pin1=PC15-OSC32_OUT
Mcu.Pin2=PC4 Mcu.Pin2=PC4
Mcu.Pin3=PB0 Mcu.Pin3=RF1
Mcu.Pin4=PB1 Mcu.Pin4=OSC_OUT
Mcu.Pin5=PD0 Mcu.Pin5=OSC_IN
RCC.SMPSCLockSelectionVirtual=RCC_SMPSCLKSOURCE_HSI RCC.SMPSCLockSelectionVirtual=RCC_SMPSCLKSOURCE_HSI
ProjectManager.ProjectBuild=false ProjectManager.ProjectBuild=false
RCC.HSE_VALUE=32000000 RCC.HSE_VALUE=32000000
@ -128,22 +133,27 @@ PB1.Signal=GPIO_Output
PCC.Ble.ConnectionInterval=1000.0 PCC.Ble.ConnectionInterval=1000.0
NVIC.ForceEnableDMAVector=true NVIC.ForceEnableDMAVector=true
KeepUserPlacement=false KeepUserPlacement=false
OSC_IN.Mode=HSE-External-Oscillator
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
ProjectManager.CompilerOptimize=6 ProjectManager.CompilerOptimize=6
RF1.Mode=RF1_Activate
ProjectManager.ToolChainLocation= ProjectManager.ToolChainLocation=
RCC.LSI_VALUE=32000 RCC.LSI_VALUE=32000
VP_SYS_VS_Systick.Signal=SYS_VS_Systick VP_SYS_VS_Systick.Signal=SYS_VS_Systick
RCC.LSCOPinFreq_Value=32000 RCC.LSCOPinFreq_Value=32000
ProjectManager.HeapSize=0x200 ProjectManager.HeapSize=0x200
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
Mcu.Pin13=VP_SYS_VS_Systick
ProjectManager.ComputerToolchain=false ProjectManager.ComputerToolchain=false
RCC.HSI_VALUE=16000000 RCC.HSI_VALUE=16000000
NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
Mcu.Pin11=VP_HSEM_VS_HSEM
Mcu.Pin12=VP_RTC_VS_RTC_Activate
VP_HSEM_VS_HSEM.Mode=HSEM_Activate VP_HSEM_VS_HSEM.Mode=HSEM_Activate
PB5.GPIO_Label=LED_BLUE PB5.GPIO_Label=LED_BLUE
PD0.GPIOParameters=GPIO_Label PD0.GPIOParameters=GPIO_Label
RCC.PLLPoutputFreq_Value=128000000 RCC.PLLPoutputFreq_Value=128000000
Mcu.Pin10=VP_SYS_VS_Systick Mcu.Pin10=PB5
RCC.APB1TimFreq_Value=32000000 RCC.APB1TimFreq_Value=32000000
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
RCC.PWRFreq_Value=32000000 RCC.PWRFreq_Value=32000000

Loading…
Cancel
Save