OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5354|回复: 2

单脉冲模式,如何解决脉冲迟滞?

[复制链接]

4

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
94
金钱
94
注册时间
2018-11-10
在线时间
21 小时
发表于 2019-4-16 09:47:26 | 显示全部楼层 |阅读模式
10金钱
如题。

还好只是前期测试。
发现,STM32的单脉冲模式,居然不是为所欲为的。。

我期望的是,使能定时器后,即刻输出一个脉宽可调的脉冲。

但实际可行的配置结果都是,使能定时器后,延迟一定时间,才会输出脉冲。延迟时间与配置方法和ARR、CRR的数值有关。

一开始芯片选用的时候没当回事,想当然觉得有这功能就能用。昨天开发板到了,调程序也是随便设置一下,用示波器看一眼。
本来心想排列组合试也能试出来,结果搞了一下午,愣是都不对。

问题原因,我倒是大致明白,就是找不到解决办法。感觉需要硬件功能的支持才行。
经过测试确定的是:
1.更新必须要有的。没有更新事件,OPM的设置就无效,定时器会一直运行。
2.更新,会自动重装定时器。
3.坏就坏在这个定时器重装上,如果我设置成启动定时器就输出脉冲,重装后条件就会致使OC1REF=1
假设可能的方法:
4.如果,能够设置只产生更新,但不重装定时器。CNT停止在TOP,那也行。
5.或者,产生更新后,OPM生效,CEN=0,定时器停止,同时定时器重装。但!OC1REF保持为定时器重装前的值。

好在要输出的脉宽最大几个uS,程序在设置好脉冲宽度后,启动定时器,最多也是延时几个微秒后,才有脉冲发送。
对于电路不是无法承受。
但这个设计,强迫症很难接受。
真不行只能加比较匹配中断,自己关定时器了,就是怕中断响应慢了。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

头像被屏蔽

28

主题

48

帖子

0

精华

禁止访问

积分
335
金钱
335
注册时间
2019-4-2
在线时间
19 小时
发表于 2019-4-16 10:03:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14410
金钱
14410
注册时间
2018-8-3
在线时间
1156 小时
发表于 2021-6-25 11:55:48 | 显示全部楼层
有个快速模式的 使能一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-23 05:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表