智能车制作

标题: KEA128功能使用,求大神帮助! [打印本页]

作者: Explore_Jot1K    时间: 2018-5-11 23:09
标题: KEA128功能使用,求大神帮助!
如何使用KEA128的输入捕捉函数来捕获外部脉冲,    求各位大神解答    ,,,,,,能提供点例程就更好了    非常感谢   

作者: Explore_Jot1K    时间: 2018-5-11 23:10
顶起来
作者: a1183810556    时间: 2018-5-11 23:50
E0,E7引脚了解一下
作者: Explore_Jot1K    时间: 2018-5-12 20:27
a1183810556 发表于 2018-5-11 23:50
E0,E7引脚了解一下

谢谢 解答   那个输入捕获函数可以用了    只不过 我这个库  E0  E7 是  外部引脚输入计数函数的引脚   现在就是在两者的精度上有些疑问

一、外部引脚输入计数函数(例程):
uint16_t count;

    //这2个模块模拟编码器的输出
    ftm_pwm_init(FTM0, FTM_CH0,  1000, 50);    //FTM0_CH0_PIN    PTA0
    ftm_pwm_init(FTM1, FTM_CH0,  1000, 50);     //FTM2_CH0_PIN    PTC0

    ftm_pulse_init(FTM2, FTM_PS_1, TCLK1);

    while(1)
    {
        //通过 ftm_pulse_mux 函数,重定义引脚 ,下面代码配置为 TCLK1

        ftm_pulse_mux(FTM2, TCLK1);              //TCLK1           PTE0
        ftm_pulse_clean(FTM2) ;
        DELAY_MS(100);
        count = ftm_pulse_get(FTM2);

        printf("\nTCLK1脉冲数:%d", count) ;

        //通过 ftm_pulse_mux 函数,重定义引脚 ,下面代码配置为 TCLK2

        ftm_pulse_mux(FTM2, TCLK2);                 //TCLK2           PTE7
        ftm_pulse_clean(FTM2) ;
        DELAY_MS(100);
        count = ftm_pulse_get(FTM2);

        printf("\nTCLK2脉冲数:%d", count) ;

        DELAY_MS(500);

}

二、输入捕捉函数(例程):
uint16 count,count1 ;

    //ftm_pwm_init(FTM0, FTM_CH0, 100, 50);       //输出频率为100,占空比为 50/FTM0_PRECISON 。引脚为:FTM0_CH0_PIN
    //uint16_t  count_L,count_R;

     ftm_pwm_init(FTM0, FTM_CH0, 100, 50 );        // 左电机           //A0
     ftm_pwm_init(FTM0, FTM_CH1, 100, 0 );                             //A1

     ftm_pwm_init(FTM1, FTM_CH0, 100, 50 );      //   右电机          //H2
     ftm_pwm_init(FTM1, FTM_CH1, 100 , 0 );                           //E7

     ftm_input_init(FTM2, FTM_CH2, FTM_Rising,FTM_PS_1);      /*C2*/   /*LEFT CODER*/
     ftm_input_init(FTM2, FTM_CH5, FTM_Rising,FTM_PS_1);      /*B5*/   /*RIGHT CODER*/

    while(1)
    {

      ftm_input_clean (FTM2 );
      DELAY_MS(1000);
      count = ftm_input_get   (FTM2, FTM_CH2);
      count1 = ftm_input_get   (FTM2, FTM_CH5);
      printf("\n左编码器脉冲数:%d", count);

      //DELAY_MS(500);

      printf("    右编码器脉冲数:%d\n", count1);



    }






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