智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 3332|回复: 3
打印 上一主题 下一主题

输入捕捉中断问题

[复制链接]

0

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
威望
181
贡献
22
兑换币
0
注册时间
2009-9-8
在线时间
9 小时
跳转到指定楼层
1#
发表于 2009-9-8 16:48:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我的程序如下,发现单步执行的时候,中断可以循环发生,全速执行的时候,中断只能发生一次 ,好奇怪啊,哪位高手可以帮我解释一下 ,
#include <hidef.h>  
#include <mc9s12hy64.h>
#include "derivative.h"
void timer0_init();

unsigned int c=0;
void main(void)
{
DisableInterrupts;
   timer0_init();
  EnableInterrupts;
  TIM0_TSCR1_TEN = 1;  //使能计数器
}
           
void timer0_init(void)//输入捕捉计数器初始化
{
TIM0_TSCR2_PR=0x07;//时钟设为八分之一
TIM0_TIOS =0xEF;//设T0_4为输入捕捉
TIM0_TCTL3=0x02; //下降沿捕捉
TIM0_TIE=0x10;//允许中断
TIM0_TSCR1_TEN = 1;  //使能计数器
TIM0_TSCR1_TFFCA=1 ;
TIM0_TFLG1_C4F=1;
TIM0_TSCR2_TOI=0;
}

#pragma CODE_SEG __NEAR_SEG NON_BANKED//定时器中断

interrupt 12 void timer0overflow(void)
{
   TIM0_TC4;
    c++;   
    }
#pragma CODE_SEG DEFAULT

0

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
威望
235
贡献
51
兑换币
28
注册时间
2009-7-4
在线时间
9 小时
4#
发表于 2011-3-11 20:28:10 | 只看该作者
进入中断要清零标志位
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
威望
197
贡献
49
兑换币
12
注册时间
2010-7-10
在线时间
18 小时
3#
发表于 2010-11-21 10:52:59 | 只看该作者
主函数最后加一个for循环试试!!
回复 支持 反对

使用道具 举报

14

主题

929

帖子

1

精华

功勋会员

WJ

Rank: 10Rank: 10Rank: 10

积分
6304

特殊贡献奖章

威望
1456
贡献
4674
兑换币
17
注册时间
2008-4-6
在线时间
87 小时
2#
发表于 2009-9-10 00:28:42 | 只看该作者
清标志位?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 14:23 , Processed in 0.076289 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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