完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在扫描模式下的 STM32G4 上设置了 ADC1,其中转换的开始由定时器启动。我还将 DMA 设置为循环模式并对其进行配置,以便每次扫描转换完成时将 ADC 结果传输到一个数组。CubeMX 生成的代码在 MX_DMA_Init() 之前调用 MX_ADC1_Init()。按照这个顺序,DMA 不会更新我的数组值。然而,当我更改初始化顺序以便 MX_DMA_Init() 被称为 beore MX_ADC1_Init() 时,一切似乎都工作正常。我简要地查看了代码,但无法弄清楚为什么初始化顺序很重要。这也是有问题的,因为每次使用 CubeMX 重新生成代码时,我都必须手动更改初始化顺序。
|
|
相关推荐
1个回答
|
|
我简要地查看了代码,但无法弄清楚为什么初始化顺序很重要。
仅仅是因为 MX_ADC1_Init() 尝试在其时钟未激活时更新一些 DMA 相关寄存器(使用 MX_DMA_Init())。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2450 浏览 1 评论
3158 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1725 浏览 1 评论
3543 浏览 6 评论
5903 浏览 21 评论
882浏览 4评论
1258浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
526浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1243浏览 3评论
1297浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-28 02:49 , Processed in 0.963741 second(s), Total 46, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号