智能车制作
标题:
正交解码得出的数据都是正的
[打印本页]
作者:
默冩﹏摯愛
时间:
2015-3-4 18:49
标题:
正交解码得出的数据都是正的
K60正交解码得出的数据都是正的。正转正常,反转就是6万多。我以为是数据类型的问题,但是定义的是有符号的16位数据类型
void FTM1_QUAD_Iint(void)
{
PORTA_PCR12= PORT_PCR_MUX(7); // 设置引脚A8引脚为FTM1_PHA功能
PORTA_PCR13= PORT_PCR_MUX(7); // 设置引脚A9引脚为FTM1_PHB功能
PORT_PCR_REG(PORTA_BASE_PTR, 12) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ; //开弱上拉
PORT_PCR_REG(PORTA_BASE_PTR, 13) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ; //开弱上拉
SIM_SCGC6|=SIM_SCGC6_FTM1_MASK;//使能FTM1时钟
FTM1_MODE |= FTM_MODE_WPDIS_MASK;//写保护禁止
FTM1_QDCTRL|=FTM_QDCTRL_QUADMODE_MASK;//AB相同时确定方向和计数值
FTM1_CNTIN=0;//FTM0计数器初始值为0
FTM1_MOD=65535;//结束值
FTM1_QDCTRL|=FTM_QDCTRL_QUADEN_MASK;//启用FTM1正交解码模式
FTM1_MODE |= FTM_MODE_FTMEN_MASK;//FTM1EN=1
FTM1_CNT=0;
}
//*****************************************************************************
// FTM2 编码器2 引脚 PTA 10-11
//*****************************************************************************
void FTM2_QUAD_Iint(void)
{
PORTB_PCR18 = PORT_PCR_MUX(6); // 设置引脚A10引脚为FTM2_PHA功能
PORTB_PCR19 = PORT_PCR_MUX(6); // 设置引脚A11引脚为FTM2_PHB功能
PORT_PCR_REG(PORTB_BASE_PTR, 18) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ; //开弱上拉
PORT_PCR_REG(PORTB_BASE_PTR, 19) |= PORT_PCR_PE_MASK | PORT_PCR_PS_MASK ; //开弱上拉
SIM_SCGC3 |= SIM_SCGC3_FTM2_MASK; // 使能FTM2时钟
FTM2_MODE |= FTM_MODE_WPDIS_MASK; // 写保护禁止
FTM2_QDCTRL |= FTM_QDCTRL_QUADMODE_MASK; // AB相同时确定方向和计数值
FTM2_CNTIN = 0; // FTM0计数器初始值为0
FTM2_MOD = 65535; // 结束值
FTM2_QDCTRL |= FTM_QDCTRL_QUADEN_MASK; // 启用FTM2正交解码模式
FTM2_MODE |= FTM_MODE_FTMEN_MASK; // FTM2EN=1
FTM2_CNT = 0;
}
求解!
while(1)
{
printf("当前值是%d\n", FTM1_CNT);
}
作者:
zhou1994
时间:
2015-3-4 18:55
先把寄存器的值附给一个s16或者s32的数,然后打印这个数。不要直接打印寄存器
作者:
空有一人
时间:
2015-3-4 19:06
:):)
作者:
1685063539
时间:
2015-3-4 19:43
FTM1_CNT的类型是uint32_t,,,,试着用十六进制打印
作者:
zhou1994
时间:
2015-3-4 19:55
1685063539 发表于 2015-3-4 19:43
FTM1_CNT的类型是uint32_t,,,,试着用十六进制打印
不要误导他。还成无符号了。。。。
作者:
默冩﹏摯愛
时间:
2015-3-4 20:41
谢谢你们,已经解决了
作者:
綿婲/ka餹
时间:
2015-3-4 23:27
楼主怎样解决的
作者:
tt跳跳tt
时间:
2015-3-4 23:32
:lol:lol
作者:
、痕迹
时间:
2015-3-5 00:24
手动处理.....[attach]74801[/attach]
作者:
Slayers
时间:
2015-3-7 10:51
、痕迹 发表于 2015-3-5 00:24
手动处理.....
我也是这样搞的
作者:
夜雨寒
时间:
2015-3-7 20:53
、痕迹 发表于 2015-3-5 00:24
手动处理.....
同样方法的路过
作者:
considering
时间:
2015-6-20 16:48
我的也是正转是速度越大,脉冲数也就越大,如果反转,貌似速度越快,脉冲数越小。不过是从65535开始较小的,问了一下,都说反转时应该是负数,然后就蒙了,该怎么解决呀?人为出来可以吗?
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2