主题:外部IRQ打开失败 共有35766人关注过本帖 |
---|
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数据的采集。 |
|
单帖管理 | 引用 | 回复 |