明白C语言时间中断的帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/06/06 23:36:23
是这样的 我并未学过时间中断,只是我现在做的课程是俄罗斯方块需要这方面的内容,还请大家帮帮忙 ,我想了这么一个问题,
吧意思写明白我分析一下就成了
问题如下
根据实践中断来写一个程序,程序要求 初始化时平均每0.5秒输出一个字符(任意)每输出10个字符改变中断时间,改成1秒,也就是每0.5秒递增,当时间达到3秒程序停止
最好写上注释,不然写了我也看不明白

其实上次给你推荐的c高级应用方面的书就有中断的介绍,还有应用实例。不知道你下载这些电子书没有,看了没有?
中断肯定和外部端口有关联,外部信号通过端口送到计算机产生中断,所以这涉及到一些端口函数inportb()/inport()和outportb()/outport()的调用,一些延时函数的使用。你这个问题我没有看出要使用任何中断的必要。你要延时用borland公司提供的函数sleep(参数为秒),或者用clock()函数和时间常量CLOCKS_PER_SECOND。

最后有必要提醒1楼:sleep()是tc/win-tc/borland c++中的延时函数,它的参数是秒,而Sleep()函数是微软vc中的延时函数,它的参数是毫秒.

...C语言时间中断?不太明白,因为C语言貌似没听过时间中断,LZ你指的因该是类似于让机器等一会把?如果是这样,有很多方法
:1.使用系统函数(如Sleep)
2.使用空循环(不失为一个好办法)
3.利用C语言实践函数计算出你需要的时间(较为不准确)
感谢二楼的提醒,至于sleep的函数我还真不知道,我只知道Sleep函数,哈哈

turboc 调用时间中断

void interrupt (*oldtimer)();
void interrupt newtimer();
void install();

void interrupt newtimer()
{
添加代码
(*oldtimer)();
}

void install (void interrupt (*paddr)())
{
disable();
setvect(0x1c, paddr);
enable();
}

main ()
{
oldtimer = getvect(0x1c); /*获取原来的中断地址*/
install(newtimer); /*安装中断程序*/

...