智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2720|回复: 7
打印 上一主题 下一主题

中断采集的一些问题,附上我的代码

[复制链接]

23

主题

211

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3220
威望
1562
贡献
724
兑换币
357
注册时间
2011-11-20
在线时间
467 小时
跳转到指定楼层
1#
发表于 2012-4-20 10:37:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 bbddoop 于 2012-4-20 10:40 编辑

我把激光采集的程序放到,中断,200US进一次,点亮2个,一共18个管。

但是用中断后的一些问题。

1)调试。在单步调试的时候,程序总是认为中断总是成立,
     中断执行完一遍,再次跳入中断~~
     根本不执行MAIN函数的程序。

     但是程序放在车里跑是没问题的,舵机控制在MAIN函数里,也执行。

2)车在跑的时候,偶尔会出现,中断不能跳出,电机满速的情况。


3)有没有同学有查看测量程序运行的时间方法,
    CW原来有一个运行周期数,但是加上中断后,它也没了- -



附录~~中断程序    和    初始化

void PIT0_Init()
{
   PITCFLMT_PITE=0;          //disable PIT
   PITCE_PCE0=1;           //enable timer channel 0
     
                  
   PITMUX_PMUX0=0;           //The corresponding 16-bit timer counts with micro time base 0.   
   PITMTLD0=47;           //micro time base 0 equals 255 clock cycles   
   PITLD0=199;            //time-out period = (PITMTLD + 1) * (PITLD + 1) / fBU
   
               
   PITINTE_PINTE0=1;         //enable interupt channel 0   
            
   PITCFLMT_PITE=1;          //enable PIT 定时200US     
}




中断程序~~

#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0_ISR()//200us中断一次
{                                          
  static char Laser1_temp[9]={1};
  static char Laser0_temp[9]={1};
  DisableInterrupts;
  PITTF_PTF0=1;

/*
控制IO的点激光
太长也没什么东西就不附上了。

还有读脉冲和电机的PID控制。
*/
EnableInterrupts;  
}  



23

主题

211

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3220
威望
1562
贡献
724
兑换币
357
注册时间
2011-11-20
在线时间
467 小时
8#
 楼主| 发表于 2013-4-7 19:48:49 | 只看该作者
除却巫山不是云 发表于 2013-4-7 15:23
是在那个调试页面最下面那个么

full chip simulation
回复 支持 反对

使用道具 举报

7

主题

161

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1319

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

威望
572
贡献
405
兑换币
339
注册时间
2012-12-9
在线时间
171 小时
7#
发表于 2013-4-7 15:23:53 | 只看该作者
bbddoop 发表于 2013-4-6 17:55
CW5.1有一个纯软件的调试的模式(叫FULL 什么来着,就是第一个模式),那个模式会显示一个机器周期,机器 ...

是在那个调试页面最下面那个么
回复 支持 反对

使用道具 举报

23

主题

211

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3220
威望
1562
贡献
724
兑换币
357
注册时间
2011-11-20
在线时间
467 小时
6#
 楼主| 发表于 2013-4-6 17:55:46 | 只看该作者
除却巫山不是云 发表于 2013-4-4 19:32
虽然我应经确定我的程序不会溢出了,但我还是想知道怎么查看程序运行时间啊,楼主能否告知一二。。、

CW5.1有一个纯软件的调试的模式(叫FULL 什么来着,就是第一个模式),那个模式会显示一个机器周期,机器周期除以你的频率就是时间了
回复 支持 反对

使用道具 举报

7

主题

161

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1319

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

威望
572
贡献
405
兑换币
339
注册时间
2012-12-9
在线时间
171 小时
5#
发表于 2013-4-4 19:32:15 | 只看该作者
bbddoop 发表于 2013-4-4 16:12
恩,知道了。

虽然我应经确定我的程序不会溢出了,但我还是想知道怎么查看程序运行时间啊,楼主能否告知一二。。、
回复 支持 反对

使用道具 举报

23

主题

211

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3220
威望
1562
贡献
724
兑换币
357
注册时间
2011-11-20
在线时间
467 小时
4#
 楼主| 发表于 2013-4-4 16:12:44 | 只看该作者
除却巫山不是云 发表于 2013-3-26 16:54
不只楼主知道怎么查看程序运行的时间了没?

恩,知道了。
回复 支持 反对

使用道具 举报

7

主题

161

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1319

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

威望
572
贡献
405
兑换币
339
注册时间
2012-12-9
在线时间
171 小时
3#
发表于 2013-3-26 16:54:02 | 只看该作者
bbddoop 发表于 2012-4-20 15:19
顶!

人呢,都去上课了吗?

不只楼主知道怎么查看程序运行的时间了没?
回复 支持 反对

使用道具 举报

23

主题

211

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3220
威望
1562
贡献
724
兑换币
357
注册时间
2011-11-20
在线时间
467 小时
2#
 楼主| 发表于 2012-4-20 15:19:23 | 只看该作者
顶!

人呢,都去上课了吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 06:48 , Processed in 0.136080 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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