stm32wbxx_it.c 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #include "main.h"
  2. #include "stm32wbxx_it.h"
  3. #include "FreeRTOS.h"
  4. #include "task.h"
  5. extern PCD_HandleTypeDef hpcd_USB_FS;
  6. extern ADC_HandleTypeDef hadc1;
  7. extern COMP_HandleTypeDef hcomp1;
  8. extern RTC_HandleTypeDef hrtc;
  9. extern TIM_HandleTypeDef htim1;
  10. extern TIM_HandleTypeDef htim2;
  11. extern TIM_HandleTypeDef htim16;
  12. extern TIM_HandleTypeDef htim17;
  13. extern void HW_TS_RTC_Wakeup_Handler();
  14. extern void HW_IPCC_Tx_Handler();
  15. extern void HW_IPCC_Rx_Handler();
  16. void NMI_Handler(void) {
  17. if (LL_RCC_IsActiveFlag_HSECSS()) {
  18. LL_RCC_ClearFlag_HSECSS();
  19. NVIC_SystemReset();
  20. }
  21. }
  22. void HardFault_Handler(void) {
  23. if ((*(volatile uint32_t *)CoreDebug_BASE) & (1 << 0)) {
  24. __asm("bkpt 1");
  25. }
  26. while (1) {}
  27. }
  28. void MemManage_Handler(void) {
  29. __asm("bkpt 1");
  30. while (1) {}
  31. }
  32. void BusFault_Handler(void) {
  33. __asm("bkpt 1");
  34. while (1) {}
  35. }
  36. void UsageFault_Handler(void) {
  37. __asm("bkpt 1");
  38. while (1) {}
  39. }
  40. void DebugMon_Handler(void) {
  41. }
  42. void SysTick_Handler(void) {
  43. HAL_IncTick();
  44. }
  45. void TAMP_STAMP_LSECSS_IRQHandler(void) {
  46. if (LL_RCC_IsActiveFlag_LSECSS()) {
  47. LL_RCC_ClearFlag_LSECSS();
  48. if (!LL_RCC_LSE_IsReady()) {
  49. // TODO: notify user about issue with LSE
  50. LL_RCC_ForceBackupDomainReset();
  51. LL_RCC_ReleaseBackupDomainReset();
  52. NVIC_SystemReset();
  53. }
  54. }
  55. }
  56. void RCC_IRQHandler(void) {
  57. }
  58. void ADC1_IRQHandler(void) {
  59. HAL_ADC_IRQHandler(&hadc1);
  60. }
  61. void USB_LP_IRQHandler(void) {
  62. HAL_PCD_IRQHandler(&hpcd_USB_FS);
  63. }
  64. void COMP_IRQHandler(void) {
  65. HAL_COMP_IRQHandler(&hcomp1);
  66. }
  67. void TIM1_UP_TIM16_IRQHandler(void) {
  68. HAL_TIM_IRQHandler(&htim1);
  69. HAL_TIM_IRQHandler(&htim16);
  70. }
  71. void TIM1_TRG_COM_TIM17_IRQHandler(void) {
  72. HAL_TIM_IRQHandler(&htim1);
  73. }
  74. void TIM1_CC_IRQHandler(void) {
  75. HAL_TIM_IRQHandler(&htim1);
  76. }
  77. void HSEM_IRQHandler(void) {
  78. HAL_HSEM_IRQHandler();
  79. }
  80. void RTC_WKUP_IRQHandler(void){
  81. HW_TS_RTC_Wakeup_Handler();
  82. }
  83. void IPCC_C1_TX_IRQHandler(void){
  84. HW_IPCC_Tx_Handler();
  85. }
  86. void IPCC_C1_RX_IRQHandler(void){
  87. HW_IPCC_Rx_Handler();
  88. }