- 论坛徽章:
- 0
|
新情况协调ADC中断和TC中断的方式时,在TC中断的处理函数触发ADC中断,但是在触发一次TC中断时,多次出发ADC中断,如TC中断处理函数里出发ADC中断同时还打印hello maxwit CHINA, ADC中断处理函数只打印hell long,现象如下:
hello maxwit CHINAhello longhello longhello longhello long
code:
static int XYposition(void)
{
printf("hello long");
return 0;
}
static int hello(void)
{
int ret;
writel((1<<14)|(49<<6)|(4<<3)|1,VA(0x58000000));
ret = GkRegisterIsr(IRQ_ADC,XYposition,NULL);
//writel(0xd4,VA(0x58000004));
//writel((1<<14)|(49<<6)|(4<<3)|1,VA(0x58000000));
printf("hello maxwit CHINA");
return 0;
}
static __INIT__ int S3cTouch(void)
{
int ret;
writel(0xd3,VA(0x58000004));
ret = GkRegisterIsr(IRQ_TC,hello,NULL);
//ret = GkRegisterIsr(IRQ_ADC,XYposition,NULL);
//writel(0xd4,VA(0x58000004));
// writel((1<<14)|(49<<6)|(4<<3)|1,VA(0x58000000));
return ret;
}
DRIVER_INIT(S3cTouch); |
|