阅读:2015回复:12
请教中断清除的难题――windriver
请教中断清除的难题――windriver
各位高人: 我做的板子是pci9052+FPGA结构的,用的是电平触发中断的方式,根据9052的databook的说法,清除中断的方法有3种:其中之一是使中断触发电平无效,中断也就清除了,我是这样做得,触发中断的脉冲很短,两次之间的间隔特别大,但是机器反映特别慢,这肯定是中断的使用问题。 我想在进入中断处理程序后,就清除中断,应该访问pci9052的INTCSR寄存器吧,可是我不会访问,应该怎样访问呢? 我用的是Windriver自动生成的用户模式的代码。 请多多指教,我不胜感激! |
|
沙发#
发布于:2004-12-23 14:15
你说的没错肯定事先要清除中断!!
|
|
|
板凳#
发布于:2004-12-23 14:39
谢谢上面的大侠的相助,
那我就采用pci9052databook中说的另外一种清除中断的方法,访问pci9052的INTCSR寄存器,禁止中断,可是如何访问呢? 请继续指教! |
|
地板#
发布于:2004-12-23 15:14
谢谢上面的大侠的相助, 哈哈,这个应该很容易吧 读中断寄存器!! 应该使用到READ_PORT_ULONG这个函数!! |
|
|
地下室#
发布于:2004-12-23 15:24
谢谢上面的大哥,您好,您说的这个函数READ_PORT_ULONG是在什么环境使用的呀!
我用的是Windriver生成的代码,里面没有这样的函数呀? 请继续指教,我不胜感激! |
|
5楼#
发布于:2004-12-23 15:28
阿,
这个函数是DDK下面的 至于WINDRIVER我就不知道用哪个了?!! |
|
|
6楼#
发布于:2004-12-23 15:38
多谢xucongqi的细心指教,祝圣诞快乐!
热烈欢迎各位继续指教! |
|
7楼#
发布于:2004-12-24 17:34
继续指教!
|
|
8楼#
发布于:2004-12-30 09:21
XXX_WriteDWord(.....);addressspace多半是2(bar2)。地址就是INTCSR寄存器的偏移地址。
|
|
9楼#
发布于:2004-12-30 12:48
自动生成的代码里有个函数:×××_IntDisable
|
|
10楼#
发布于:2004-12-30 13:04
高人云集,争相指点,
我心飞扬,多谢相帮! |
|
11楼#
发布于:2004-12-31 15:15
很简单,先在windriver添加寄存器intcsr,产生的代码中就会有寄存器intcsr的读写了
|
|
12楼#
发布于:2004-12-31 21:18
风雨送春归,飞雪迎春到!
谢谢各位!我要尝试尝试! |
|