智能车制作

标题: 火哥,为啥我用lptmr脉冲计数一直是零啊 [打印本页]

作者: 无声的音乐    时间: 2014-2-9 17:02
标题: 火哥,为啥我用lptmr脉冲计数一直是零啊
本帖最后由 无声的音乐 于 2014-2-9 17:03 编辑


lptmr_counter_init(LPT0_ALT2,60000,2,LPT_Rising);//c5



speed=LPTMR0_CNR;
lptmr_counter_clean();


我用的pwm接c5上了,pwm有输出,但是计数值一直显示零,我看论坛上有人说把c5换成别的脚就好使了,怎么换啊


作者: tobeabh    时间: 2014-2-9 17:02
LPTMR0_CNR
这个寄存器,先随便写个值再读取,试试
作者: 无声的音乐    时间: 2014-2-9 21:52
tobeabh 发表于 2014-2-9 19:39
LPTMR0_CNR
这个寄存器,先随便写个值再读取,试试

你好,我按你说的做了,我把数赋值给寄存器,然后紧接着读
LPTMR0_CNR=300;
speed=LPTMR0_CNR;
lptmr_counter_clean();



这样再读得的数也是零,就是说不能从寄存器中读数,怎么解决我用的是野火库,会不会库有问题,怎么解决



作者: tobeabh    时间: 2014-2-9 22:41
无声的音乐 发表于 2014-2-9 21:52
你好,我按你说的做了,我把数赋值给寄存器,然后紧接着读
LPTMR0_CNR=300;
speed=[/back ...
  1. void Counter(void)
  2. {
  3.         int  count1,count2;
  4.         count1=LPTMR0_CNR;
  5.         count2=LPTMR0_CNR;
  6.         while(count1!=count2)
  7.         {
  8.                 count1=LPTMR0_CNR;
  9.                 count2=LPTMR0_CNR;
  10.         }
  11.         counternum=count1;
  12.         LPTMR0_CSR &=~LPTMR_CSR_TEN_MASK;
  13.         LPTMR0_CSR |=LPTMR_CSR_TEN_MASK;
  14. }
复制代码
这是我自己写的读取函数,我用的很好,你可以试下

作者: 无声的音乐    时间: 2014-2-9 23:17
tobeabh 发表于 2014-2-9 22:41
这是我自己写的读取函数,我用的很好,你可以试下

我写那个每次读都是零,那么如果用你这个读不也一直是零吗

作者: BMN李    时间: 2014-2-13 14:24
野火KL26库?
作者: 重生    时间: 2014-4-3 19:56
无声的音乐 发表于 2014-2-9 21:52
你好,我按你说的做了,我把数赋值给寄存器,然后紧接着读
LPTMR0_CNR=300;
speed=[/back ...

你好 我现在也遇到了这样的问题 请问您解决了吗?
作者: 晴天笑·彩虹    时间: 2014-4-4 00:12
我也遇到了同样的问题,请问楼主是否已经解决,求传授经验
作者: 晴天笑·彩虹    时间: 2014-4-4 04:48
请问lz的延迟程序用的是什么,如果是lptmr的延迟程序的话,建议全部换成其他的试试看,或许可以解决问题
作者: 无声的音乐    时间: 2014-4-4 12:28
晴天笑·彩虹 发表于 2014-4-4 00:12
我也遇到了同样的问题,请问楼主是否已经解决,求传授经验

现在已经解决了,k60芯片手册上明确指出,那个寄存器读之前要先随便写一个值才能读,所以说遇到各种蛋疼的问题最好看k60芯片手册

作者: 无声的音乐    时间: 2014-4-4 12:29
重生 发表于 2014-4-3 19:56
你好 我现在也遇到了这样的问题 请问您解决了吗?

看10楼

作者: 重生    时间: 2014-4-4 13:43
无声的音乐 发表于 2014-4-4 12:29
看10楼

呃,我用的野火的底层,看到他是写了一个的,然后我又复制了另一个例程里面的lptmr的底层就好了,我的那个底层是同学帮我找到的 可能有错误
作者: 无声的音乐    时间: 2014-4-4 15:34
重生 发表于 2014-4-4 13:43
呃,我用的野火的底层,看到他是写了一个的,然后我又复制了另一个例程里面的lptmr的底层就好了,我的那个 ...

哦,可能不是一个版本的野火库

作者: 网名'一个替代    时间: 2014-4-26 15:10
楼主我是新手,现在也遇到这种问题请问下你最后怎么给寄存器赋值的求解答。
作者: 无声的音乐    时间: 2014-4-26 15:59
网名'一个替代 发表于 2014-4-26 15:10
楼主我是新手,现在也遇到这种问题请问下你最后怎么给寄存器赋值的求解答。

LPTMR0_CNR=50;

作者: 天翊    时间: 2014-5-1 14:16
固件库有BUG  我用的拉普兰德就是这个问题   http://www.znczz.com/thread-219713-1-1.html
作者: _Diy莫名    时间: 2014-7-15 22:03
无声的音乐 发表于 2014-4-4 12:28
现在已经解决了,k60芯片手册上明确指出,那个寄存器读之前要先随便写一个值才能读,所以说遇到各种蛋疼的 ...

技术手册,,,百度上面的那个吗?

作者: 章佳辉    时间: 2015-1-7 21:29
无声的音乐 发表于 2014-4-4 12:28
现在已经解决了,k60芯片手册上明确指出,那个寄存器读之前要先随便写一个值才能读,所以说遇到各种蛋疼的 ...

请问,一开始你赋值300不行,为什么后来可以了?

作者: 无声的音乐    时间: 2015-1-24 09:36
章佳辉 发表于 2015-1-7 21:29
请问,一开始你赋值300不行,为什么后来可以了?

可能之前还有其他bug

作者: 鞋托以外的世界    时间: 2015-1-28 21:43
那如何修改CNR的可读可写状态啊
作者: 灰帽子理工男    时间: 2015-4-14 12:10
无声的音乐 发表于 2014-4-4 12:28
现在已经解决了,k60芯片手册上明确指出,那个寄存器读之前要先随便写一个值才能读,所以说遇到各种蛋疼的 ...

请问是是这样赋值吗?






欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2