degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:3137回复:41

关于中断问题的请教

楼主#
更多 发布于:2004-11-28 10:36
各位老大,我现在的驱动正在调试中断,现在有一个很奇怪的现象,我将中断号和giisr函数连接,同时把自己的ist等待giisr的事件,我在giisr 中ISRHandler函数设定断点。在我第一次产生中断后,系统在断点中停止了,但是后来调试再没有在断点上停止,每次一有中断,不是系统重启就是出现堆栈溢出的错误,不知道为什么??
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-14 13:57
一定一定!!!
根据地的兄弟们,团结就是力量
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-14 13:46
wxl_50685330 大哥,人民日报的文章什么时候发表啊?到时候告诉我啊
 :P :P :P
Come on, let us drive the world.
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-14 13:45
wxl_50685330 大哥,人民日报的文章什么时候发表啊?
 :P :P :P
Come on, let us drive the world.
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-12-14 13:39
用lpWriteDebugStringFunc(TEXT("XXXXXXXXX"));
根据地的兄弟们,团结就是力量
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-12-14 13:33
老大,我不是用的串口输出的调试信息,是用的网口
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-12-14 13:28
唉,今天写信给人民日报的时候应该把我的名字也写进去的:))))


你的串口用对没有啊,你在调串口驱动,debug信息用另外一个串口喔。isr里面肯定可以输出调试信息的!相信e,莫错的
根据地的兄弟们,团结就是力量
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-12-14 11:51
我搜索了论坛的帖子没有呀???
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-12-14 10:39
关于isr的调试,论坛里面有一些这样的帖子,你查一下。
Come on, let us drive the world.
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-12-14 10:12
那各位老大isr的东西应该怎么调试呢,我在isr的函数里面加了debugmsg,但是没有输出呀,不知道是怎么回事
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-12-13 16:20
对啊,你的ISR最后应该返回与你的IST等待的Event相关联的Sysintr。
Come on, let us drive the world.
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-12-13 15:54
“但是没有做什么就返回”

返回东西不一样的喔:)))这里返回的东西关系到是哪个事件被置为有效,之前,需要用InterruptInitialize把返回的东西和被触发的事件关联起来

根据地的兄弟们,团结就是力量
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-12-13 13:11
也就是说你的串口中断采用的中断是9号中断是吗?
Come on, let us drive the world.
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-12-13 10:20
各位老大,我的那个超时中断也是串口中断之一,我的硬件是这样的,9054带一个16c954,在cpld里面做一个中断的控制寄存器器,所以对于我的系统来说,只有一个中断9产生中断,在中断产生后,调用isr,但是没有做什么就返回,然后我在我的ist中查是那个设备产生的中断,是什么中断,然后处理,就出现了上面的情况
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-12-13 08:32
兄弟,问题解决了吗?到底是什么问题啊?
Come on, let us drive the world.
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-12-10 14:16
......还没搞定啊:(

你的超时中断的isr执行后返回的sysintr是什么啊,能不能出发触发ist执行喃,把你的超时中断的isr也返回你指定给接受中断的那个sysintr,最终读出的长度从uart寄存器里面判断
根据地的兄弟们,团结就是力量
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-12-10 11:19
最奇怪的是我在isr中打印信息没有出来,但是ist还可以进入
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-12-10 11:17
我看了一下,关键是这个溢出中断没有地方可以屏蔽呀
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-12-10 10:11
每次中断都是溢出中断吗?我感觉可能是你对你的串口芯片初始化设置有问题。仔细检查一下吧 :cool:
溢出中断发生后,进入isr了吗?此时从isr返回的是你的逻辑中断号吗?
Come on, let us drive the world.
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-12-10 09:08
老大,是这样的,我的接收中断的触发级设定的是10个char触发,但是没有到10个char就有中断了,我看了一下中断源是接收时间溢出中断。也就是说当接收的fifo有数后一定时间没有收就有这个中断,我现在感觉就是当中断产生后,进了isr返回后,我的ist不能被激活或者不能获得运行权,但是我的ist的优先级已经设定为3了
上一页
游客

返回顶部