智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1871|回复: 3
打印 上一主题 下一主题

[单片机] KEA128功能使用,求大神帮助!

[复制链接]

1

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
96
威望
57
贡献
27
兑换币
34
注册时间
2018-3-20
在线时间
6 小时
跳转到指定楼层
1#
发表于 2018-5-11 23:09:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
如何使用KEA128的输入捕捉函数来捕获外部脉冲,    求各位大神解答    ,,,,,,能提供点例程就更好了    非常感谢   

回复

使用道具 举报

1

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
96
威望
57
贡献
27
兑换币
34
注册时间
2018-3-20
在线时间
6 小时
2#
 楼主| 发表于 2018-5-11 23:10:22 | 只看该作者
顶起来
回复

使用道具 举报

18

主题

371

帖子

3

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
17734

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章资源大师奖章

威望
12132
贡献
3684
兑换币
1124
注册时间
2017-9-25
在线时间
959 小时
3#
发表于 2018-5-11 23:50:10 | 只看该作者
E0,E7引脚了解一下
回复

使用道具 举报

1

主题

5

帖子

0

精华

注册会员

Rank: 2

积分
96
威望
57
贡献
27
兑换币
34
注册时间
2018-3-20
在线时间
6 小时
4#
 楼主| 发表于 2018-5-12 20:27:26 | 只看该作者
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);



    }

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 14:43 , Processed in 0.128677 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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