完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在带 DMA 的 ADC 上使用 3 个模拟输入设置我的 STM32F405RG。
我遇到的问题是 ADC 缓冲区的填充顺序错误: 例如,我有通道 11、12 和 13,等级分别为 1、2 和 3,因此我假设 ADC 缓冲区应如下所示: adc_buf[0] -> 来自通道 11的数据 adc_buf[1] -> 来自通道 12的数据 adc_buf[2] -> 来自通道 13 的数据 . . . 但我实际得到的是: adc_buf[0] -> 来自通道 12的数据- 这个错误的顺序 adc_buf[1] -> 来自通道 11的数据- 这个错误的顺序 adc_buf[2] -> 来自通道 13 的数据 adc_buf 在 int main() 上面定义:
谢谢! |
|
相关推荐
1个回答
|
|
我同意你的看法。它们按排名顺序转换。但是您如何确定它们的顺序错误?我知道您将读数与频道相关联,但您没有提供任何证据来支持为什么您认为它们是错误的。读数是多少,这些引脚是如何连接的。
显然我要追逐的是订单实际上可能是正确的,但你的假设是错误的。 *> HAL_ADC_Start(&hadc1);* 这也可能导致问题,可能是问题的根源。 您不应该两次启动外围设备。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2465 浏览 1 评论
3162 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1727 浏览 1 评论
3549 浏览 6 评论
5912 浏览 21 评论
886浏览 4评论
1264浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
529浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1247浏览 3评论
1301浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-4 13:11 , Processed in 1.128880 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号