智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1765|回复: 8
打印 上一主题 下一主题

128pit中断

[复制链接]

2

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
QQ
威望
216
贡献
124
兑换币
124
注册时间
2014-10-15
在线时间
36 小时
毕业学校
中南大学
跳转到指定楼层
1#
发表于 2015-5-10 17:06:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      急救啊,,有没有xs128的大神?谢谢了,小弟快疯了,快救救我这个学渣。      pit定时中断进去出不来,中断函数里面就改了一个标志位,程序就几行,中断标志位也清除了。。。
     最近写的一个测试小程序,只有锁相环和pit(1s)的初始化,一个pit中断和累加变量的主函数,单步调试永远在中断中,但是直接点continue,能看到累加的变量是正常的(好像是正常的,但是单步永远到不了变量值累加的那儿)。更神奇的是,单片机的工作指示灯竟然不会亮。
   
     小车程序里面也是类似的,永远进不了主函数,不同于小的测试程序,continue也进不了了,断点也进不去。

     不知道是不是我用的codewarrior有问题,单步调试会卡住的地方,用断点能跳过
     
回复

使用道具 举报

0

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
272
威望
142
贡献
84
兑换币
83
注册时间
2014-10-28
在线时间
23 小时
毕业学校
中南大学
2#
发表于 2015-5-10 17:07:25 | 只看该作者
沙发!虽然我不会128
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
QQ
威望
216
贡献
124
兑换币
124
注册时间
2014-10-15
在线时间
36 小时
毕业学校
中南大学
3#
 楼主| 发表于 2015-5-10 17:20:38 | 只看该作者
  1. #include "derivative.h"
  2. #include <hidef.h>


  3. void startup()
  4. {




  5. CLKSEL = 0x00;
  6. PLLCTL_PLLON = 1;
  7. SYNR = 0xC0 | 0x09;                  
  8. REFDV = 0x80 | 0x01;  
  9. POSTDIV = 0x00;
  10. while(CRGFLG_LOCK != 1);
  11. CLKSEL_PLLSEL = 0x01;    //80m



  12. PITCFLMT = 0x00;
  13. PITCE_PCE0=1;
  14. PITMUX = 0X00;

  15. PITLD0 = 0X7a11;
  16. PITMTLD0 =0XFF;   //1s

  17. PITINTE= 0X01;
  18. PITCFLMT=0X80;
  19. EnableInterrupts;

  20. }[code]#include <hidef.h>      /* common defines and macros */
  21. #include "derivative.h"      /* derivative-specific definitions */
  22.                               
  23.   extern void startup() ;         
  24.    
  25.    // #define led PORTE_PE1
  26.     int flag;
  27.     int count;
  28.      
  29.      int a;
  30. void main(void)
  31. {
  32.   /* put your own code here */
  33.     startup() ;
  34.     while(1)
  35.      {
  36.       
  37.    
  38.      if(flag)
  39.        {
  40.          a = 1;
  41.          flag=0;  
  42.          
  43.            
  44.        }
  45.      }
  46.   }

  47.       
  48.       
  49. #pragma CODE_SEG __NEAR_SEG  NON_BANKED
  50. interrupt  66U void PIT_ISR(viod)
  51. {   
  52.    EnableInterrupts;
  53.    PITTF_PTF0=1;
  54.    count++;
  55. if(count==5)
  56. {
  57.   flag=1;
  58.   count=0;
  59. }
  60. }

  61. #pragma CODE_SEG  DEFAULT
复制代码
[/code]
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
QQ
威望
216
贡献
124
兑换币
124
注册时间
2014-10-15
在线时间
36 小时
毕业学校
中南大学
4#
 楼主| 发表于 2015-5-10 17:22:05 | 只看该作者
上面是我写的测试程序,请各位哥们看看,谢谢了
回复 支持 反对

使用道具 举报

7

主题

370

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3921
威望
1912
贡献
1181
兑换币
1186
注册时间
2013-3-31
在线时间
445 小时
毕业学校
安徽中医学院
5#
发表于 2015-5-11 00:37:13 | 只看该作者
进中断以后应该先关闭中断吧?为什么你却打开中断?
回复 支持 反对

使用道具 举报

14

主题

876

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5811
威望
3006
贡献
1961
兑换币
1991
注册时间
2013-2-28
在线时间
422 小时
6#
发表于 2015-5-11 19:00:48 | 只看该作者
楼上+1
回复 支持 反对

使用道具 举报

15

主题

174

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2778
威望
1409
贡献
749
兑换币
884
注册时间
2014-12-18
在线时间
310 小时
7#
发表于 2015-5-11 21:54:05 | 只看该作者
PIT没禁止使能怎么出来。。。
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
QQ
威望
216
贡献
124
兑换币
124
注册时间
2014-10-15
在线时间
36 小时
毕业学校
中南大学
8#
 楼主| 发表于 2015-5-14 16:20:06 | 只看该作者
江上远帆 发表于 2015-5-11 00:37
进中断以后应该先关闭中断吧?为什么你却打开中断?

这个关系啊,我准备嵌套其他中断,当然要开着中断。我试过在中断程序中关掉中断,没有用
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
412
QQ
威望
216
贡献
124
兑换币
124
注册时间
2014-10-15
在线时间
36 小时
毕业学校
中南大学
9#
 楼主| 发表于 2015-5-14 16:21:30 | 只看该作者
小福猪 发表于 2015-5-11 21:54
PIT没禁止使能怎么出来。。。

哪有这种说法啊,难道自己的中断还能被自己打断不成?我试过关中断,没有用
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 19:27 , Processed in 0.080695 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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