abcxyz111 发表于 2018-2-5 15:50:44

一个使用LPTIM1进行外部脉冲计数问题

请教大家,由于项目要求需求,我使用LPTIM1进行外部脉冲计数出现一个奇怪的问题,只要重新进行过复位,不管是热启动还是冷启动,计数的时候前面总要丢掉固定的5个脉冲信号。然后,后面不管怎样你只要不重新启动计数就正常。比如,一开始我输入了100个脉冲信号,只能够计数95个。后面即使停止脉冲输入,然后再恢复脉冲计数输入,一切正常。芯片用的是STM32L476.之前问过一个ST的技术支持,说这是第一个开始计数的信号识别,是排除干扰的意思,我觉得应该不是这个。

infofans 发表于 2018-2-5 21:13:46

以前我也好像遇到过这个问题,第一次记得数字不对,然后我就在程序中开启计数器后先马上清一次零,然后就规避了这个问题,我也不知道这究竟是啥原因导致的,期待有更加明确的解释吧

zhangxuejie 发表于 2018-3-26 23:21:55

infofans 发表于 2018-2-5 21:13
以前我也好像遇到过这个问题,第一次记得数字不对,然后我就在程序中开启计数器后先马上清一次零,然后就规 ...

请问是哪个地方清零呢?LPTIM1->ARR这个是想要达到的计数值啊?

张山峰丶 发表于 2018-11-26 10:36:19

你这个问题手册已说了,Since the signal injected on the LPTIM external Input1 is also used to clock the LPTIM kernel logic, there is some initial latency (after the LPTIM is enabled) before the counter is incremented. More precisely, the first five active edges on the LPTIM external Input1 (after LPTIM is enable) are lost.

开心就好1990 发表于 2020-10-10 21:16:03

遇到同样问题求助

mengdongfeng 发表于 2021-2-1 11:12:32

 CKSEL = 1:LPTIM 由外部时钟源提供时钟
COUNTMODE 值不相关。
在这种配置下,LPTIM 无需内部时钟源(已使能干扰滤波器时除外)。注入到 LPTIM
外部 Input1 的信号用作 LPTIM 的系统时钟。此配置适合未使能任何内置振荡器的工作
模式。
对于这种配置,LPTIM 计数器可以在 input1 时钟信号的上升沿或下降沿进行更新,但
不可在上升沿和下降沿均更新。
由于注入到 LPTIM 外部 Input1 的信号也可用于为 LPTIM 内核逻辑提供时钟,计数器递
增计数前存在一些初始延时(使能 PTIM 后)。更确切地说,LPTIM 外部 Input1 的前
五个有效边沿将丢失(使能 PTIM 后)
页: [1]
查看完整版本: 一个使用LPTIM1进行外部脉冲计数问题