#include "VM_Exti.h" uint32_t Hall_Frequency_Num = 0; //霍尔传感器频率计数 uint32_t Hall_Num = 0; //频率计数 uint16_t Hall_Tim_Num = 0; //霍尔传感器定时标志位 uint8_t Hall_Gather_Control = 0; //霍尔采集控制器 //中断服务函数 void EXTI0_IRQHandler(void) { HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); //调用中断处理公用函数 } void EXTI2_IRQHandler(void) { HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2); //调用中断处理公用函数 } void EXTI3_IRQHandler(void) { HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); //调用中断处理公用函数 } void EXTI4_IRQHandler(void) { HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4); //调用中断处理公用函数 } //中断服务程序中需要做的事情 //在HAL库中所有的外部中断服务函数都会调用此函数 //GPIO_Pin:中断引脚号 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { switch(GPIO_Pin) { case GPIO_PIN_2: if(Hall_Gather_Control == 1){ //霍尔传感器计数开始 (后期实现该功能时或许可以通过开关引脚中断控制) Hall_Frequency_Num++; } break; } }