你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32 多路采样求助

[复制链接]
zzzzzzydb7b11 提问时间:2019-5-14 20:07 /
阅读主题, 点击返回1楼
收藏 评论15 发布时间:2019-5-14 20:07
15个回答
wenyangzeng 回答时间:2019-5-15 09:52:19
本帖最后由 wenyangzeng 于 2019-5-15 10:34 编辑
zzzzzzydb7b11 发表于 2019-5-14 22:29
您好:1.主函数部分我已经把ADC转换标志位去除了。改成:
                     while(1)
        {

在楼主的ADC_DMA_Configuration()函数中:
DMA传送数据的基地址是ADC1->DR,目标地址是adc_data[],
按理一次转换4个通道,DMA传输:DMA_Instructure.DMA_BufferSize就应该是4,楼主设置为768,这样一次DMA传输就有192组×4通道的ADC转换数据了。楼主如果要一次转换这么多,adc_data[]数组就要设置足够的缓冲区,读取的通道数据也要认真区分了。
a981223559 回答时间:2019-5-15 09:59:04
zzzzzzydb7b11 发表于 2019-5-15 08:43
原来的程序中有一处错误:DMA_InitStructure.DMA_MemoryInc=DMA_PeripheralInc_Enable;将此语句应改为
        DMA ...

我的那个数值是3通道,采集256次,3*256=768。这个数值等于n*m,n为采样通道个数,m为采样次数
edmundlee 回答时间:2019-5-15 11:47:44
DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&adc_data;
把这个&删掉

评分

参与人数 1蝴蝶豆 +1 收起 理由
STMCU + 1

查看全部评分

zzzzzzydb7b11 回答时间:2019-5-15 12:53:26
本帖最后由 zzzzzzydb7b11 于 2019-5-15 12:54 编辑

拜托大家帮帮忙,这是最新的程序和效果图,四个都有数据,而且一直在波动,但是数据都不对,为什么呢?

DMA1

DMA1

DMA2

DMA2

Main1

Main1

Main2

Main2

显示

显示
a981223559 回答时间:2019-5-16 09:57:00
本帖最后由 a981223559 于 2019-5-16 09:58 编辑
zzzzzzydb7b11 发表于 2019-5-15 12:53
拜托大家帮帮忙,这是最新的程序和效果图,四个都有数据,而且一直在波动,但是数据都不对,为什么呢?
...

你采10个数后没平均滤波,而且你计算电压的公式错了
yllqabz 回答时间:2019-5-17 16:47:24
采样有点波动很正常,比如100,101,102,98,97这样都没有问题,你所谓波动是怎么波动法?数据不对又是怎样不对,是与实际差太远还是说位置不对,还是怎么回事?楼主应该描述清楚一点

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版