触摸屏中断只能进一次就死,而RTC中断却无影响,求高手解答,
void RTCISR(void)
{
rSRCPND|=1<<8;
rINTPND|=1<<8;
// if( RTC_INT_CNT++==0xb964f000);//100years
// RTC_INT_CNT=0;
// GUI_RTC(300,100);
uart_rtc();
}
void RTC_Init()
{
pISR_TICK=(unsigned int )RTCISR;
rTICNT=(1<<7)|127;//ÖÜÆÚ/ 1S
rINTMSK&=~(1<<8);
rSRCPND|=1<<8;
rINTPND|=1<<8;
}
//////////////////////////////////////////////////////触摸屏
void ADC_TOUCH(void)
{
rADCCON=0x4c40;//50·ÖƵ
rADCTSC=0Xd3;
rADCDLY=50000;
rINTMSK=~(1<<31);
rINTSUBMSK=~((1<<10)|(1<<9));
rSUBSRCPND=(1<<10)|(1<<9);
rSRCPND=1<<31;
rINTMOD=0X00;
rINTPND=1<<31;
pISR_ADC = (unsigned)ADC_ISR;
uart_printf("AD_TOUTH IS ENABLE NOW!") ;
}
void ADC_ISR(void) //´¥ÃþÖжÏ
{
rINTSUBMSK|=(1<<9)|(1<<10);
if(rSUBSRCPND&(1<<9))
{
rADCTSC=(1<<3)|(1<<2);
rADCCON|=0X01;
rSUBSRCPND|=1<<9;
rSRCPND=1<<31;
rINTPND=1<<31;
rINTSUBMSK&=~(1<<10);
// uart_printf("test\n\r");
}
if(rSUBSRCPND&(1<<10))//ADCÖжÏ
{
rINTSUBMSK|=(1<<9)|(1<<10);
xdate=rADCDAT0&0X3FF;
ydate=rADCDAT1&0X3FF;
rSUBSRCPND=1<<10;
rSRCPND=1<<31;
rINTPND=1<<31;
rADCTSC=0Xd3;
// key_0x=ydate*0.2961-35.895;
// key_0y=345.2419-xdate*0.4032;
key[0]=ydate*0.2961-35.895;
key[1]=345.2419-xdate*0.4032;
key[2]=1;
uart_printf("%d, %d\n\r",key[0],key[1]);
rINTSUBMSK&=~(1<<9);
// if(ta_flag++==655360)
// ta_flag=0;
}
}