void ADC_IRQHandler()//监控AD数据,通知系统采集开始,并关闭自身AD数据监控中断,启动第一路采集//并关闭CAN中断,不接收CAN任务
{
OS_CPU_SR cpu_sr = 0u;*************屏蔽过
OS_ENTER_CRITICAL();//关闭中断*************屏蔽过
OSIntEnter();*************屏蔽过
// OSIntNesting++;*************屏蔽过
ADC1->CR1&=0xff3fffbf;//关AD狗中断
ADC2->CR1&=0xff3fffbf;//关AD狗中断
ADC1->SR=0;//清状态;
ADC2->SR=0;
// OSSemPend(AD_IDLE_SEM,0,ERROR);
//设置进入采集状态
// MY_STATUS|=1<<29;//进入采集状态
// OSTaskResume(2);//设置AD_GET1任务就绪
// OS_Sched();//切换任务
// OSSemPost(&TIM_COUNT_SEM);//通知定时开始
TIM2->CR1|=1;//开启定时
TIM3->CR1|=1;//采样定时
OSSemPost(AD_TEST_SEM);//通知进行采样分析
// TIM2->CR1|=1;//开启定时
OSIntExit();*************屏蔽过
OS_EXIT_CRITICAL();*************屏蔽过
}
好像是没保存CPU寄存器?
|