完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我正在使用STM32F746ZG对大量ADC数据进行采样和处理。为了提高它的速度,使用双交错模式。并且由于处理速度低,主要思想是对单通道(~50K)的许多样本进行采样并进行处理。
第一次,我调用 ADC,一切都按预期工作,当缓冲区填满时我得到中断。
Bit 13 DDS:DMA 禁用选择(用于多 ADC 模式) 该位由软件设置和清除。0:最后一次传输后没有发出新的 DMA 请求(在 DMA 控制器中配置)。DMA 位不会被硬件清除,但是在生成新的 DMA 请求之前,它们必须被软件清除并设置为所需的模式。 但是仅重置此寄存器没有任何作用。最后只有这种方式对我有用:
谢谢你,对不起我糟糕的语言能力。 这是我的配置,ADC1: ADC2: |
|
相关推荐
1个回答
|
|
好的,我想,我找到了需要的信息。根据 RM0385,当使用带 DMA 的多模式 ADC 时(不是循环缓冲区 -> 你需要通过软件触发 ADC):
如果转换序列被中断(例如,当发生 DMA 传输结束时),则必须先将多 ADC 序列发生器配置为独立模式(位 DUAL[4:0] = 00000),然后再对交错模式进行重新编程。 同时,根据同一个RM: Bit 13 DDS:DMA 禁用选择(用于多 ADC 模式) 该位由软件设置和清除。0:最后一次传输后没有发出新的 DMA 请求(在 DMA 控制器中配置)。 DMA 位不会被硬件清除,但是在生成新的 DMA 请求之前,它们必须被软件清除并设置为所需的模式。 所以,如果你需要在传输结束后重启 DMA,你需要在重启前的下一个代码(只检查 HAL,它没有检查这种情况):
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2730 浏览 1 评论
3239 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1808 浏览 1 评论
3647 浏览 6 评论
6035 浏览 21 评论
1339浏览 4评论
198浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
273浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 10:20 , Processed in 0.911961 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号