正转是正数,反转时负数,为什么呢?而且在运行时转电机得到的是0,手转电机得到的是前面说的情况
void read_eqep()
{
i++;
if(i>10000) //开关来启动或停止数组存储
{
i=0;
if(GpioDataRegs.GPADAT.bit.GPIO12==0)
{
eqepzhi[count]=EQep1Regs.QPOSCNT;
count++;
if(count>999)
count=0;
}
}
}
这段程序放在while(1)中
mangui zhang:
你在详细看看捕获等相关功能介绍
有寄存器或相关位专门用来标志电机运转的方向
正转是正数,反转时负数,为什么呢?而且在运行时转电机得到的是0,手转电机得到的是前面说的情况
void read_eqep()
{
i++;
if(i>10000) //开关来启动或停止数组存储
{
i=0;
if(GpioDataRegs.GPADAT.bit.GPIO12==0)
{
eqepzhi[count]=EQep1Regs.QPOSCNT;
count++;
if(count>999)
count=0;
}
}
}
这段程序放在while(1)中
rong zhang:
回复 mangui zhang:
你好,请问调试F28335,TI官网例程eqep_pos_speed,寄存器EQep1Regs.QPOSCNT的值一直为0 ,是怎么回事啊?谢谢
正转是正数,反转时负数,为什么呢?而且在运行时转电机得到的是0,手转电机得到的是前面说的情况
void read_eqep()
{
i++;
if(i>10000) //开关来启动或停止数组存储
{
i=0;
if(GpioDataRegs.GPADAT.bit.GPIO12==0)
{
eqepzhi[count]=EQep1Regs.QPOSCNT;
count++;
if(count>999)
count=0;
}
}
}
这段程序放在while(1)中
mangui zhang:
回复 rong zhang:
问题解决了吗 通用定时器有没有配置合适
问题的可能性比较多 输入信号确保没问题是吧 我当时都是将编码器的信号经过
整形处理之后送入到捕获单元
正转是正数,反转时负数,为什么呢?而且在运行时转电机得到的是0,手转电机得到的是前面说的情况
void read_eqep()
{
i++;
if(i>10000) //开关来启动或停止数组存储
{
i=0;
if(GpioDataRegs.GPADAT.bit.GPIO12==0)
{
eqepzhi[count]=EQep1Regs.QPOSCNT;
count++;
if(count>999)
count=0;
}
}
}
这段程序放在while(1)中
5820421:
回复 rong zhang:
你好,问题解决了吗?我也碰到这个问题了,卡住好久了