智能车制作

标题: 冷火52255测速,到底是用DTIM还是GPT? [打印本页]

作者: absentyk    时间: 2014-6-11 23:37
标题: 冷火52255测速,到底是用DTIM还是GPT?
想要加速度闭环,可是测速一直搞不定,看见论坛上的用DTIM测外部脉冲的初始化,可是读取计数值一直为0 ,有没有大神帮助给一个可以计数的程序,52255太虐心了
作者: tonystark    时间: 2014-6-12 08:39
拿摄像头DMA采集来换

作者: 超级马力    时间: 2014-6-12 13:41
光电就用GPT。
作者: Enzo    时间: 2014-6-12 13:53
//-------------------------------------------------------------------------*
//函数名MA脉冲计数初始化                                                 *
//功  能: 脉冲计数                                                         *
//参  数:无                                                                *
//返  回:无                                                                *
//-------------------------------------------------------------------------*  
void DMA_count(void)
{
//设置TC口 0 1 为DMA定时功能       
MCF_GPIO_PTCPAR|=MCF_GPIO_PTCPAR_DTIN0_DTIN0|MCF_GPIO_PTCPAR_DTIN1_DTIN1;
//设置DTM模式寄存器
MCF_DTIM_DTMR(0)|=MCF_DTIM_DTMR_CE_NONE //不进行捕捉
                                        |MCF_DTIM_DTMR_CLK_DTIN //外部时钟源
                                        |MCF_DTIM_DTMR_FRR;//触发事件之后计数值清零
MCF_DTIM_DTMR(1)|=MCF_DTIM_DTMR_CE_NONE //不进行捕捉
                                        |MCF_DTIM_DTMR_CLK_DTIN //外部时钟源
                                        |MCF_DTIM_DTMR_FRR;//触发事件之后计数值清零
MCF_DTIM_DTRR(0)=0xFFFFFFFF;//计数器基准值,32位,可以计到0xFFFFFFFF
MCF_DTIM_DTRR(1)=0xFFFFFFFF;//计数器基准值,32位,可以计到0xFFFFFFFF
MCF_DTIM0_DTCN=0x00;//清零计数器
MCF_DTIM1_DTCN=0x00;//清零计数器

MCF_DTIM_DTMR(0) |= MCF_DTIM_DTMR_RST;
MCF_DTIM_DTMR(1) |= MCF_DTIM_DTMR_RST;
}



        
//-------------------------------------------------------------------------*
//函数名:获取DMA脉冲计数 计数值    0                                          *
//功  能:                                                                  *
//参  数:无                                                                *
//返  回:计数值                                                            *
//-------------------------------------------------------------------------*  
uint32 GET_count0(void)
{
  uint32 count0;
  count0=(uint32)MCF_DTIM0_DTCN;
  MCF_DTIM0_DTCN=0x00;
  return count0;       
}


//-------------------------------------------------------------------------*
//函数名:获取DMA脉冲计数 计数值    0                                          *
//功  能:                                                                  *
//参  数:无                                                                *
//返  回:计数值                                                            *
//-------------------------------------------------------------------------*  
uint32 GET_count1(void)
{
  uint32 count1;
  count1=(uint32)MCF_DTIM1_DTCN;
  MCF_DTIM1_DTCN=0x00;
  return count1;       
}

帮你们一次吧...这个真心查手册就可以搞定的
作者: absentyk    时间: 2014-6-22 15:58
谢谢啦,向大神致敬
作者: Roy..    时间: 2014-11-5 23:02
求教
作者: Crofy゛_▍    时间: 2014-11-16 15:17
我也做光电,也用DTIM
作者: yaozhenfei    时间: 2015-4-23 10:59
为啥我TC1,TC2能用,TC3就不能用来计数?
作者: 让“孟”飞起来    时间: 2015-6-6 17:23
Enzo 发表于 2014-6-12 13:53
//-------------------------------------------------------------------------*
//函数名MA脉冲计数初 ...

外部时钟源是哪个接口呢外部的脉冲从哪进入呢





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