STM32

您所在的位置:网站首页 homebase工作模式是什么意思 STM32

STM32

2023-12-14 09:04| 来源: 网络整理| 查看: 265

数据寄存器

一切准备就绪后, ADC 转换后的数据根据转换组的不同,规则组的数据放在 ADC_DR 寄存器,注入组的数据放在 JDRx。

1、规则数据寄存器(ADC_DR-32位) 在这里插入图片描述

ADC_DR寄存器独立模式下只使用低16位 ADC_DR寄存器双重模式下才会用到高16位

ADC的数据寄存器ADC_DR如何使用?

ADC 规则组数据寄存器 ADC_DR 只有一个,是一个 32 位的寄存器。

低16位只用于存放独立模式转换完成数据(例如只使用ADC1或ADC2或ADC3)

高16位是双重模式时使用的(假若使用ADC1和ADC2同时采集数据,则ADC1的数据放到低16位,ADC2的数据放到高16位)

为什么使用DMA读取数据?

规则通道可以有 16 个这么多,可规则数据寄存器只有一个,如果使用多通道转换,那转换的数据就全部都挤在了 DR 里面,前一个时间点转换的通道数据,就会被下一个时间点的另外一个通道转换的数据覆盖掉,所以当通道转换完成后就应该把数据取走,或者开启 DMA 模式,把数据传输到内存里面,不然就会造成数据的覆盖。最常用的做法就是开启 DMA 传输。 使用DMA读取数据: 多通道采集会出现数据覆盖的现象,可以使用DMA进行数据传输 在这里插入图片描述 假若同时有三个通道进行采集数据:(使用DMA很好的解决了数据的传输问题,不会出现覆盖现象)

第一个通道采集完数据放到DR寄存器中,通过DMA迅速把数据搬移到16位数组的a[0];

第二个通道采集完数据放到DR寄存器中,覆盖了第一个通道的数据,通过DMA迅速把数据搬移到16位数组的a[1];

第三个通道采集完数据放到DR寄存器中,覆盖了第二个通道存放的数据,通过DMA迅速把数据搬移到16位数组的a[3];

如果使用DMA,则ADC1和ADC3可以(ADC2不具备DMA功能)

2、注入数据寄存器(ADC_JDRx) 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3