注册 登录
查看: 525|回复: 7

[智能车] KL今天好像发现了一个BUG,不知是否是程序原因

[复制链接]
发表于 2014-5-29 10:48:37 | 显示全部楼层 |阅读模式
这两天在玩KL26,我用山外提供的例程通过tpm模块测速,然后发现了一个事情,不知道是不是山外底层的BUG
回复

使用道具 举报

 楼主| 发表于 2014-5-29 10:56:41 | 显示全部楼层
当我用山外的源程序时,当我们这样写(山外的源程序)void main()
{
   
    uint16 count;
    printf("\n*****TPM 脉冲计数 测试*****\n");

    tpm_pwm_init(TPM0, TPM_CH1,1000,50);      //初始化 PWM
    tpm_pulse_init(TPM2,TPM_CLKIN1,TPM_PS_1); //初始化 TPM2 为脉冲累加,输入管脚为 TPM_CLKIN0_PIN ,分频系数为 1

    while(1)
    {
        tpm_pulse_clean(TPM2);                                  //清空脉冲计数器计算值(马上清空,这样才能保证计数值准确)

        pit_delay_ms(PIT0,1000);                                //利用 PIT 延时时间,LPTMR模块进行 计算,累加 FTM 产生的PWM脉冲

        count   =  tpm_pulse_get(TPM2);                         //保存脉冲计数器计算值

        printf("LPTMR脉冲计数为:%d\n",   count);                 //打印计数值
    }
}


我没有让PWM输出短接到TPM测速的输入脚,我只是用手拨动轮子,编码器输出到测速引脚,有正常的计数值

但是,一旦我把 tpm_pwm_init(TPM0, TPM_CH1,1000,50);      //初始化 PWM,这句话给屏蔽掉,发现就没有计数值,且一直为0,然后把这句话加上,又有计数值,还有就是,这句PWM的初始化,只要存在,不论初始的是哪一路,都有计数值,感觉好奇怪啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-29 10:58:50 | 显示全部楼层
有用tpm测速模块的可以试一试,把你PWM初始化屏蔽掉,然后用手拨车轮,看还有没有计数值,看看是不是只有我一个人有这个问题
回复 支持 反对

使用道具 举报

发表于 2014-5-29 12:08:01 | 显示全部楼层
之前有遇到过,和楼主一样
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-29 13:25:40 | 显示全部楼层
狂野的庄稼汉 发表于 2014-5-29 12:08
之前有遇到过,和楼主一样

后来怎么解决的,亲
回复 支持 反对

使用道具 举报

发表于 2014-5-29 17:47:20 | 显示全部楼层
七色 发表于 2014-5-29 13:25
后来怎么解决的,亲

忘了,当时是另外一组用kl26,帮他们调的时候遇到的,好像一直都没有解决吧,
回复 支持 反对

使用道具 举报

发表于 2014-5-29 17:49:11 | 显示全部楼层
七色 发表于 2014-5-29 13:25
后来怎么解决的,亲

但是好像不影响使用,电机输出也会用到tpm
回复 支持 反对

使用道具 举报

发表于 2014-7-13 09:02:37 | 显示全部楼层
好像看到过说法kl26得先初始化tpm0通道。然后才能用后面两个,不对勿喷。
回复 支持 反对

使用道具 举报

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

本版积分规则

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