找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

M487计时器抖动是怎么来的?

[复制链接]
跳转到指定楼层
楼主
BOEINGNG 发表于 2024-5-8 16:47:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用M487的TIMER产生了一个10kHz的周期性的中断,TIMER用的是外部晶振触发,我在每次中断进入的时候反转一个GPIO位,然后在示波器上观测这个GPIO位,发现相邻边沿之间有大约200ns的抖动,请问这个抖动主要是由于晶振的抖动引起的吗?还是因为别的原因?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

沙发
chrishu 发表于 2024-5-8 17:01:22 | 只看该作者
你这是软件写实现引脚翻转,执行代码是需要时间的,如果又别的优先级高的中断存在,误差会更大。可以用定时器的触发输出功能,定时到后硬件触发引脚翻转,不需要软件参与更准确。
回复 支持 反对

使用道具 举报

板凳
 楼主| BOEINGNG 发表于 2024-5-8 17:29:06 | 只看该作者
chrishu 发表于 2024-5-8 17:01
你这是软件写实现引脚翻转,执行代码是需要时间的,如果又别的优先级高的中断存在,误差会更大。可以用定时 ...

执行代码需要的时间会引起抖动吗?难道不是固定的吗?
回复 支持 反对

使用道具 举报

地板
chrishu 发表于 2024-5-9 09:13:25 | 只看该作者
BOEINGNG 发表于 2024-5-8 17:29
执行代码需要的时间会引起抖动吗?难道不是固定的吗?

那你说的抖动是指什么,可以把图贴出来看一下
回复 支持 反对

使用道具 举报

5#
 楼主| BOEINGNG 发表于 2024-5-9 09:26:01 | 只看该作者
chrishu 发表于 2024-5-9 09:13
那你说的抖动是指什么,可以把图贴出来看一下

就这个下降沿的抖动,这个是周期性的信号,用第一个信号做触发,观察第二个信号的抖动
回复 支持 反对

使用道具 举报

6#
chrishu 发表于 2024-5-9 10:35:17 | 只看该作者
你这个是不是中断函数里翻转数据得位置写得不对啊?感觉像是多次进中断反复在进行翻转。你可以参考下面这个代码

main.zip (1.42 KB, 下载次数: 18)

回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU