You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

57 lines
1.4 KiB

#include "irqhandler.h"
void NMI_IRQHandler(void) {}
void HardFault_IRQHandler(void) {
while (1) {
}
}
void SVC_IRQHandler(void) {}
void PendSV_IRQHandler(void) {}
uint32_t g_sys_sick = 0;
uint32_t print_time=0;
void SysTick_IRQHandler(void) {
g_sys_sick++;
print_time++;
}
/*********************************************************
函数名: void ADC_IRQHandler(void)
描 述: ADC中断处理
输入值: 无
输出值: 无
返回值: 无
**********************************************************/
extern uint16_t meanvalue;
void ADC_IRQHandler()
{
if ((ADC_GetIFStatus(ADC_IF_ACPOVER) == SET) && (ADC_GetIEStatus(ADC_IE_ACPOVER) == SET))
{//ADC平均值中断
ADC_ClearIFStatus(ADC_IF_ACPOVER);
meanvalue = ADC_GetACPMeanValue();
printf("acp\r\n");
}
if ((ADC_GetIFStatus(ADC_IF_ACPMIN) == SET) && (ADC_GetIEStatus(ADC_IE_ACPMIN) == SET))
{//ADC平均值与最小阈值比较中断
printf("little\r\n");
ADC_ClearIFStatus(ADC_IF_ACPMIN);
}
if ((ADC_GetIFStatus(ADC_IF_ACPMAX) == SET) && (ADC_GetIEStatus(ADC_IE_ACPMAX) == SET))
{//ADC平均值与最大阈值比较中断
printf("big\r\n");
ADC_ClearIFStatus(ADC_IF_ACPMAX);
}
if ((ADC_GetIFStatus(ADC_IF) == SET) && (ADC_GetIEStatus(ADC_IE) == SET))
{//ADC每次采集完成中断
printf("if\r\n");
ADC_ClearIFStatus(ADC_IF);
}
}