智能车制作

标题: 编码器采集的数据上万 [打印本页]

作者: 598060231    时间: 2012-5-27 01:42
标题: 编码器采集的数据上万
用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采集到的数据都上万了。。而且按全速运行间隔的时间不同,采集到的数据差距也会不同。这是什么情况啊??

作者: L,X。    时间: 2014-8-15 17:47
我就不知do了




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2