智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 7003|回复: 13
打印 上一主题 下一主题

为什么PIT中断跳不出去?

  [复制链接]

4

主题

7

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
248
威望
181
贡献
25
兑换币
0
注册时间
2010-9-4
在线时间
21 小时
跳转到指定楼层
1#
发表于 2011-7-3 14:33:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
void pll_init()
{
  CLKSEL_PLLSEL=0; //选择外部晶振oscclk=6MZ
  PLLCTL_PLLON=0;
  SYNR=9;                   //总线时钟=40/2=20MHz
  REFDV=2;
  PLLCTL_PLLON=1;
  _asm(nop);
  _asm(nop);
  while(CRGFLG_LOCK==0);//锁相环锁定
  CLKSEL_PLLSEL=1;//选定外部时钟
}   
void pit_int()
{
  PITCFLMT_PITE=0;//pit使能
  PITCE_PCE0=1;//通道0使能
  PITMTLD0=200-1;//设置八位计数器初值 20分频,0.1M
  PITMUX=0x00;
  PITLD0=10000-1;//10000*0.01MS=10S
  PITINTE_PINTE0=1;//开通定时中断溢出
  PITCFLMT_PITE=1;
}
void main(void)
{
  DisableInterrupts;
  pll_init();
  io_int();
  pit_int();
  
  EnableInterrupts;
  for(;;) {}
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED      
interrupt 66 void pit0(void)
{
  PITTF_PTF0=1; //清除标志位
  PORTB=~PORTB;  
}
#pragma CODE_SEG DEFAULT

求大家给看看为什么pit中断跳不出去,一直在中断程序里反复进行。单片机上的LED根本就没有闪过。

7

主题

101

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1915
威望
738
贡献
1031
兑换币
340
注册时间
2013-4-25
在线时间
73 小时
14#
发表于 2013-5-2 13:50:28 | 只看该作者
interrupt 66 void pit0(void)
{
  
  PORTB=~PORTB;
PITTF_PTF0=1; //清除标志位
}
这样行不?
回复 支持 反对

使用道具 举报

10

主题

159

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2674
威望
1404
贡献
390
兑换币
914
注册时间
2012-12-25
在线时间
440 小时
13#
发表于 2013-5-1 19:15:44 | 只看该作者
8楼正解
回复 支持 反对

使用道具 举报

27

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2049
威望
1155
贡献
600
兑换币
333
注册时间
2012-3-14
在线时间
147 小时
12#
发表于 2012-12-14 21:03:25 | 只看该作者
本帖最后由 liucheng_34 于 2012-12-14 21:06 编辑
physics_boy 发表于 2011-7-3 19:04
//PITTF_PTF0=1;
这一句无法清除中断,请参考飞思卡尔手册说明文档的注意事项,请使用如下清除中断语句。
...

你好,请问asm(MOVB #$01,PITTF);中的#$01是什么啊,还是就01啊?在k60里面怎么实现?本人刚学汇编,请指教!
回复 支持 反对

使用道具 举报

27

主题

194

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2049
威望
1155
贡献
600
兑换币
333
注册时间
2012-3-14
在线时间
147 小时
11#
发表于 2012-12-14 20:59:13 | 只看该作者
厉害!k60碰到了
回复 支持 反对

使用道具 举报

30

主题

585

帖子

1

精华

等待验证会员

积分
-8838
威望
-9931
贡献
77
兑换币
46
注册时间
2012-6-23
在线时间
508 小时
10#
发表于 2012-12-2 14:15:41 | 只看该作者
回复 支持 反对

使用道具 举报

11

主题

159

帖子

0

精华

高级会员

Rank: 4

积分
960

优秀会员奖章活跃会员奖章

威望
569
贡献
217
兑换币
231
注册时间
2012-9-25
在线时间
87 小时
9#
发表于 2012-12-2 11:56:48 | 只看该作者
学习了~
回复 支持 反对

使用道具 举报

5

主题

51

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1191
威望
581
贡献
332
兑换币
113
注册时间
2012-3-13
在线时间
139 小时
8#
发表于 2012-7-30 06:53:13 | 只看该作者
如果向标志位写入1和标志位置1同时发生在同一个总线周期,标志位保持置1的状态,如果PIT模块禁能或相应的定时器通道禁能,则这一位请0。
回复 支持 反对

使用道具 举报

3

主题

57

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1179
威望
439
贡献
438
兑换币
39
注册时间
2012-2-8
在线时间
151 小时
毕业学校
北方民族大学
7#
发表于 2012-6-2 16:23:17 | 只看该作者
回复 支持 反对

使用道具 举报

7

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
424
威望
280
贡献
64
兑换币
0
注册时间
2011-9-28
在线时间
40 小时
6#
发表于 2011-10-31 19:53:59 | 只看该作者
求教,我的程序和楼主的基本一样。可是也跳不出中断。为什么呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-30 19:06 , Processed in 0.332127 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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