首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

为什么两个中断同时开,程序就不能运行了!?

为什么两个中断同时开,程序就不能运行了!?

    两个中断分开用都是好的,为什么。加在一起就不能用了?


现象是只有初始化,后就不运行了!高手帮忙解决下吧,是不是中断优先级还要设置下。


在那里设置啊?


 


高手指点下,多谢!

多多指教!!
补充一下:一个是实时中断,一个是输入捕捉中断,S12DG128的片子,用的是CODE WORRIOR编译,实时中断号是7,输入捕捉中断号是8。我和搂住是一起做的,被这个问题困扰了好几天了,怎么弄都不行,心急如焚!
恳求高人指点,不胜感激!
天外有天 人外有人 没有最牛 只有更牛
“程序不能运行了”是什么意思? 是main()函数停在了某个地方,还是跑飞了,还是没有响应中断,还是从ISR里跳不出来。

[此贴子已经被作者于2006-6-1 11:40:48编辑过]

自己认真调调,看哪儿冲突了。

 边凿磨边用
 
 经验同分享
感觉好像只有初始化,然后程序就不动了!
我对编译器,用的不是很熟悉。
已经没有办法了,是不是可以在仿真状态下。看出程序怎么运行的?
多多指教!!
ILLEGAL_BP
这个是什么意思?
多多指教!!
嗯,居然没跟我说这个事……
INTERRUPT有两种设法,一种是在PRM文件中矢量设置,就是你现在设的。这个只能设一个。
一种是用序号,在函数头写上:
void interrupt 22 intAD(void){
……
}
具体的每个序号对应去查.H文件,貌似里面有的,没有的话从第一个按次序数下来也行。从0开始数。这种设置中断就不会超过一个就不能用了,不过序号要设对,那个代表地址的位置了。
PRM文件只能设一个?没听说过
你设过两个可以用了吗?
好像明白了。。
VECTOR后面也要带序号就能通过的吧。
刚才调试过了
是滴,在prm文件中设置也需要有序号,当然有人对序号搞得不是很清楚,可以采用另外一种方式
VECTOR ADDRESS 0xFFFE _Startup
同意版主的这种定义法
这个很好用
不用查!![em06]
我就是直接在中断服务函数后面加中断向量号,懒得再prm里面去加了。
返回列表