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

2019-07-14 16:29发布

●SCANDIR=0: 向前扫描: 从通道0到通道18.
●SCANDIR=1: 回退扫描:从通道18到通道0


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


但是设置扫描序列方向为回退之后通道0却存放在dma数组的a[0]中,而通道18却存在a[17]中,为什么会这样
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
小华同学
1楼-- · 2019-07-15 02:57
stm32f051的ad转换的通道存在反转问题, 即最后一个通道会最先转换.
Sabrina_cc
2楼-- · 2019-07-15 08:49
中间有一路直接跳过了?是内置温度那路么
爱雪爱雪
3楼-- · 2019-07-15 13:29
你是看例程的吗?我测试的时候,把例程中的温度传感器,参考电压等都去了,直接是PA0,PA1,PA2,PA3。然后把例程中的ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Backward;改了,这样dma数组的a[0]才和PA0对应
lanziji
4楼-- · 2019-07-15 16:40
mark! 这个顺序好向是不对,再试试看我。

一周热门 更多>