| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- #include <stdbool.h>
- #include "bsp.h"
- #include "adc.h"
- /*!
- \brief this function handles NMI exception
- \param[in] none
- \param[out] none
- \retval none
- */
- void NMI_Handler(void)
- {
- }
- /*!
- \brief this function handles HardFault exception
- \param[in] none
- \param[out] none
- \retval none
- */
- __asm void HardFault_Handler(void){
- IMPORT fault_backtrace
- mov r0, lr ; get lr
- mov r1, sp ; get stack pointer (current is MSP)
- bl fault_backtrace
- }
- /*!
- \brief this function handles MemManage exception
- \param[in] none
- \param[out] none
- \retval none
- */
- void MemManage_Handler(void)
- {
- /* if Memory Manage exception occurs, go to infinite loop */
- while (1){
- }
- }
- /*!
- \brief this function handles BusFault exception
- \param[in] none
- \param[out] none
- \retval none
- */
- void BusFault_Handler(void)
- {
- /* if Bus Fault exception occurs, go to infinite loop */
- while (1){
- }
- }
- /*!
- \brief this function handles UsageFault exception
- \param[in] none
- \param[out] none
- \retval none
- */
- void UsageFault_Handler(void)
- {
- /* if Usage Fault exception occurs, go to infinite loop */
- while (1){
- }
- }
- /*!
- \brief this function handles DebugMon exception
- \param[in] none
- \param[out] none
- \retval none
- */
- void DebugMon_Handler(void)
- {
- }
- extern void mc_phase_current_handler(void);
- extern void hall_sensor_handler(void);
- extern void mc_brake_handler(void);
- extern void mc_pwm_up_handler(void);
- void ADC0_1_IRQHandler(void)
- {
- adc_disable_ext_trigger();
- mc_phase_current_handler();
- //adc_enable_ext_trigger();
- /* clear the ADC flag */
- adc_clear_irq_flags();
- }
- void TIMER0_UP_IRQHandler(void) {
- if (timer_interrupt_flag_get(TIMER0, TIMER_INT_FLAG_UP)) {
- timer_interrupt_flag_clear(TIMER0, TIMER_INT_FLAG_UP);
- mc_pwm_up_handler();
- }
- }
- void TIMER0_BRK_IRQHandler(void) {
- if (timer_interrupt_flag_get(TIMER0, TIMER_INT_FLAG_BRK)) {
- timer_interrupt_flag_clear(TIMER0, TIMER_INT_FLAG_BRK);
- mc_brake_handler();
- }
- }
- void TIMER5_IRQHandler(void) {
- if (timer_interrupt_flag_get(TIMER5, TIMER_INT_FLAG_UP)) {
- timer_interrupt_flag_clear(TIMER5, TIMER_INT_FLAG_UP);
- }
- }
- #ifdef GD32_FOC_DEMO
- void EXTI0_IRQHandler(void)
- {
- if(RESET != exti_interrupt_flag_get(EXTI_0)){
- exti_interrupt_flag_clear(EXTI_0);
- hall_sensor_handler();
- }
- }
- #endif
- void EXTI2_IRQHandler(void)
- {
- if(RESET != exti_interrupt_flag_get(EXTI_2)){
- exti_interrupt_flag_clear(EXTI_2);
- }
- }
- void EXTI3_IRQHandler(void)
- {
- if(RESET != exti_interrupt_flag_get(EXTI_3)){
- exti_interrupt_flag_clear(EXTI_3);
- }
- }
- void EXTI4_IRQHandler(void)
- {
- if(RESET != exti_interrupt_flag_get(EXTI_4)){
- exti_interrupt_flag_clear(EXTI_4);
- mc_brake_handler();
- }
- }
- void EXTI5_9_IRQHandler(void){
- if(RESET != exti_interrupt_flag_get(EXTI_5)){
- exti_interrupt_flag_clear(EXTI_5);
- mc_brake_handler();
- }
- if(RESET != exti_interrupt_flag_get(EXTI_6)){
- exti_interrupt_flag_clear(EXTI_6);
- hall_sensor_handler();
- }
- if(RESET != exti_interrupt_flag_get(EXTI_7)){
- exti_interrupt_flag_clear(EXTI_7);
- hall_sensor_handler();
- }
- if(RESET != exti_interrupt_flag_get(EXTI_8)){
- exti_interrupt_flag_clear(EXTI_8);
- #ifndef GD32_FOC_DEMO
- hall_sensor_handler();
- #endif
- }
- if(RESET != exti_interrupt_flag_get(EXTI_9)){
- exti_interrupt_flag_clear(EXTI_9);
- }
- }
- void EXTI10_15_IRQHandler(void){
- if(RESET != exti_interrupt_flag_get(EXTI_10)){
- exti_interrupt_flag_clear(EXTI_10);
- }
- if(RESET != exti_interrupt_flag_get(EXTI_11)){
- exti_interrupt_flag_clear(EXTI_11);
- }
- if(RESET != exti_interrupt_flag_get(EXTI_12)){
- exti_interrupt_flag_clear(EXTI_12);
- }
- if(RESET != exti_interrupt_flag_get(EXTI_13)){
- exti_interrupt_flag_clear(EXTI_13);
- }
- if(RESET != exti_interrupt_flag_get(EXTI_14)){
- exti_interrupt_flag_clear(EXTI_14);
- }
- if(RESET != exti_interrupt_flag_get(EXTI_15)){
- exti_interrupt_flag_clear(EXTI_15);
- }
- }
|