手机分类
  导航: 电脑时代在线 · 程序设计 · C语言 · C语言编程实例
有问题吗?看 疑难解答 电脑术语

运用里面断完成每500毫秒接收一次数据

 
硬件盘点
手机推荐
 
『运用里面断完成每500毫秒接收一次数据』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-6-7 

 //调用DOS下的中断。
//DOS的时钟中断 int 21H  AH=0x1C  每秒产生18.2次中断
//该程序时间间隔为550毫秒  可以由count的值算出。

#include <stdio.h>
#include <dos.h>
#include <conio.h>

#define INTR 0X1C    //0x1c为时钟中断

#ifdef __cplusplus
  #define __CPPARGS ...
#else
  #define __CPPARGS
#endif

void interrupt ( *oldhandler)(__CPPARGS);  

int count=0;
int a=0,b=0;
struct time t;

void interrupt handler(__CPPARGS)  //  执行DOS中断时调用的程序
{
    count++;

    if(count==10) 
    {    gettime(&t);
         b=t.ti_hund; 
         printf("(2)   %d\n",b);
         if(b<a)printf("Delay %d  ms",((100-a)+b)*10);
         else printf("Delay %d  ms",(b-a)*10);}
}

int main(void)
{

    oldhandler = getvect(INTR); //取得原来的中断向量

    setvect(INTR, handler);     //设置现在的中断向量
    gettime(&t);a=t.ti_hund;
    printf("(1)   %d\n",a);

    while (count < 11);         //循环等待。执行DOS的时钟中断

    setvect(INTR, oldhandler);  //执行完毕,恢复原来的中断向量

    return 0;
}

 


如果您有什么疑问,可以至论坛提出或者解答他人的疑问   返回页面顶部

】【关闭窗口
·上一篇教程:
·下一篇教程:
·导航: 电脑时代在线 · 程序设计 · C语言 · C语言编程实例
相关文章
 
搞笑自拍|图片故事|美女图库|体坛宝贝|明星爆料|世界奇观|风光摄影|历史回忆|大千世界
Photshop超炫图片
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部  
网站文本地图
  版权所有:电脑时代在线 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2007 www.PCvz.com online services. all rights reserved. 蜀ICP备05015578
Template designed by LaoJiang. Optimized for 1024x768 to Firefox,Opera and MS-IE. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光