mc_irqs.c 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. #include <stdbool.h>
  2. #include "bsp/bsp.h"
  3. #include "bsp/bsp_driver.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 TMR1_OVF_TMR10_IRQHandler(void) {
  88. if (tmr_flag_get(MOS_PWM_TIMER, TMR_OVF_FLAG)) {
  89. tmr_flag_clear(MOS_PWM_TIMER, TMR_OVF_FLAG);
  90. TIMER_UP_IRQHandler();
  91. }
  92. }
  93. void TMR1_BRK_TMR9_IRQHandler(void) {
  94. if (tmr_flag_get(MOS_PWM_TIMER, TMR_BRK_FLAG)) {
  95. tmr_flag_clear(MOS_PWM_TIMER, TMR_BRK_FLAG);
  96. MC_Protect_IRQHandler();
  97. }
  98. }
  99. void EXINT0_IRQHandler(void)
  100. {
  101. if(RESET != exint_flag_get(EXINT_LINE_0)){
  102. exint_flag_clear(EXINT_LINE_0);
  103. }
  104. }
  105. void EXINT2_IRQHandler(void)
  106. {
  107. if(RESET != exint_flag_get(EXINT_LINE_2)){
  108. exint_flag_clear(EXINT_LINE_2);
  109. MC_Brake_IRQHandler();
  110. }
  111. }
  112. void EXINT3_IRQHandler(void)
  113. {
  114. if(RESET != exint_flag_get(EXINT_LINE_3)){
  115. exint_flag_clear(EXINT_LINE_3);
  116. }
  117. }
  118. void EXINT4_IRQHandler(void)
  119. {
  120. if(RESET != exint_flag_get(EXINT_LINE_4)){
  121. exint_flag_clear(EXINT_LINE_4);
  122. //MC_Brake_IRQHandler();
  123. }
  124. }
  125. void EXINT9_5_IRQHandler(void){
  126. if(RESET != exint_flag_get(EXINT_LINE_5)){
  127. exint_flag_clear(EXINT_LINE_5);
  128. }
  129. if(RESET != exint_flag_get(EXINT_LINE_6)){
  130. exint_flag_clear(EXINT_LINE_6);
  131. ABI_I_IRQHandler();
  132. }
  133. if(RESET != exint_flag_get(EXINT_LINE_7)){
  134. exint_flag_clear(EXINT_LINE_7);
  135. }
  136. if(RESET != exint_flag_get(EXINT_LINE_8)){
  137. exint_flag_clear(EXINT_LINE_8);
  138. }
  139. if(RESET != exint_flag_get(EXINT_LINE_9)){
  140. exint_flag_clear(EXINT_LINE_9);
  141. }
  142. }
  143. void EXINT15_10_IRQHandler(void){
  144. if(RESET != exint_flag_get(EXINT_LINE_10)){
  145. exint_flag_clear(EXINT_LINE_10);
  146. }
  147. if(RESET != exint_flag_get(EXINT_LINE_11)){
  148. exint_flag_clear(EXINT_LINE_11);
  149. Fan_IRQHandler(0);
  150. }
  151. if(RESET != exint_flag_get(EXINT_LINE_12)){
  152. exint_flag_clear(EXINT_LINE_12);
  153. }
  154. if(RESET != exint_flag_get(EXINT_LINE_13)){
  155. exint_flag_clear((EXINT_LINE_13));
  156. }
  157. if(RESET != exint_flag_get(EXINT_LINE_14)){
  158. exint_flag_clear(EXINT_LINE_14);
  159. }
  160. if(RESET != exint_flag_get(EXINT_LINE_15)){
  161. exint_flag_clear(EXINT_LINE_15);
  162. }
  163. }