智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1945|回复: 1
打印 上一主题 下一主题

编码器采集的数据上万

[复制链接]

2

主题

4

帖子

0

精华

高级会员

Rank: 4

积分
667
威望
403
贡献
168
兑换币
8
注册时间
2011-8-24
在线时间
48 小时
跳转到指定楼层
1#
发表于 2012-5-27 01:42:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用BDM调试程序,查看编码器采集回来的数据是上万的,各位大神,求解啊!部分程序如下:
void SetBusCLK_16M(void)
{   
    CLKSEL=0X00;   
    PLLCTL_PLLON=1;   
    SYNR=0x00 | 0x01;
    REFDV=0x80 | 0x01;
    POSTDIV=0x00;        
    _asm(nop);         
    _asm(nop);
    while(!(CRGFLG_LOCK==1));   
    CLKSEL_PLLSEL =1;          //总线时钟=16M
}

void PIT_initial(){
  PITCFLMT_PITE=0;    //关闭PIT

  PITMTLD0 = 16-1;    //8位定时器初值设定。16分频,在16MHzBusClock下,为1MHz,即1us
  PITMTLD1 = 16-1;   
  
  PITLD0 = 10000-1; //10ms
  PITLD1 = 1000-1;  //1ms
  
  PITCE_PCE0 = 1;   //通道0使能
  PITCE_PCE1 = 1;   //通道1使能
  
  PITMUX_PMUX0 = 0;  //通道0采用微时基0
  PITMUX_PMUX1 = 0;  //通道1采用微时基0
  
  PITINTE_PINTE0 = 1;  //使能通道0中断
  PITINTE_PINTE1 = 1;  //使能通道1中断

  PITCFLMT_PITE = 1;   //使能PIT模块  
   
}

void TIM_init(void)
{   
  PACTL=0X50;    //端口初始化
  PACNT=0X00;      
}

#pragma CODE_SEG NON_BANKED
#pragma TRAP_PROC
interrupt 66 void PITTimeOut0(void)
{
  PITTF_PTF0 = 1;           //清零中断标志位
  current_speed=PACNT;    //速度值
  PACNT=0;
  PITCE = PITCE | 0x02;   //打开通道1
}
#pragma CODE_SEG DEFAULT

调试的时候我是在 “ current_speed=PACNT;    //速度值 ” 前面设个断点,接着按全速运行,电机按设定好的PWM转,而current_speed采集到的数据都上万了。。而且按全速运行间隔的时间不同,采集到的数据差距也会不同。这是什么情况啊??

0

主题

21

帖子

0

精华

注册会员

Rank: 2

积分
187
威望
95
贡献
42
兑换币
54
注册时间
2014-3-6
在线时间
25 小时
毕业学校
西北民族大学
2#
发表于 2014-8-15 17:47:23 | 只看该作者
我就不知do了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 19:12 , Processed in 0.070849 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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