Browse Source

ble: Enable SW1 interrupt

ble
Andreas Berthoud 5 years ago
parent
commit
7c1f290d24
  1. 1
      nucleo-wb55-ble/Core/Inc/main.h
  2. 1
      nucleo-wb55-ble/Core/Inc/stm32wbxx_it.h
  3. 6
      nucleo-wb55-ble/Core/Src/main.c
  4. 14
      nucleo-wb55-ble/Core/Src/stm32wbxx_it.c
  5. 9
      nucleo-wb55-ble/nucleo-wb55-ble.ioc

1
nucleo-wb55-ble/Core/Inc/main.h

@ -63,6 +63,7 @@ void Error_Handler(void);
/* Private defines -----------------------------------------------------------*/
#define SW1_Pin GPIO_PIN_4
#define SW1_GPIO_Port GPIOC
#define SW1_EXTI_IRQn EXTI4_IRQn
#define LED_GREEN_Pin GPIO_PIN_0
#define LED_GREEN_GPIO_Port GPIOB
#define LED_RED_Pin GPIO_PIN_1

1
nucleo-wb55-ble/Core/Inc/stm32wbxx_it.h

@ -56,6 +56,7 @@ void SVC_Handler(void);
void DebugMon_Handler(void);
void PendSV_Handler(void);
void SysTick_Handler(void);
void EXTI4_IRQHandler(void);
void HSEM_IRQHandler(void);
/* USER CODE BEGIN EFP */

6
nucleo-wb55-ble/Core/Src/main.c

@ -250,7 +250,7 @@ static void MX_GPIO_Init(void)
/*Configure GPIO pin : SW1_Pin */
GPIO_InitStruct.Pin = SW1_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(SW1_GPIO_Port, &GPIO_InitStruct);
@ -267,6 +267,10 @@ static void MX_GPIO_Init(void)
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI4_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(EXTI4_IRQn);
}
/* USER CODE BEGIN 4 */

14
nucleo-wb55-ble/Core/Src/stm32wbxx_it.c

@ -200,6 +200,20 @@ void SysTick_Handler(void)
/* please refer to the startup file (startup_stm32wbxx.s). */
/******************************************************************************/
/**
* @brief This function handles EXTI line4 interrupt.
*/
void EXTI4_IRQHandler(void)
{
/* USER CODE BEGIN EXTI4_IRQn 0 */
/* USER CODE END EXTI4_IRQn 0 */
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);
/* USER CODE BEGIN EXTI4_IRQn 1 */
/* USER CODE END EXTI4_IRQn 1 */
}
/**
* @brief This function handles HSEM global interrupt.
*/

9
nucleo-wb55-ble/nucleo-wb55-ble.ioc

@ -7,8 +7,8 @@ RCC.CortexFreq_Value=32000000
ProjectManager.KeepUserCode=true
Mcu.UserName=STM32WB55RGVx
RF1.Signal=RF_RF1
RCC.SMPSCLockSelectionVirtualVirtual=RCC_SMPSCLKSOURCE_HSI
RCC.RFWKPFreq_Value=32768
RCC.SMPSCLockSelectionVirtualVirtual=RCC_SMPSCLKSOURCE_HSI
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,3-MX_RF_Init-RF-false-HAL-true,4-MX_RTC_Init-RTC-false-HAL-true,5-APPE_Init-STM32_WPAN-false-HAL-false,0-MX_HSEM_Init-HSEM-false-HAL-true
@ -111,13 +111,14 @@ PB3.GPIO_Label=JTDO
VP_RTC_VS_RTC_Activate.Signal=RTC_VS_RTC_Activate
PCC.Ble.Mode=NOT_SELECTED
PC15-OSC32_OUT.Mode=LSE-External-Oscillator
NVIC.EXTI4_IRQn=true\:0\:0\:false\:false\:true\:true\:true
RCC.PLLQoutputFreq_Value=128000000
ProjectManager.ProjectFileName=nucleo-wb55-ble.ioc
VP_STM32_WPAN_VS_BLE_HOST.Mode=STM32_WPAN_Enabled
Mcu.PinsNb=20
ProjectManager.NoMain=false
RCC.HCLK3Freq_Value=32000000
PC4.Signal=GPIO_Input
PC4.Signal=GPXTI4
PD1.Signal=GPIO_Input
ProjectManager.DefaultFWLocation=true
VP_HSEM_VS_HSEM.Signal=HSEM_VS_HSEM
@ -148,8 +149,8 @@ RCC.APB2Freq_Value=32000000
MxCube.Version=6.2.1
PCC.Ble.DataLength=6
RCC.I2C1Freq_Value=32000000
RCC.RNGFreq_Value=32000
RCC.LCDFreq_Value=32768
RCC.RNGFreq_Value=32000
RCC.PLLSAI1QoutputFreq_Value=128000000
RCC.ADCFreq_Value=128000000
VP_SYS_VS_Systick.Mode=SysTick
@ -169,6 +170,7 @@ ProjectManager.CoupleFile=false
PB3.Signal=SYS_JTDO-SWO
RCC.SYSCLKFreq_VALUE=32000000
PB5.Signal=GPIO_Output
SH.GPXTI4.0=GPIO_EXTI4
PCC.Ble.ConnectionInterval=1000.0
NVIC.ForceEnableDMAVector=true
KeepUserPlacement=false
@ -184,6 +186,7 @@ ProjectManager.HeapSize=0x200
Mcu.Pin15=VP_RTC_VS_RTC_Activate
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
Mcu.Pin16=VP_SEQUENCER_VS_SEQUENCER
SH.GPXTI4.ConfNb=1
Mcu.Pin13=PB5
Mcu.Pin14=VP_HSEM_VS_HSEM
Mcu.Pin19=VP_TINY_LPM_VS_TINY_LPM

Loading…
Cancel
Save