完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
把两个ADC的数据通过同步模式并通过DMA记录到数组中,如果把数组的大小设为1好像采样不会有变化?数组的大小对采样有什么影响吗?它是每采集BUFF_SIZE个数据就会产生DMA中断吗,还是说每采样一个就会产生DMA中断,当数组满了的时候就会从头开始覆盖数组?我想要同步采集ADC1和ADC2的两个数据并立刻对它们进行处理有什么方法呢?
|
|
相关推荐
1个回答
|
|
在STM32F4双ADC同步采样的DMA数据处理中,数组的大小确实对采样有一定的影响。以下是一些关键点:
1. 数组大小:数组的大小决定了可以存储的ADC采样数据的数量。如果数组大小设置得过小,可能会导致数据丢失,因为新的采样数据会覆盖旧的数据。如果数组大小设置得过大,可能会导致内存浪费。 2. DMA中断:DMA(Direct Memory Access)是一种硬件功能,允许外设(如ADC)直接与内存进行数据交换,而不需要CPU的干预。在STM32F4中,DMA可以配置为在每次采样后产生中断,或者在达到指定的数组大小后产生中断。这取决于你的DMA配置。 3. 数据覆盖:如果你的数组大小设置为1,那么每次新的采样数据都会覆盖旧的数据。这可能导致你无法获取到连续的采样数据。为了解决这个问题,你可以增加数组的大小,以便存储更多的采样数据。 4. 同步采集ADC1和ADC2:要同步采集ADC1和ADC2的数据,你可以使用STM32F4的ADC同步模式。在这种模式下,两个ADC可以同时开始采样,并通过DMA将数据传输到内存中。你可以设置DMA的触发条件,以便在每次采样后产生中断,或者在达到指定的数组大小后产生中断。 5. 处理采样数据:在DMA中断服务程序(ISR)中,你可以立即处理采样到的ADC1和ADC2的数据。例如,你可以计算它们的平均值、差值或其他你需要的参数。 总之,数组的大小对采样有一定的影响。为了有效地同步采集ADC1和ADC2的数据并进行处理,你需要合理设置数组大小、配置DMA触发条件,并在DMA中断服务程序中处理采样数据。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1602 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1536 浏览 1 评论
967 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
680 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1579 浏览 2 评论
1861浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
642浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
514浏览 3评论
528浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
501浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 18:47 , Processed in 0.615110 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号