阅读:2839回复:28
关于中断处理
我在写一硬件中断驱动程序,中断频率为8kHz。
有个问题想请教各位:什么叫异步事件,在我的中断处理中要不要安排一个异步事件函数,怎么办???? |
|
最新喜欢:![]()
|
沙发#
发布于:2002-05-04 14:45
我也是给一块数据采集卡写了一个程序,让它采集的速度尽量快。我也是用中断写的,我现在算是写完了。我想测试一下我的卡的采集速度到底有多快。怎么办呢?谁能告诉我。我也是学生,大家交个朋友。hoho |
|
板凳#
发布于:2002-04-30 16:30
windows 应该可以处理8kHz的中断,但如果是调用GDI函数达到8KHz,我肯定P4-2G也是要死掉的。很久以前我做中断的时候,外接单片机的TIMER中断,更新画面最快也就1KHZ-2KHZ(PMMX-500M)。 如果在中断里只做简单的操作,上几十K没问题。当时我是觉得用消息或事件太慢而且麻烦,就自己写回调函数挂在中断处理里。
|
|
地板#
发布于:2002-04-30 15:58
我也是给一块数据采集卡写了一个程序,让它采集的速度尽量快。我也是用中断写的,我现在算是写完了。我想测试一下我的卡的采集速度到底有多快。怎么办呢?谁能告诉我。我也是学生,大家交个朋友。hoho
|
|
地下室#
发布于:2002-04-29 14:06
这几天都在调程序,所以没上来。
很高兴和大家做朋友,我还是学生,呵呵 :P :P :P :P :P |
|
|
5楼#
发布于:2002-04-28 16:59
那要看你想干什么了,中断中的操作太多可能会引起死机,有些操作可放在延时过程调用中完成。
|
|
|
6楼#
发布于:2002-04-27 17:43
我觉得让计算机直接处理这么高速度中断有点勉强,特别是在
WINDOWS环境中。如果你的硬件水平还可以的话,用单片机加 RAM做一个缓冲,一般的单片机在你的中断里可以执行上百条 指令,完全可以完成你的数据简单的处理和存储。到了一段 时间,一次发给计算机显示。 因为我是维护仪表的,所以总有职业习惯,一听到信号采集, 就认为是工业上用。 不知道你是做什么的,有兴趣交个朋友吗 |
|
|
7楼#
发布于:2002-04-26 20:16
回应“因为一般大的企业用的都是进口的。
你们是生产仪表的公司吗?” 俗话说巧妇难为无米之炊嘛!难道只有仪表公司才会碰到数据处理的问题?如果不先把数据以一定的格式读入,那还处理个啥啊。 再说了,我还是学生哪有钱买进口货!!!!! [编辑 - 4/26/02 作者: greenhand] |
|
|
8楼#
发布于:2002-04-26 18:12
我总看见有人做数据采集卡,但不知道你们的采集卡用在什么地方,
因为一般大的企业用的都是进口的。 你们是生产仪表的公司吗? |
|
|
9楼#
发布于:2002-04-26 12:58
源程序,是啊,我也希望有
可是现在连思路都还没确定,我只有vtoolsd生成的框架,实在不好意思 我正在努力、努力 |
|
|
10楼#
发布于:2002-04-26 12:33
我认为8KHz的频率中断是肯定可以处理的,关键是中断服务程序的设置,另外,你说在主程序里要通过定时器中断,那么就要用到多线程编程,具体可以看看相关方面的书。
如果方便的话,可以把你的程序发来看看吗,这样可能更清楚一些! bh_zhouqian@sina.com |
|
11楼#
发布于:2002-04-26 11:32
用前面讲的方法,或许可以不用event
|
|
|
12楼#
发布于:2002-04-25 16:51
不好意思,我跟你们学的!!!!! 你学到什么了? 交学费了没!!!!!!!! |
|
|
13楼#
发布于:2002-04-25 16:47
再说明白一点,就是我想知道到底要不要用event,到底要不要编写异步事件函数。 :)
|
|
|
14楼#
发布于:2002-04-25 16:16
不好意思,我跟你们学的!!!!!
|
|
|
15楼#
发布于:2002-04-25 13:10
困扰什么,说明白一点
|
|
|
16楼#
发布于:2002-04-25 12:17
我觉得这种情况用定时器来调用paint()不太合适,因为你并不知道中断什么时候发生,你的paint在某一个时刻怎么知道到底应该画数组的那个值呢? zydcat,照你上面讲的是否就是说可以不用event了呢,异步事件函数呢?这是我最大的困扰,能讲一下吗?谢谢 |
|
|
17楼#
发布于:2002-04-25 12:10
THANK YOU,我先试一试,有问题再请教。
|
|
|
18楼#
发布于:2002-04-25 11:10
8khz的中断,不知道能响应过来吗在windows下。
|
|
19楼#
发布于:2002-04-25 09:32
我觉得这种情况用定时器来调用paint()不太合适,因为你并不知道中断什么时候发生,你的paint在某一个时刻怎么知道到底应该画数组的那个值呢?
对了,也许可以这样,你可以传两块缓冲区到vxd,一块只有一个值,一块是你的数组,(当然他们可以放到一个结构中),然后你在中断例程里根据采到的数对数祖赋值并对变量刷新,你可以在用户态定时读这个变量,然后paint,但是这又可能会丢失数据,主要看你的定时大小。 这只是个想法,你可以试试。多线程也许可以不用,你可以再开一个定时器来判断数组是否已经满了。 |
|
|
上一页
下一页