STM32 |
您所在的位置:网站首页 › homebase工作模式是什么意思 › STM32 |
数据寄存器 一切准备就绪后, 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进行数据传输 第一个通道采集完数据放到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 |