OpenEdv-开源电子网

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

请问外部时钟模式2脉冲计数精度,一般有多大呀?

[复制链接]

2

主题

10

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-3-16
在线时间
10 小时
发表于 2021-6-21 11:06:06 | 显示全部楼层 |阅读模式
15金钱
本帖最后由 2795460352 于 2021-6-21 12:10 编辑

我用的是外部时钟模式二,用另一个计时器做pwm输出,定时器用到了gps的pps上升沿读取cnt寄存器的值,用示波器测量,结果测得低频下计数值很准确,到达1mhz之后误差就会变得很大。请问etr最大能输入多高频率的脉冲,一般误差多少呀?、
下面是我的源码,要用的兄弟可以拿去用
下载.png

pwm外部输入计数.rar

3.1 MB, 下载次数: 47

最佳答案

查看完整内容[请看2#楼]

终于解决啦,貌似是lcd显示屏的原因,我直接用串口发到电脑上现在能实现12m的计数 但是误差依旧很大12mhz计数12,000,495,貌似很大是pwm输出不太精确。我在找精确的信号源
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-3-16
在线时间
10 小时
 楼主| 发表于 2021-6-21 11:06:07 | 显示全部楼层
nstopb 发表于 2021-6-22 10:51
这没啥好看的啊,tim1配置etr模式,中断里面计算reload次数,另开一个定时器计时,中断里面计算reload次 ...

终于解决啦,貌似是lcd显示屏的原因,我直接用串口发到电脑上现在能实现12m的计数
但是误差依旧很大12mhz计数12,000,495,貌似很大是pwm输出不太精确。我在找精确的信号源
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3625
金钱
3625
注册时间
2019-8-14
在线时间
1054 小时
发表于 2021-6-21 11:25:52 | 显示全部楼层
没有测试过,帮顶
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-3-16
在线时间
10 小时
 楼主| 发表于 2021-6-21 11:51:38 | 显示全部楼层
而且在2mhz或者更高频率后 不能计数。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2021-6-22 02:06:58 | 显示全部楼层
脉冲计数模式,应该可以统计到几M是完全没问题才对,你看看是不是处理方式不对,不要频繁中断!
回复

使用道具 举报

4

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2019-11-12
在线时间
77 小时
发表于 2021-6-22 08:27:05 | 显示全部楼层
我试过20M脉冲,20ms计算一次,没有问题
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-3-16
在线时间
10 小时
 楼主| 发表于 2021-6-22 10:26:58 | 显示全部楼层
正点原子 发表于 2021-6-22 02:06
脉冲计数模式,应该可以统计到几M是完全没问题才对,你看看是不是处理方式不对,不要频繁中断!

好的,原子哥我再试试
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2021-3-16
在线时间
10 小时
 楼主| 发表于 2021-6-22 10:37:31 | 显示全部楼层
nstopb 发表于 2021-6-22 08:27
我试过20M脉冲,20ms计算一次,没有问题

好兄弟能看看你的代码嘛
回复

使用道具 举报

4

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2019-11-12
在线时间
77 小时
发表于 2021-6-22 10:51:56 | 显示全部楼层
2795460352 发表于 2021-6-22 10:37
好兄弟能看看你的代码嘛

这没啥好看的啊,tim1配置etr模式,中断里面计算reload次数,另开一个定时器计时,中断里面计算reload次数*reload值加当前tim1的cnt值然后将reload次数和cnt清零。大概思路是这样,细节不记得了。我用407做的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-22 21:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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