3987|11

61

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

wince驱动 之 中断问题 [复制链接]

最近在学习中断驱动,有几点不明白,向大家请教:
1、在wince 中断里,逻辑中断号和事件关联,那么该事件是如何被触发的呢?需要人为干预吗?

2、某一类型的中断,比如I2C中断,isr_IIC对应一个逻辑中断,但触发该中断的原因可能有好几种吧?读、写、缓冲区溢出等,如何判断是那种类型触发的呢?

大家帮帮吧!!
此帖出自WindowsCE论坛

最新回复

PC104的11号中断应该是外部中断吧?  详情 回复 发表于 2008-8-1 20:39
点赞 关注
 

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
wince下中断处理的大致流程,即从物理中断产生到中断得到处理的过程如下:

物理中断->逻辑中断->中断事件->中断处理线程(IST)

物理中断通过ISR映射为逻辑中断,逻辑中断通过InterruptInitialize来和中断事件关联,IST中通过WaitForSingleObject等待中断事件的发生,一旦捕获到中断事件,就进行处理,处理完后,IST最后调用InterruptDone通知内核该中断处理完毕。

至于具体是什么中断你需要读取寄存器相关位进行判断,然后根据不同的中断作相应的处理就可以了
此帖出自WindowsCE论坛
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
...IST中通过WaitForSingleObject等待中断事件的发生,一旦捕获到中断事件...

中断事件是如何触发的呢?也就是WaitForSingleObject等待的事件是在何时被PulseEvent的呢?

如果IIC的irq = 20,SYSINTR_IIC=30,SYSINTR_IIC关联的事件是IICEvent,这个IICEvent是在哪被触发的?
IIC模块的中断状态寄存器有TX_EMPTY(传输BUFFER有数据)、TX_OVER、RX_DONE等中断标志,是不是每个标志中断触发
同一个irq = 20?
此帖出自WindowsCE论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

4
 
我的理解:
IIC读中断事件:
1、中断线程通过InterruotInitialize使IIC中断与事件触发相关联
2、当中断产生,使能事件gI2cIntrEvent,不触发则挂起WaitForSingleObject(gI2cIntrEvent,INFINITE)
3、中断触发后CASE判断是读还是写
4、同时在读函数中,设置从机地址和IICStatus状态,并挂起等待giicEvent
5、这时中断线程已经检测到CASE是读
   则SetEvent(giicEvent)
6、既然giicEvent已经使能,就进入读函数中处理
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(中级)

5
 
你说的第2步有点不明白。

驱动被加载的时候,IST应该运行并处于等待状态,读写函数的触发也需要你说的gI2cIntrEvent.
就是说我调用读写函数之前,中断使能事件gI2cIntrEvent已经被触发了
不知道这个是怎么触发的?
难道在读写之前,系统就已经知道我要读写了吗?
此帖出自WindowsCE论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 
2、中断线程一直WaitForSingleObject(gI2cIntrEvent,INFINITE)
当有读写操作的时候
由硬件触发中断事件gI2cIntrEvent
不知道这么理解对不对??
此帖出自WindowsCE论坛
 
 
 

回复

94

帖子

0

TA的资源

一粒金砂(初级)

7
 
硬件我想一开始就已经连接好了,后面操作应该是程序来完成的
比如驱动加载完后,线程一直在等待,硬件还是那个硬件
如果需要进行操作,这时我还没操作呢,操作系统却已经知道了。- -!汗,硬件还是那个硬件吧?

难道在调用操作之后,中断发生之前,系统自己会发个消息通知,表示中断要来了?
此帖出自WindowsCE论坛
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

8
 
当有读写操作的时候
谁告诉你操作之前就知道了??
此帖出自WindowsCE论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

9
 
不知道,只是猜想
如果操作之前不知道,等待的事件(就是与逻辑中断关联的事件)是怎么被触发的?
此帖出自WindowsCE论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

10
 
应该是硬件触发
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

11
 
我们刚才还在研究中断的问题,用的是硬件中断。我们用的是PC104的一个红引脚引入的11号中断。
在104的相应引脚上加一个低电平,它就可以触发中断了。不过前提是CE没有占用这个中断。
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

12
 
PC104的11号中断应该是外部中断吧?
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表