mc_irqs.c 3.4 KB

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