求助!
我想采用定时器读ADC采样结果,外部还有程序上位机通过串口助手控制定时器的启动。但是中断中不能处理串口数据传输,若在中断内处理则,串口接收上位机数据的接收中断被阻塞。若在中断外部处理串口数据传输,则程序一直在定时器中断中执行,不大宋数据。请问有没有什么好的办法,在定时器中断执行一次后回到中断源处继续执行主程序?
/***************************************************函数名称:Timer初始化函数功能:***************************************************/void TimerA0Init(void){ TACTL = TASSEL1+TACLR; P1SEL |= BIT1; //CCTL0 = CCIE; BCSCTL1 |= DIVA_3; CCR0 = 800000; TACTL |= MC0;//+TAIE}
/*定时器中断:读转换值,并通过串口发送到上位机*/
#pragma vector = TIMERA0_VECTOR
__interrupt void TimeA(void)
{
//P1SEL&=~BIT0;
//P1DIR|= BIT0;
ADC12CTL0 |= ADC12SC;
//ADC12CTL0&=~ENC;
result = ADC12MEM0;//读转换结果
/* if(result>FLAG) com1.fpSendString(&com1,"right\r\n",14); else com1.fpSendString(&com1,"error\r\n",14);*/
}
|