mc_irqs.c 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. #include <stdbool.h>
  2. #include "bsp.h"
  3. #include "adc.h"
  4. /*!
  5. \brief this function handles NMI exception
  6. \param[in] none
  7. \param[out] none
  8. \retval none
  9. */
  10. void NMI_Handler(void)
  11. {
  12. }
  13. /*!
  14. \brief this function handles HardFault exception
  15. \param[in] none
  16. \param[out] none
  17. \retval none
  18. */
  19. void HardFault_Handler(void){
  20. while(1) {
  21. }
  22. }
  23. /*!
  24. \brief this function handles MemManage exception
  25. \param[in] none
  26. \param[out] none
  27. \retval none
  28. */
  29. void MemManage_Handler(void)
  30. {
  31. /* if Memory Manage exception occurs, go to infinite loop */
  32. while (1){
  33. }
  34. }
  35. /*!
  36. \brief this function handles BusFault exception
  37. \param[in] none
  38. \param[out] none
  39. \retval none
  40. */
  41. void BusFault_Handler(void)
  42. {
  43. /* if Bus Fault exception occurs, go to infinite loop */
  44. while (1){
  45. }
  46. }
  47. /*!
  48. \brief this function handles UsageFault exception
  49. \param[in] none
  50. \param[out] none
  51. \retval none
  52. */
  53. void UsageFault_Handler(void)
  54. {
  55. /* if Usage Fault exception occurs, go to infinite loop */
  56. while (1){
  57. }
  58. }
  59. /*!
  60. \brief this function handles DebugMon exception
  61. \param[in] none
  62. \param[out] none
  63. \retval none
  64. */
  65. void DebugMon_Handler(void)
  66. {
  67. }
  68. __weak void MC_Brake_IRQHandler(void) {
  69. }
  70. __weak void MC_Protect_IRQHandler(void) {
  71. }
  72. __weak void TIMER_UP_IRQHandler(void) {
  73. }
  74. __weak void ADC_IRQHandler(void) {
  75. }
  76. __weak void HALL_IRQHandler(void) {
  77. }
  78. __weak void ABI_I_IRQHandler(void) {
  79. }
  80. __weak void Fan_IRQHandler(int idx) {
  81. }
  82. void ADC1_2_IRQHandler(void)
  83. {
  84. ADC_IRQHandler();
  85. adc_clear_irq_flags();
  86. }
  87. void PWM_UP_IRQHandler(void) {
  88. if (TIM_GetIntStatus(pwm_timer, TIM_INT_UPDATE)) {
  89. TIM_ClrIntPendingBit(pwm_timer, TIM_INT_UPDATE);
  90. TIMER_UP_IRQHandler();
  91. }
  92. }
  93. void PWM_BRK_IRQHandler(void) {
  94. if (TIM_GetIntStatus(pwm_timer, TIM_INT_BREAK)) {
  95. TIM_ClrIntPendingBit(pwm_timer, TIM_INT_BREAK);
  96. MC_Protect_IRQHandler();
  97. }
  98. }
  99. void EXTI0_IRQHandler(void)
  100. {
  101. if(RESET != exti_interrupt_flag_get(EXTI_LINE0)){
  102. exti_interrupt_flag_clear(EXTI_LINE0);
  103. }
  104. }
  105. void EXTI2_IRQHandler(void)
  106. {
  107. if(RESET != exti_interrupt_flag_get(EXTI_LINE2)){
  108. exti_interrupt_flag_clear(EXTI_LINE2);
  109. }
  110. }
  111. void EXTI3_IRQHandler(void)
  112. {
  113. if(RESET != exti_interrupt_flag_get(EXTI_LINE3)){
  114. exti_interrupt_flag_clear(EXTI_LINE3);
  115. MC_Brake_IRQHandler();
  116. }
  117. }
  118. void EXTI4_IRQHandler(void)
  119. {
  120. if(RESET != exti_interrupt_flag_get(EXTI_LINE4)){
  121. exti_interrupt_flag_clear(EXTI_LINE4);
  122. }
  123. }
  124. void EXTI5_9_IRQHandler(void){
  125. if(RESET != exti_interrupt_flag_get(EXTI_LINE5)){
  126. exti_interrupt_flag_clear(EXTI_LINE5);
  127. }
  128. if(RESET != exti_interrupt_flag_get(EXTI_LINE6)){
  129. exti_interrupt_flag_clear(EXTI_LINE6);
  130. }
  131. if(RESET != exti_interrupt_flag_get(EXTI_LINE7)){
  132. exti_interrupt_flag_clear(EXTI_LINE7);
  133. }
  134. if(RESET != exti_interrupt_flag_get(EXTI_LINE8)){
  135. exti_interrupt_flag_clear(EXTI_LINE8);
  136. }
  137. if(RESET != exti_interrupt_flag_get(EXTI_LINE9)){
  138. exti_interrupt_flag_clear(EXTI_LINE9);
  139. }
  140. }
  141. void EXTI10_15_IRQHandler(void){
  142. if(RESET != exti_interrupt_flag_get(EXTI_LINE10)){
  143. exti_interrupt_flag_clear(EXTI_LINE10);
  144. }
  145. if(RESET != exti_interrupt_flag_get(EXTI_LINE11)){
  146. exti_interrupt_flag_clear(EXTI_LINE11);
  147. Fan_IRQHandler(0);
  148. }
  149. if(RESET != exti_interrupt_flag_get(EXTI_LINE12)){
  150. exti_interrupt_flag_clear(EXTI_LINE12);
  151. }
  152. if(RESET != exti_interrupt_flag_get(EXTI_LINE13)){
  153. exti_interrupt_flag_clear(EXTI_LINE13);
  154. }
  155. if(RESET != exti_interrupt_flag_get(EXTI_LINE14)){
  156. exti_interrupt_flag_clear(EXTI_LINE14);
  157. }
  158. if(RESET != exti_interrupt_flag_get(EXTI_LINE15)){
  159. exti_interrupt_flag_clear(EXTI_LINE15);
  160. ABI_I_IRQHandler();
  161. }
  162. }