|
在触摸屏的驱动中,有一个定时器中断,就是标示gIntrTouchChanged这个逻辑中断的。我有不明白的地方
1、我看了很多都是用TIMER3这个定时器,一定要用TIMER3吗?如果是,是为什么呢?
2、对于TIMER3这个中断,我没有在intr.c这个文件找到对IRQ_TIMER3的处理。也就是说,在中端服务线程中,没有将TIMER3的物理中断转换为逻辑中断的操作。这是为什么呢?
----------------------------------------------------------------------------------------------------------------------
1. 触摸驱动不一定要用TIMER3,你可以随便改的,但是不能使用TIMER4,因为TIMER4是用来给操作系统和现实实时时间的。
2. 不知道LZ在TOUCH驱动里面有没有见过一下语句:
(1)Irq[2] = IRQ_TIMER3;
(2)KernelIoControl(IOCTL_HAL_REQUEST_SYSINTR, &Irq, sizeof(Irq), &gIntrTouchChanged, sizeof(UINT32), NULL)
其中:
第(1)句就是硬件中断号;
第(2)句就是动态注册中断,其目的就是把硬件中断号和系统中断号联系起来,只要产生了TIMER3中断系统就会知道了,
gIntrTouchChanged事件就自然被等到了,系统就会去处理中断。很多代码在PUBLIC里面实现的,哪里是与硬件无关的代码,只要你在TOUCH驱动里面
实现了你所看到得代码就可以,具体的可以自己跟踪下去。
、、、、、、、、、、、、接分了、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 |
|