mc_irqs.c 3.7 KB

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