野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20088|回复: 0

用定时器输出一列不固定脉冲的方法

[复制链接]
发表于 2018-10-4 00:23:39 | 显示全部楼层 |阅读模式
本帖最后由 langzipzh 于 2018-10-4 00:36 编辑

输出的脉冲串宽度与间隔不固定,但精度要求较高。一共输出10组同样的脉冲。
https://www.firebbs.cn/forum.php?mod=attachment&aid=MTkwNzB8MzcyYTc2MDlhNzU5ZjE3ODEyODgwNWRlMTA5NzllODh8MTczMjM2MjQ0NA%3D%3D&request=yes&_f=.jpg
方法1:使用定时器中断,计数值重装载。
中断到时:
1)关中断;
2)在定时器中断里设置相关位的状态,及其他事项;

3)重装载下一个脉冲的定时器值;
4)开中断;
这种方法可以实现,但中断处理的时间不确定,下一个脉冲中断时间不准确,以此类推,之后的误差可能更大。

方法2:使用定时器中断,计数最大值。
1)第一个中断到时,进入中断处理程序,但计数不停止。处理完成后,清除中断标志位;
2)第二个中断到时,进入中断处理程序,但计数不停止。处理完成后,清除中断标志位;
3)以此类推,直至全部脉冲完成。
4)关中断。
这种方法可以在两个中断的间隙处理事情,并精确计时。
但好多资料上都没有类似的例程。
查看手册上,好象有这种功能,但不知怎样设置。
朋友们是否用过呢?
捕获.JPG
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 19:47 , Processed in 0.028108 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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