打印
[STM32F0]

请问stm32f051使用ad的dma功能时为什么要设置扫描序列方向为回退?

[复制链接]
830|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stormwind123|  楼主 | 2024-1-26 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
●SCANDIR=0: 向前扫描: 从通道0到通道18.
●SCANDIR=1: 回退扫描:从通道18到通道0


  官方例子中的代码:ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Backward;


但是设置扫描序列方向为回退之后通道0却存放在dma数组的a[0]中,而通道18却存在a[17]中,为什么会这样

使用特权

评论回复
沙发
jcky001| | 2024-2-10 18:04 | 只看该作者
设置扫描序列方向为回退主要是为了满足连续的数据转换和传输需求。

使用特权

评论回复
板凳
两只袜子| | 2024-2-10 18:04 | 只看该作者
当使用STM32F051的ADC DMA功能时,设置扫描序列方向为回退是为了实现连续的数据转换和传输,从而提高系统的性能和效率。

使用特权

评论回复
地板
江河千里| | 2024-2-20 15:06 | 只看该作者
在STM32F051微控制器中,使用ADC(模数转换器)的DMA(直接存储器访问)功能时,设置扫描序列方向为“回退”(Scan mode set to back-to-back)的目的是为了实现连续的DMA数据传输,以提高数据采集的效率和准确性

使用特权

评论回复
5
淡漠安然| | 2024-2-20 19:30 | 只看该作者
当扫描序列方向设置为回退时,ADC会在每次转换完成后自动切换到下一个通道进行转换,而不需要额外的软件触发

使用特权

评论回复
6
光辉梦境| | 2024-2-21 00:00 | 只看该作者
其实这么操作是可以实现连续的通道转换,并且在每次转换完成后立即将结果传输到DMA缓冲区,从而减少了转换间的延迟,提高了数据采集的实时性

使用特权

评论回复
7
夜阑风雨| | 2024-2-21 04:00 | 只看该作者
这不是为了减少转换时间和延迟么

使用特权

评论回复
8
冰春彩落下| | 2024-2-21 08:00 | 只看该作者
回退模式可以确保连续的DMA数据传输,每次转换完成后,DMA可以立即将结果传输到指定的存储器位置,而不需要等待额外的触发信号。

使用特权

评论回复
9
三生万物| | 2024-2-21 12:00 | 只看该作者
回退模式可以减少软件控制的复杂性,不需要额外的软件触发来启动下一个转换,减少了软件开发的工作量

使用特权

评论回复
10
远山寻你| | 2024-2-21 15:00 | 只看该作者
为了简化软件控制的,所以这么设置

使用特权

评论回复
11
暖了夏天蓝了海| | 2024-2-21 21:00 | 只看该作者
这个我还真没注意过,不过一般都是为了实时性,也就是效率而做准备的

使用特权

评论回复
12
一秒落纱| | 2024-2-22 06:30 | 只看该作者
设置扫描序列方向为回退可以带来更高的数据采集效率和实时性,特别是在需要连续采集多个通道数据时,这种设置可以更好地满足实际应用需求

使用特权

评论回复
13
别乱了阵脚| | 2024-2-22 10:00 | 只看该作者
回退模式我还没用过呢,哈哈,这应该是为了转换更快?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

417

主题

2169

帖子

2

粉丝