| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 398 人关注过本帖
标题:关于中断函数的问题
只看楼主 加入收藏
xyb1234
Rank: 2
等 级:论坛游民
帖 子:17
专家分:24
注 册:2009-6-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
关于中断函数的问题
下面打问号的那一行的(*oldhandler)()函数在void   interrupt   newhandler()中有什么作用啊,为什么去掉就
不行呢。
#include   <stdio.h>  
  #include   <dos.h>  
  #include   <conio.h>  
   
  #define   AAA   0x09   /*   键盘I/O中断的中断号   */  
   
  int   TimerCounter=0;  
   
  /*   指向原来时钟中断处理过程入口的中断处理函数指针(句柄)   */  
  void   interrupt   (   *oldhandler   )();  
   
  /*   新的键盘中断处理函数   */  
  void   interrupt   newhandler()  
  {  
  TimerCounter++;  
   
  (*oldhandler)();/* ???此函数在此处为何不能去除  */
  }  
   
  void   main(void)  
  {  
  int   key;  
   
  oldhandler   =   getvect(   AAA   );  
  disable();  
  setvect(   AAA,   newhandler   );  
  enable();  
   
  while(1)  
  {  
  if   (   TimerCounter   >=   10   )  
  {  
  break;  
  }  
  }  
   
  disable();  
  setvect(   AAA,   oldhandler   );  
  enable();  
  }
搜索更多相关主题的帖子: 函数 
2009-09-03 10:37
xyb1234
Rank: 2
等 级:论坛游民
帖 子:17
专家分:24
注 册:2009-6-1
收藏
得分:0 
晕,没人会吗
2009-09-05 15:12
超级新手
Rank: 2
等 级:论坛游民
帖 子:185
专家分:59
注 册:2006-2-9
收藏
得分:14 
那是个函数指针 指向个函数,要做事的,你不做的话。。。

快快来我的群:13485998
学学C,玩玩算法,搞搞加密,比比谁更菜?
ARM恨死你。
2009-09-05 15:37
快速回复:关于中断函数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031528 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved