智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2472|回复: 7
打印 上一主题 下一主题

中断问题,请高手帮忙

[复制链接]

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
威望
309
贡献
104
兑换币
82
注册时间
2008-3-25
在线时间
13 小时
跳转到指定楼层
1#
发表于 2008-5-24 08:04:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<>最近一直被一个中断问题缠绕着,我用的是codeware4.5版本的。我的中断程序是这样的:</P><P>#include &lt;hidef.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /* common defines and macros */<BR>#include &lt;mc9s12dg128.h&gt;&nbsp;&nbsp;&nbsp;&nbsp; /* derivative information */<BR>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</P><P><BR>static int waittime = 0;<BR>static long i = 0;</P><P>&nbsp;</P><P>static void MDCInit(void){<BR>&nbsp;MCCTL = MCCTL&amp;0Xfb; //模数计数器禁止运行<BR>&nbsp;MCCTL = 0Xe3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //允许中断,模数计数方式 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //返回时重新加载所用的常数,分频常数为16&nbsp;&nbsp;&nbsp; <BR>&nbsp;MCCTL = MCCTL|0X04; //模数计数器使能<BR>&nbsp;MCCNT = 0X3456;&nbsp;&nbsp;&nbsp; <BR>&nbsp;MCCTL = MCCTL|0X08&nbsp; ; //把模数常数寄存器的值加载到模数计数器<BR>i= MCCNT;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>}</P><P><BR>interrupt void MDC_ISR(void){<BR>DisableInterrupts;<BR>&nbsp; MCFLG = 0x80;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //清标志位<BR>&nbsp;&nbsp;&nbsp; waittime++;<BR>&nbsp; if(waittime&gt;=200) waittime=0;<BR>&nbsp; PORTB = waittime;</P><P>}</P><P><BR>void main(void) <BR>{<BR>&nbsp; DisableInterrupts;<BR>&nbsp; DDRB = 0xFF;<BR>&nbsp; PORTB = 0x00;<BR>&nbsp; MDCInit();<BR>&nbsp; for(;;)<BR>&nbsp; {<BR>&nbsp;&nbsp; EnableInterrupts;&nbsp; <BR>&nbsp; }<BR>&nbsp; <BR>}<BR>我的问题是,当程序下载到单片机后,不能全速运行,就是说F5后,程序就不再主程序里运行了,就停了下来,当F10单步执行时在右边的汇编窗口里有指令在执行。单片机复位还是会停止运行。在程序里关掉中断这个问题就不会出现了,可程序就是要用中断的啊。我发现我网上下载的演示工程都是可以运行的,当把人家的main.c拷贝到我的工程下就不能运行了,就是会出现上面那个问题,我初步估计是我简历工程的时候那里出了问题,可我反复的检查,反复新建都不能成功。请高手指点,这个问题都困扰我6天了!!,求求高手指点,小弟万分的感谢!!</P>

0

主题

3

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
威望
176
贡献
24
兑换币
2
注册时间
2008-5-26
在线时间
8 小时
2#
发表于 2008-5-26 07:10:11 | 只看该作者

Re:中断问题,请高手帮忙

<>也遇到了这个问题,请问你是怎么解决的呢,谢谢!</P>
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
125
威望
173
贡献
22
兑换币
0
注册时间
2008-5-9
在线时间
0 小时
3#
发表于 2008-5-26 18:38:07 | 只看该作者

Re:中断问题,请高手帮忙

&nbsp;&nbsp;&nbsp; 标志位清除不对
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
威望
309
贡献
104
兑换币
82
注册时间
2008-3-25
在线时间
13 小时
4#
 楼主| 发表于 2008-5-24 18:46:52 | 只看该作者

Re:中断问题,请高手帮忙

<><FONT style="BACKGROUND-COLOR: #aedbba">问题已经解决~~哈哈</FONT></P>
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
威望
309
贡献
104
兑换币
82
注册时间
2008-3-25
在线时间
13 小时
5#
 楼主| 发表于 2008-5-27 21:53:57 | 只看该作者

Re:中断问题,请高手帮忙

我的解决方法是:在prm里的TBDML_LINKER.PRM的最后加VECTOR ADDRESS 0xFFCA MDC_ISR&nbsp; 就是说中断来了,cpu却找不到入口
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
125
威望
173
贡献
22
兑换币
0
注册时间
2008-5-27
在线时间
0 小时
6#
发表于 2008-5-27 03:40:21 | 只看该作者

Re:中断问题,请高手帮忙

我们刚开始准备,下个月就要开赛了。以前我们学校没有参加过,这是第一次,能否帮忙提供一下HCS12的有关资料?十万火急,万分感谢。邮箱:<A target=_blank href="mailto:zhudaoting0826@163.com">zhudaoting0826@163.com</A>
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
威望
187
贡献
22
兑换币
0
注册时间
2007-9-23
在线时间
0 小时
7#
发表于 2008-5-27 08:42:23 | 只看该作者

Re:中断问题,请高手帮忙

<>“&nbsp;标志位清除不对 ??”</P><P>能否说清楚点,谢谢!</P>
回复 支持 反对

使用道具 举报

12

主题

82

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1652
威望
434
贡献
1092
兑换币
103
注册时间
2012-9-20
在线时间
63 小时
8#
发表于 2012-12-11 18:02:07 | 只看该作者
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 01:47 , Processed in 0.324726 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表