请问用C语言编写的时间中断中,能否在中断过程中实现数据的读取?
答案:4 悬赏:30 手机版
解决时间 2021-02-07 15:26
- 提问者网友:雨不眠的下
- 2021-02-07 03:02
就是想在定时中断中,每中断一次就从外部的文件里读一个数进来,这个方法可行么?如果可以,该如何实现?
最佳答案
- 五星知识达人网友:逐風
- 2021-02-07 03:15
用Sleep()吗?
同时进行应该是不行的,可以再中断之后马上就读入一个数。
void pause(int *p,const int time)
{
Sleep(time);
scanf("%d", p);
}
同时进行应该是不行的,可以再中断之后马上就读入一个数。
void pause(int *p,const int time)
{
Sleep(time);
scanf("%d", p);
}
全部回答
- 1楼网友:痴妹与他
- 2021-02-07 05:12
无疑使用多线程啊,创建辅助线程,中断时间让辅助线程读取数据,然后cpu时间片切换到主线程时主线程继续执行
- 2楼网友:鱼芗
- 2021-02-07 04:17
可以啊,我觉得用多线程,一个线程在sleep的时候,另一个线程读数,然后第一个线程醒来继续执行,如果你觉得可以这样的话,具体的给你推荐一本书吧,linux程序设计,第3版
- 3楼网友:詩光轨車
- 2021-02-07 04:00
TurboC 时间中断函数
#include<dos.h>
#include<stdio.h>
#include<conio.h>
void install();
void interrupt (*oldtimer)();
void interrupt newtimer();
int n = 0;
int main()
{
oldtimer = getvect(0x1c);
install(newtimer);
...
install(oldtimer);
}
void interrupt newtimer()
{
n++;
if (n > 1000)
n = 0;
(*oldtimer)();
}
void install (void interrupt (*paddr)())
{
disable();
setvect(0x1c,paddr);
enable();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯