智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3760|回复: 6
打印 上一主题 下一主题

请教ECT中16位自由计数器溢出中断问题

[复制链接]

0

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
486
威望
348
贡献
106
兑换币
86
注册时间
2008-3-11
在线时间
16 小时
跳转到指定楼层
1#
发表于 2008-4-27 23:29:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
<>下边是我写的一个16位自由计数器溢出中断的程序,但是不能触发中断,请高手不吝赐教</P><P><FONT color=#3c3cc4>#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 */</FONT></P><P><BR><FONT color=#3c3cc4>#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"</FONT></P><P><FONT color=#3c3cc4>void main(void)<BR>{<BR>&nbsp; DDRB=0xff; // PTB as output <BR>&nbsp; TSCR1 = 0x10; // enable timer TCNT <BR>&nbsp; TSCR2 = 0x07; // TCNT prescaler setup<BR>&nbsp; TIE=0x00;<BR>&nbsp; TIOS=0x00;<BR>&nbsp; PORTB=0xff;&nbsp; // LEDs off <BR>&nbsp;&nbsp; EnableInterrupts;//开中断<BR>&nbsp; for (;;);<BR>}<BR>#pragma CODE_SEG NON_BANKED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>void interrupt 16 TCNT_ISR(void)</FONT></P><P><FONT color=#3c3cc4>{<BR>&nbsp;DisableInterrupts;&nbsp; //关中断&nbsp;<BR>&nbsp;&nbsp;PORTB++;//PORTB自增<BR>&nbsp;EnableInterrupts<BR>}</FONT>&nbsp; </P>

0

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
486
威望
348
贡献
106
兑换币
86
注册时间
2008-3-11
在线时间
16 小时
2#
 楼主| 发表于 2008-4-28 05:41:29 | 只看该作者

Re:请教ECT中16位自由计数器溢出中断问题

<>已解决</P><P><FONT color=#2b2bd5>void main(void)<BR>{<BR>&nbsp; DDRB=0xff; // PTB as output <BR>&nbsp; TSCR1 = 0x80; // enable timer TCNT <BR>&nbsp; TSCR2 = 0x87; // TCNT prescaler setup<BR>&nbsp; PORTB=0xff;&nbsp; // LEDs off <BR>&nbsp;&nbsp; EnableInterrupts;//开中断<BR>&nbsp; for (;;) {<BR>&nbsp; }<BR>}<BR>#pragma CODE_SEG NON_BANKED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>void interrupt 16 TCNT_ISR(void)</FONT></P><P><FONT color=#2b2bd5>{<BR>&nbsp;DisableInterrupts;&nbsp; //关中断&nbsp;<BR>&nbsp;PORTB++;//PORTB自增<BR>&nbsp;TFLG2=0x80;<BR>&nbsp;EnableInterrupts<BR>}&nbsp; </FONT></P>
回复 支持 反对

使用道具 举报

0

主题

248

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2327
威望
2305
贡献
22
兑换币
0
注册时间
2008-1-6
在线时间
0 小时
3#
发表于 2008-4-29 18:24:09 | 只看该作者

Re:请教ECT中16位自由计数器溢出中断问题

<>我的BLOG上应该是有ECT的程序的,</P><P><A target=_blank href="http://blog.eccn.com/u/107300/index.htm">http://blog.eccn.com/u/107300/index.htm</A></P>
回复 支持 反对

使用道具 举报

0

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
316
威望
218
贡献
50
兑换币
24
注册时间
2009-5-8
在线时间
24 小时
4#
发表于 2009-5-8 19:39:55 | 只看该作者
我现在就在弄这一块,遇到了跟你个一摸一样的问题,看了你的程序收了启发,现在解决了,致敬!
我的问题是中断程序中漏掉了TFLG2=0x80;结果导致中断无法继续执行。只能进一次中断,灯亮一次后,就不能在继续执行了。

我的代码如下:

#include<hidef.h>
#include<mc9s12dg128.h>

void main(void)
{
  DDRB=0xff; // PTB as output
  TSCR1 = 0x80; // enable timer TCNT
  TSCR2 = 0x87; // TCNT prescaler setup
  PORTB=0xff;  // LEDs off
   
  EnableInterrupts;//
  for (;;);
}

                     
void interrupt TCNT_ISR(void)
{
DisableInterrupts;
PORTB = ~PORTB;
TFLG2=0x80;
EnableInterrupts
}
回复 支持 反对

使用道具 举报

8

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1030
QQ
威望
637
贡献
259
兑换币
100
注册时间
2012-2-14
在线时间
67 小时
毕业学校
南阳理工学院
5#
发表于 2012-4-14 20:38:22 | 只看该作者
对不上号!
回复 支持 反对

使用道具 举报

8

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1030
QQ
威望
637
贡献
259
兑换币
100
注册时间
2012-2-14
在线时间
67 小时
毕业学校
南阳理工学院
6#
发表于 2012-4-14 20:38:36 | 只看该作者
对不上号!

补充内容 (2012-4-16 20:35):
当时没看懂。
回复 支持 反对

使用道具 举报

5

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
威望
200
贡献
71
兑换币
34
注册时间
2012-2-21
在线时间
19 小时
毕业学校
合肥工业大学
7#
发表于 2013-1-17 15:54:21 | 只看该作者
你好,你的问题解决了么?我也遇到类似的问题。尚未解决啊。。
这个文章里面也写了类似的问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 20:36 , Processed in 0.119487 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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