OpenEdv-开源电子网

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

输入捕获误差大小精准度问题

[复制链接]

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
发表于 2020-11-26 11:25:10 | 显示全部楼层 |阅读模式
1金钱
是这样的,我在原子的例程上修改,写了个脉冲数,低电平时间,高电平时间,频率,占空比。然后现在就是我PWM输入是直接用STM32输出的。但是我输入捕获读的不精准有点误差,想知道是什么原因

输入捕获.zip

3.14 MB, 下载次数: 16

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

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
 楼主| 发表于 2020-11-26 11:31:00 | 显示全部楼层
回复

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
 楼主| 发表于 2020-11-26 11:34:48 | 显示全部楼层
我自己猜测是因为在中断里消耗了几个us时间,所以读到的高低电平时间不准,都是如果是这样的话,有没有什么好的方法避免这种误差呢?
回复

使用道具 举报

3

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2019-10-28
在线时间
37 小时
发表于 2020-11-26 11:37:52 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
188
金钱
188
注册时间
2019-10-28
在线时间
37 小时
发表于 2020-11-26 11:41:27 | 显示全部楼层
顶顶顶
回复

使用道具 举报

11

主题

2154

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4947
金钱
4947
注册时间
2015-1-10
在线时间
620 小时
发表于 2020-11-26 13:45:13 | 显示全部楼层
看代码好像是发生捕获事件后没有及时清空计数值导致的,其实你有溢出中断的话不需要清空计数值,在上升沿触发时记录CCR1后开始记录溢出次数,在下降沿触发后记录CCR1和溢出总次数,然后根据两个CCR1的差值和溢出次数就可以算出高电平时间了,低电平时间也是一个道理
回复

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
 楼主| 发表于 2020-11-26 15:21:06 | 显示全部楼层
阿侑kevin 发表于 2020-11-26 13:45
看代码好像是发生捕获事件后没有及时清空计数值导致的,其实你有溢出中断的话不需要清空计数值,在上升沿触 ...

不是这个原因,如果是没及时清空计数器,那应该是多,我这是少了
回复

使用道具 举报

11

主题

2154

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4947
金钱
4947
注册时间
2015-1-10
在线时间
620 小时
发表于 2020-11-27 08:40:41 | 显示全部楼层
二三五 发表于 2020-11-26 15:21
不是这个原因,如果是没及时清空计数器,那应该是多,我这是少了

???是多?没及时清计数器的话一个周期内你计到的高低电平时间就短了,你算出来的频率就高了,就像你截的图一样,标准是1K吧,你打印输出了1K+
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 04:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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