主题:外部IRQ打开失败

  共有35769人关注过本帖    
123
1楼


外部IRQ打开失败  发帖心情 Post By:2009-6-9 8:49:00   [只看该作者]

你好,请问一个问题。
在使用光盘提供的例程函数,InstallexternIRQ()进行外部中断的启动时,为何会提示打开失败,跳出程序?

  单帖管理 | 引用 | 回复 回到顶部
zhl
2楼


  发帖心情 Post By:2009-6-9 9:14:00   [只看该作者]

请问购买的是什么型号的板卡。
提示打开失败,一般是由于内核中没有安装IRQ的驱动,需寄回给我们更新WinCE的内核。

  单帖管理 | 引用 | 回复 回到顶部
123
3楼


  发帖心情 Post By:2009-6-9 9:23:00   [只看该作者]

2个星期前从贵公司购买的6块EM9260开发板。
使用提供的IRQ例程:
BOOL CEM9260_IRQ::OpenIRQ()
{
   if (hIRQ!=INVALID_HANDLE_VALUE)
        return true;
}
hIRQ=InstallExternIRQ();
if (hIRQ==NVALID_HANDLE_VALUE)
{
        return false;
}
执行到此时,程序就跳出了。

  单帖管理 | 引用 | 回复 回到顶部
123
4楼


  发帖心情 Post By:2009-6-9 9:50:00   [只看该作者]

不好意思,叙述的错了。
程序运行到GetExternIRQEvent()时,无法向下再执行。
请问是何原因?谢谢!

  单帖管理 | 引用 | 回复 回到顶部
zhl
5楼


  发帖心情 Post By:2009-6-9 18:12:00   [只看该作者]

请检查IRQ1所接的外部中断信号,估计是中断的频率太高造成了任务死锁。

  单帖管理 | 引用 | 回复 回到顶部
123
6楼


  发帖心情 Post By:2009-6-11 9:13:00   [只看该作者]

IRQ外接的为AD转换结束的EOC信号,采样频率大约为150K,大约7us.
请问,IRQ的中断响应时间及API_FullDuplex这条指令分别为多少执行时间?
谢谢

  单帖管理 | 引用 | 回复 回到顶部
x10
7楼


  发帖心情 Post By:2009-6-11 10:22:00   [只看该作者]

WinCE作为一个多任务的操作系统,对硬件中断的响应具有一定的不确定性,从软件层次上看,对外部事件又分为驱动程序响应和应用程序响应,驱动程序的响应不确定性最大有50us,而应用程序则可能长达300us。解决不确定性的方法是设置多级缓冲,比方若外部数据间隔小于或与50us相当,则需要设置硬件buffer,一般是FIFO,当FIFO存储一定数据再产生中断,由驱动程序一次性读入;而应用程序则处理批量数据。
从所描述的应用看,硬件上需要加FIFO,并完成AD采集(一般由CPLD或其他硬件逻辑电路完成),以获得严格时间间隔的波形数据,以进行后续的时间分析,如脉冲分析、FFT等。
如果AD数据并不需要严格的时间间隔,则可以不用外部中断,直接采用系统定时来启动AD数据的采集。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

外部IRQ打开失败

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: