阅读:3137回复:41
关于中断问题的请教
各位老大,我现在的驱动正在调试中断,现在有一个很奇怪的现象,我将中断号和giisr函数连接,同时把自己的ist等待giisr的事件,我在giisr 中ISRHandler函数设定断点。在我第一次产生中断后,系统在断点中停止了,但是后来调试再没有在断点上停止,每次一有中断,不是系统重启就是出现堆栈溢出的错误,不知道为什么??
|
|
论坛版主
|
沙发#
发布于:2004-12-14 13:57
一定一定!!!
|
|
板凳#
发布于:2004-12-14 13:46
wxl_50685330 大哥,人民日报的文章什么时候发表啊?到时候告诉我啊
:P :P :P |
|
|
地板#
发布于:2004-12-14 13:45
wxl_50685330 大哥,人民日报的文章什么时候发表啊?
:P :P :P |
|
|
论坛版主
|
地下室#
发布于:2004-12-14 13:39
用lpWriteDebugStringFunc(TEXT("XXXXXXXXX"));
|
|
5楼#
发布于:2004-12-14 13:33
老大,我不是用的串口输出的调试信息,是用的网口
|
|
论坛版主
|
6楼#
发布于:2004-12-14 13:28
唉,今天写信给人民日报的时候应该把我的名字也写进去的:))))
你的串口用对没有啊,你在调串口驱动,debug信息用另外一个串口喔。isr里面肯定可以输出调试信息的!相信e,莫错的 |
|
7楼#
发布于:2004-12-14 11:51
我搜索了论坛的帖子没有呀???
|
|
8楼#
发布于:2004-12-14 10:39
关于isr的调试,论坛里面有一些这样的帖子,你查一下。
|
|
|
9楼#
发布于:2004-12-14 10:12
那各位老大isr的东西应该怎么调试呢,我在isr的函数里面加了debugmsg,但是没有输出呀,不知道是怎么回事
|
|
10楼#
发布于:2004-12-13 16:20
对啊,你的ISR最后应该返回与你的IST等待的Event相关联的Sysintr。
|
|
|
论坛版主
|
11楼#
发布于:2004-12-13 15:54
“但是没有做什么就返回”
返回东西不一样的喔:)))这里返回的东西关系到是哪个事件被置为有效,之前,需要用InterruptInitialize把返回的东西和被触发的事件关联起来 |
|
12楼#
发布于:2004-12-13 13:11
也就是说你的串口中断采用的中断是9号中断是吗?
|
|
|
13楼#
发布于:2004-12-13 10:20
各位老大,我的那个超时中断也是串口中断之一,我的硬件是这样的,9054带一个16c954,在cpld里面做一个中断的控制寄存器器,所以对于我的系统来说,只有一个中断9产生中断,在中断产生后,调用isr,但是没有做什么就返回,然后我在我的ist中查是那个设备产生的中断,是什么中断,然后处理,就出现了上面的情况
|
|
14楼#
发布于:2004-12-13 08:32
兄弟,问题解决了吗?到底是什么问题啊?
|
|
|
论坛版主
|
15楼#
发布于:2004-12-10 14:16
......还没搞定啊:(
你的超时中断的isr执行后返回的sysintr是什么啊,能不能出发触发ist执行喃,把你的超时中断的isr也返回你指定给接受中断的那个sysintr,最终读出的长度从uart寄存器里面判断 |
|
16楼#
发布于:2004-12-10 11:19
最奇怪的是我在isr中打印信息没有出来,但是ist还可以进入
|
|
17楼#
发布于:2004-12-10 11:17
我看了一下,关键是这个溢出中断没有地方可以屏蔽呀
|
|
18楼#
发布于:2004-12-10 10:11
每次中断都是溢出中断吗?我感觉可能是你对你的串口芯片初始化设置有问题。仔细检查一下吧 :cool:
溢出中断发生后,进入isr了吗?此时从isr返回的是你的逻辑中断号吗? |
|
|
19楼#
发布于:2004-12-10 09:08
老大,是这样的,我的接收中断的触发级设定的是10个char触发,但是没有到10个char就有中断了,我看了一下中断源是接收时间溢出中断。也就是说当接收的fifo有数后一定时间没有收就有这个中断,我现在感觉就是当中断产生后,进了isr返回后,我的ist不能被激活或者不能获得运行权,但是我的ist的优先级已经设定为3了
|
|
上一页
下一页