智能车制作
标题:
求助 LPTMR编码器计数值为零 怎么解决
[打印本页]
作者:
LGC
时间:
2017-1-11 14:37
标题:
求助 LPTMR编码器计数值为零 怎么解决
使用LPTMR进行编码器测速,寄存器的计数值显示为零,测速函数是写在中断里的,到底是软件的问题还是硬件的问题?
<div>void main(void)
{
DisableInterrupts;
#define INT_COUNT 0xFFFF //LPT 产生中断的计数次数 即溢出值//写于主函数第一行
lptmr_timing_ms(1000);
set_vector_handler(LPTMR_VECTORn,LPTMR_IRQHandler);
FTM_PWM_init(FTM2, FTM_CH1, 1000, 50); //FTM模块产生PWM,用 FTM0_CH4 ,即 PTB18 ,频率为 100,占空比 50%
lptmr_pulse_init(LPT0_ALT1, INT_COUNT, LPT_Rising); //初始化脉冲计数器,用LPT0_ALT1,即PTA19输入,每隔INT_COUNT产生中断(需要开中断才能产生中断),上升沿
EnableInterrupts;
while(1)
{
}
}
void LPTMR_IRQHandler()
{
count1 = lptmr_pulse_get(LPT0_ALT1,LPT_Rising);</div><div>lptmr_pulse_clean(LPT0_ALT1,LPT_Rising); //清空脉冲计数器计算值
LPTMR_Flag_Clear();
}</div>
复制代码
作者:
MY三木
时间:
2017-1-11 15:07
先给寄存器写值,再读值。手册上讲的。
作者:
LGC
时间:
2017-1-11 15:22
MY三木 发表于 2017-1-11 15:07
先给寄存器写值,再读值。手册上讲的。
能发一份手册过来吗
1171798900@qq.com
谢谢
还有这个给寄存器写值具体是什么意思?
作者:
luckner
时间:
2017-1-11 18:27
LGC 发表于 2017-1-11 15:22
能发一份手册过来吗 谢谢
还有这个给寄存器写值具体是什么意思?
http://www.nxp.com/assets/docume ... 60P120M100SF2RM.pdf
另外建议你先打个断点看看进没进中断
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2