丌官娅硕 发表于 2014-4-20 19:00 
int16_t 带符号类型来读取,有正负值的。
绝对可以用,我试过的。
你用示波器测测B相管脚,B相管脚决定 ...
不行啊,我试了,
int16 FTM_QUAD_get(FTMn_e ftmn)
{
int16_t val;
ASSERT( (ftmn == FTM1) || (ftmn == FTM2 ) ); //检查传递进来的通道是否正确
val = FTM_CNT_REG(FTMN[ftmn]);
return val;
}
void speed_got()
{
int16_t val;
val = FTM_QUAD_get(FTM1); //获取FTM 正交解码 的脉冲数(负数表示反方向)
FTM_QUAD_clean(FTM1);
if(val>=0)
{
printf("\n正转:%d",val);
}
else
{
printf("\n反转:%d",-val);
}
这是原函数,不行啊 |