OpenEdv-开源电子网

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

输入捕获不成功-------------------------------------------------

[复制链接]

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
发表于 2016-3-16 13:09:14 | 显示全部楼层 |阅读模式
10金钱
WP_20160316_11_18_20_Pro.jpg 现在是在做光电传感器这部分,电路很简单,就是检测一根信号线的电平高低,信号输出是24V,我用电阻分下压,得到3V左右,就连到STM32管脚上了,如图是示波器采的波形。
程序能够测量波形发生器生成的矩形波,误差在1Hz,但是就是传感器的波形测到的数据很乱,还没有一个数是准的,可能是哪里出问题呢?

最佳答案

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

定时器的输入通道由滤波器没?把它打开,调到最大
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-16 13:09:15 | 显示全部楼层
Di诺 发表于 2016-3-16 15:34
不是,反射型的。上面的图片就是波形,按理应该能成功的,但是就是不成功。程序应该没问题,我用波形发生 ...

定时器的输入通道由滤波器没?把它打开,调到最大
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

9

主题

507

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3347
金钱
3347
注册时间
2013-4-10
在线时间
333 小时
发表于 2016-3-16 14:52:45 | 显示全部楼层
红外线对管哪种吗? 如果是红外线对管检测接收端的电来变化,我倒是有更的的办法,准确检测且抗干扰, 但你说的捕获不成功,可能有几种原因, 因为捕获是检测上升沿与下降沿的,这要根据你给的信号源情况来定,还有就是你的捕获程序部份是乍处理的都很关建。
回复

使用道具 举报

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
 楼主| 发表于 2016-3-16 15:34:29 | 显示全部楼层
本帖最后由 Di诺 于 2016-3-16 15:36 编辑
likunxue 发表于 2016-3-16 14:52
红外线对管哪种吗? 如果是红外线对管检测接收端的电来变化,我倒是有更的的办法,准确检测且抗干扰, 但你 ...

不是,反射型的。上面的图片就是波形,按理应该能成功的,但是就是不成功。程序应该没问题,我用波形发生器生成10-500Hz的波形进行输入捕获,误差1Hz,但就是2、3百频率的光电信号捕获不成功。
回复

使用道具 举报

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
 楼主| 发表于 2016-3-16 15:53:04 | 显示全部楼层
xkwy 发表于 2016-3-16 15:38
定时器的输入通道由滤波器没?把它打开,调到最大

大哥,太谢谢你了。虽然还有错误的测量值,但是测出的值有正确的了。谢谢
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-16 17:15:13 | 显示全部楼层
Di诺 发表于 2016-3-16 15:53
大哥,太谢谢你了。虽然还有错误的测量值,但是测出的值有正确的了。谢谢

如果被测信号频率不高的话,可以再把滤波器的频率和APB的频率调低,效果更佳
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
 楼主| 发表于 2016-3-17 10:28:22 | 显示全部楼层
本帖最后由 Di诺 于 2016-3-18 10:11 编辑
xkwy 发表于 2016-3-16 17:15
如果被测信号频率不高的话,可以再把滤波器的频率和APB的频率调低,效果更佳


测试发现一旦计数溢出就会出现测量不正确的情况,我是取捕获时的TIM_GetCapture1(TIM3)来计算的
回复

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-3-17 12:26:51 | 显示全部楼层
Di诺 发表于 2016-3-17 10:28
你好,我的程序如下:
测试发现一旦计数溢出就会出现测量不正确的情况
[mw_shl_code=c,true]#include  ...

溢出当然就不准确了,这是你算法的问题,
下一步就是解决问题。
坚决不用寄存器,拒绝重复造轮子。
回复

使用道具 举报

145

主题

445

帖子

0

精华

高级会员

Rank: 4

积分
823
金钱
823
注册时间
2014-1-15
在线时间
350 小时
 楼主| 发表于 2016-3-17 12:58:33 | 显示全部楼层
xkwy 发表于 2016-3-17 12:26
溢出当然就不准确了,这是你算法的问题,
下一步就是解决问题。

如果溢出不计算有的数据也偏差太大
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 22:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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