linux C 中断程序:利用队列保存中断类型

 1 /* 存放中断的队列 */
 2 typedef struct tagIntQueue
 3 {
 4     int intType; /* 中断类型 */
 5     struct tagIntQueue *next;
 6 }IntQueue;
 7 
 8 IntQueue lpIntQueueHead;
 9 
10 __interrupt ISRexample ()
11 {
12     int intType;
13     intType = GetSystemType();
14     QueueAddTail(lpIntQueueHead, intType);/* 在队列尾加入新的中断 */
15 }
 1 While(1)
 2 {
 3     If( !IsIntQueueEmpty() )
 4     {
 5         intType = GetFirstInt();
 6         switch(intType) /* 是不是很象WIN32 程序的消息解析函数? */
 7         {
 8             /* 对,我们的中断类型解析很类似于消息驱动 */
 9             case xxx: /* 我们称其为"中断驱动"吧? */
10 11             break;
12             case xxx:
13 14             break;
15 16         }
17     }
18 }

 

posted @ 2013-11-19 16:46  Fight_4_ever  阅读(465)  评论(0编辑  收藏  举报