智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1285|回复: 0
打印 上一主题 下一主题

[讨论] lpt调速,谁告诉我是什么问题,检测的速度拿好像有问题

[复制链接]

1

主题

1

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
278
威望
180
贡献
68
兑换币
48
注册时间
2012-3-1
在线时间
16 小时
毕业学校
陕西科技大学
跳转到指定楼层
1#
发表于 2013-7-9 18:36:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "common.h"
#include "include.h"
  extern volatile u32 LPT_INT_count;   
  extern volatile u8  pit_flag;
   int jspeed,sspeed=100,serror[2],speed;
  int cesu()
  { u16 count;
     lptmr_counter_init(LPT0_ALT1, 6000, 2, LPT_Rising);
     pit_init_ms(PIT0,5);
           enable_irq(68);
           while(pit_flag==0)
           {

           }
           count=LPTMR0_CNR;              //保存脉冲计数器计算值   
           lptmr_counter_clean();         //清空脉冲计数器计算值(马上清空,这样才能保证计数值准确)
          //  printf("LPT_INT_count:%d个\n",LPT_INT_count);      
            LPT_INT_count=0;               //清空LPT中断次数         
      pit_flag=0;
    return count;  
  }
  void tiaosu(int gspeed)
  {

    float skp=0.8,skd=1.5;
  jspeed=cesu();   

   serror[1]=serror[0];
   serror[0]=gspeed-jspeed;
    if(serror[0]<4&&serror[0]>-4)
      speed=sspeed;   
   else
     speed=(int)(sspeed+skp* serror[0]+skd*(serror[0]-serror[1]));
  if(speed>400)
     speed=400;
   else if(speed<0)
      speed=0;
  sspeed=speed;
    FTM_PWM_init(FTM0,CH0,15000,speed+100);
    FTM_PWM_init(FTM0,CH1,15000,100);
   //  printf("serror[0]:%d个\n",serror[0]);
  //  printf("serror[1]:%d个\n",serror[1]);
    printf("jspeed:%d个\n",jspeed);
  //  printf("speed:%d个\n",speed);
  }
  void main()   
  {   u32 i;      
      DisableInterrupts;
     EnableInterrupts;                                                  //开总中断      
      while(1)  
      {      
        tiaosu(10);   
      }   
  }
void  LPT_Handler(void){      LPTMR0_CSR|=LPTMR_CSR_TCF_MASK;
}
void PIT0_IRQHandler(){     pit_flag=1;                 //标记进入PIT中断       PIT_Flag_Clear(PIT0);       //清中断标志位    disable_irq(68);                }

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

本版积分规则

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

GMT+8, 2024-11-8 05:52 , Processed in 0.043602 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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