智能车制作

 找回密码
 注册

扫一扫,访问微社区

楼主: E08610318
打印 上一主题 下一主题

关于PIT模块同时使用两个中断实现两灯互闪的问题

  [复制链接]

1

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
威望
242
贡献
49
兑换币
0
注册时间
2011-5-15
在线时间
1 小时
21#
发表于 2011-7-16 10:07:26 | 只看该作者
到底是怎么回事啊?看不懂也?
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
威望
242
贡献
49
兑换币
0
注册时间
2011-5-15
在线时间
1 小时
22#
发表于 2011-7-16 10:07:29 | 只看该作者
到底是怎么回事啊?看不懂也?
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
威望
242
贡献
49
兑换币
0
注册时间
2011-5-15
在线时间
1 小时
23#
发表于 2011-7-16 10:07:34 | 只看该作者
到底是怎么回事啊?看不懂也?
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
威望
242
贡献
49
兑换币
0
注册时间
2011-5-15
在线时间
1 小时
24#
发表于 2011-7-16 10:07:36 | 只看该作者
到底是怎么回事啊?看不懂也?
回复 支持 反对

使用道具 举报

4

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1148
威望
530
贡献
466
兑换币
77
注册时间
2012-6-3
在线时间
76 小时
25#
发表于 2012-7-6 17:06:51 | 只看该作者
啊。学习了。我也遇到两个定时器中断只能进定时器0而进不了定时器中断1的情况了。
回复 支持 反对

使用道具 举报

0

主题

99

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1299
威望
717
贡献
372
兑换币
244
注册时间
2012-7-19
在线时间
105 小时
毕业学校
TianJin University
26#
发表于 2012-8-3 00:05:12 | 只看该作者
E08610318 发表于 2010-10-23 14:48
恍然大悟,哎,还是你比较认真,DATASHEET这部分我之前也看了,没在意,当时没有做实验,原来是这么回事,还 ...

额,其实还有更深层次的原因,给你个链接吧
http://www.znczz.com/thread-56088-1-1.html

刚刚那位大神的解决方法也挺好的,因为关闭了PIT之后,标志位就自动清零了
不是因为写1 和置位同时发生的问题

加油
回复 支持 反对

使用道具 举报

10

主题

353

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1657
威望
1031
贡献
326
兑换币
60
注册时间
2012-2-23
在线时间
150 小时
27#
发表于 2012-8-6 23:19:42 | 只看该作者
赵超超 发表于 2011-3-7 10:28
其实我也能回答出来

2b  
回复 支持 反对

使用道具 举报

10

主题

353

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1657
威望
1031
贡献
326
兑换币
60
注册时间
2012-2-23
在线时间
150 小时
28#
发表于 2012-8-7 01:39:25 | 只看该作者
xiaolezizhl 发表于 2010-10-21 10:11
我调试时看了下   用这PITTF_PTF0 = 1好像清除不了标志位,翻了下数据手册看到If flag clearing by writing ...

那么请问若是楼主的程序么有清楚标志位,为什么仅用一个中断的时候应该也没有清标志位,为什么程序能正常运行?
比如  switch(PORTE&0x14)
  
  {
    case 0x14:{
                    Object_speed=22;
                    break;
              }
    case 0x04:{
                    Object_speed=26;
                    break;
              }
    case 0x10:{
                    Object_speed=30;
                    break;
              }
    case 0x00:{
                    Object_speed=35;
                    break;
              }
    default:break;
  }
  delay2s();//延时2秒发车
EnableInterrupts;
  
  for(;;) {
    _FEED_COP(); /* feeds the dog */  
   saomiao();
   chuli();
   Tiaosu();
   driver();
  } /* loop forever */
  /* please make sure that you never leave main */  
}
/***********************测速***********************/
//#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0(void)
{
      PITTF_PTF0=1;
      pulse_speed=PACNT;
      PACNT=0x0000;
         
}
#pragma CODE_SEG DEFAULT
这是我的小车程序的一部分,我感觉程序是正常运行的,应该肯定出中断了

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

1

主题

67

帖子

0

精华

高级会员

Rank: 4

积分
649
威望
368
贡献
179
兑换币
91
注册时间
2012-4-18
在线时间
51 小时
毕业学校
江南大学
29#
发表于 2012-10-13 19:35:47 | 只看该作者
Wonderful!
回复 支持 反对

使用道具 举报

1

主题

67

帖子

0

精华

高级会员

Rank: 4

积分
649
威望
368
贡献
179
兑换币
91
注册时间
2012-4-18
在线时间
51 小时
毕业学校
江南大学
30#
发表于 2012-10-13 21:28:40 | 只看该作者
学习
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 21:26 , Processed in 0.056365 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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