硬汉嵌入式论坛

 找回密码
 立即注册
查看: 752|回复: 7
收起左侧

[技术讨论] ADC采集1000次,测量的采集时间和我自己推算的时间不对。

[复制链接]

14

主题

54

回帖

96

积分

初级会员

积分
96
发表于 2022-12-11 00:58:46 | 显示全部楼层 |阅读模式
04_brush_motor_encoder.zip (9.61 MB, 下载次数: 2)


1.png


2.png


3.png


我的ADC的时钟经84M 4分频后为21M,采样时间设置为144个时钟,12Bit宽度。那么1次时间 = 1/21M*(144+12)=7.4us,连续转换1000次,那么时间应该是7.4ms。代码3个规则通道连续采样1000次。但是结果确实11.14ms。按照自己计算来说应该是22ms才对啊。

回复

使用道具 举报

14

主题

54

回帖

96

积分

初级会员

积分
96
 楼主| 发表于 2022-12-11 01:02:20 | 显示全部楼层
泪目,我开始没测量时间,然后突然想测测看我采集时间,就发现悲剧了,和我想得完全不一样。
回复

使用道具 举报

14

主题

54

回帖

96

积分

初级会员

积分
96
 楼主| 发表于 2022-12-11 01:04:48 | 显示全部楼层
补充一句,外部HSE 8M.
回复

使用道具 举报

14

主题

54

回帖

96

积分

初级会员

积分
96
 楼主| 发表于 2022-12-11 11:07:00 | 显示全部楼层
现在代码给我的感觉像是ADC时钟出了问题一样,按照42M推算的时间就和EventRecorder测量一样了
回复

使用道具 举报

5

主题

519

回帖

534

积分

金牌会员

积分
534
发表于 2022-12-11 19:24:12 | 显示全部楼层
Hzzz 发表于 2022-12-11 11:07
现在代码给我的感觉像是ADC时钟出了问题一样,按照42M推算的时间就和EventRecorder测量一样了

单独测试一下定时器,看看准不准?然后再看ADC时钟。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2022-12-12 09:18:18 | 显示全部楼层
你的DMA半传输完成中断是不是也开启了。
回复

使用道具 举报

14

主题

54

回帖

96

积分

初级会员

积分
96
 楼主| 发表于 2022-12-14 14:51:45 | 显示全部楼层
hqgboy 发表于 2022-12-11 19:24
单独测试一下定时器,看看准不准?然后再看ADC时钟。

定时器测了10MS是准的。
回复

使用道具 举报

14

主题

54

回帖

96

积分

初级会员

积分
96
 楼主| 发表于 2022-12-14 15:05:00 | 显示全部楼层
eric2013 发表于 2022-12-12 09:18
你的DMA半传输完成中断是不是也开启了。

确实,以前没怎么使用HAL库,HAL库里面直接就把半传输完成中断也开启了。我在回调里面只判断了是ADC对应通道的传输完成中断,所以,传输一般和传输完成都中断了。感谢
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 00:53 , Processed in 0.302469 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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