小弟最近在做飞思卡尔智能车,需要捕捉两个编码器的脉冲值,然后kl25的 LPTMR 模块一共是两个通道,悲剧的事情来了,其中 LPTMR0_ALT1 居然是外部晶振引脚。。这意味着我就不能用lptmr模块了? 那么小弟另辟他路,选择tpm模块进行脉冲捕捉。。思想是不是配置成上升沿捕捉,然后进中断,然后令一个num++,最后在固定时间去读num值便可是吧。。。。可是感觉这样好恶心。双路外部中断,这样感觉和我直立控制方面冲突啊。。而且我还有摄像头好几个中断。。所以不想用这个方式去捕捉。。 所以我的问题是 1.lptmr那个真的是已经不行了嘛??看技术手册上写[img]file:///C:/Users/lenovo/AppData/Roaming/Tencent/Users/351396821/QQ/WinTemp/RichOle/E26%7DMR%OYM73$@[6~B8OJ2Q.jpg[/img][img]file:///C:/Users/lenovo/AppData/Roaming/Tencent/Users/351396821/QQ/WinTemp/RichOle/E26%7DMR%OYM73$@[6~B8OJ2Q.jpg[/img] TPS寄存器如下,是选择input通道的。可是引脚一共就两个啊,而且那个LPTMR0_ALT1还是外部晶振。。 00 Pulse counter input 0 is selected. 01 Pulse counter input 1 is selected. 10 Pulse counter input 2 is selected. 11 Pulse counter input 3 is selected. 2.看了论坛里有一个tpm捕捉产生的pwm脉冲的宽度的例程,所以不知道这个tpm有没有 捕捉脉冲次数的功能?? 3。tpm可不可以不进中断便可读其中的tpm_cv的值??这个值是不是捕捉的脉冲的个数??如何清零?? 4.。除了LPTMR 和 tpm模块。。kl25还可以怎么做就能捕捉到脉冲个数??要的是脉冲个数??还有,我不会清零啊。。有没有像16位单片机的那个xs128,有一个脉冲累加值寄存器可读可清零这样类似功能的模块啊???? 总结一下。我就是想实现两个编码器的脉冲个数捕捉,从而反应我车速的大小。。。问题多。请各位版主,牛人谅解。还请细心回答~小弟在这谢谢大家了
(这个是我在那个飞思卡尔论坛发的帖子。也懒得再敲了。大家见谅啊)
最后附上直立视频,两天做出来的。。现在卡在了编码器上。。蛋疼。。。 视频一
http://v.youku.com/v_show/id_XNjU3NzU1MzUy.html
视频二
http://v.youku.com/v_show/id_XNjU3NzM5Mzgw.html
|