请教一个前后台代码的问题外部中断触摸屏TP的 一段代码:
在主函数里面:
int main(void)
{
InitTouchpanel(); //初始化ADS7846控制信号以及中断信号
while(1);
return 0;
}
中断处理函数:
void TouchpanelHandle(void)
{
ReadTouchpanel(); //对触点进行采样校准,并输出触点坐标
*(RP)GPIO_PORTA_INTRCLR |= 0x20; 清除标志
*(RP)GPIO_PORTA_INTRCLR &=~(0x20);
return;
}
这样每次检测到笔中断 ,都可以打印出代码。
代码换成下面前后台时候方式,却无法打印出坐标,等于没有执行到ReadTouchpanel函数,为什么,见鬼了:
主函数main.c
extern Pan;
int main(void)
{
InitTouchpanel(); //初始化ADS7846控制信号以及中断信号
while(1);
{
if(Pan==1)
{
ReadTouchpanel(); //对触点进行采样校准,并输出触点坐标
Pan=0;
}
}
return 0;
}
*.c
volatile int Pan=0;
中断代码:
void TouchpanelHandle(void)
{
Pan=1;
*(RP)GPIO_PORTA_INTRCLR |= 0x20; 清除标志
*(RP)GPIO_PORTA_INTRCLR &=~(0x20);
return;
}
很简单代码帮忙看看,谢谢 |