引用 1 楼 domworldjohn 的回复:
不用TIMER,那必须要用一个线程轮询才行,在一个线程中WaitForObject()即可。这样不会占用CPU资源的,因为它一直卡在WaitForObject()那里
顺着师兄的脚印我稍微再详细点:
1、GPIO的地址映射;
2、GPIO的初始化,通过GPXCON设置相应拐角的中断触发方式;
3、使用KernelIoControl动态申请中断号;
4、用CreatEvent创建中断事件;
5、使用InitInterrupt函数绑定申请到的逻辑system_intr与中断事件;
6、然后用CreatThread创建相应的中断服务线程函数;
7、在中断线程里用WaitForSingleObeject函数无限(INFINITE)等待中断时间的发生。
然后程序就会阻塞到这里,只要中断来了,就会执行WaitForSingleObject后面你想干的事情--------