STM32 ADC 的双AD问题

[复制链接]
9424|10
 楼主| Itachi80 发表于 2011-7-21 15:51 | 显示全部楼层 |阅读模式
本帖最后由 Itachi80 于 2011-7-21 16:00 编辑

同步注入模式中说道,在ADC1或ADC2的转换结束时: ● 转换的数据存储在每个ADC接口的ADC_JDRx寄存器中。
但是只看到ADC_JDRx,没看到ADC2_JDRx呀。


其实我就想用STM32的AD同时采集电压电流,不知道用哪种方式比较好。
laozg 发表于 2011-7-25 11:24 | 显示全部楼层
ADC2的值是在ADC->JDR1的高16位,两个通道的ADC值在一个32位的寄存器的高16位,和低16位。
acgean 发表于 2011-7-25 15:43 | 显示全部楼层
呵呵, 看来楼主没有看仔细哦
stm32 的ADC 的确比较复杂, 继续努力吧
yzzly 发表于 2011-7-25 15:46 | 显示全部楼层
本帖最后由 yzzly 于 2011-7-25 15:47 编辑
同步注入模式中说道,在ADC1或ADC2的转换结束时: ● 转换的数据存储在每个ADC接口的ADC_JDRx寄存器中。
但是只看到ADC_JDRx,没看到ADC2_JDRx呀。


其实我就想用STM32的AD同时采集电压电流,不知道用哪种方式比较 ...
Itachi80 发表于 2011-7-21 15:51


采用同步规则转换,当然,如果不需要分析相位,普通规则转换就行,不需要双ADC;注入模式不合适的!
 楼主| Itachi80 发表于 2011-7-26 16:55 | 显示全部楼层
我之后在ADC的寄存器地址是发现了,ADC1和ADC2都各自有一篇同样的大小的地址,所以应该是有ADC1_XX和ADC2_XX吧
香水城 发表于 2011-7-26 17:26 | 显示全部楼层
我之后在ADC的寄存器地址是发现了,ADC1和ADC2都各自有一篇同样的大小的地址,所以应该是有ADC1_XX和ADC2_XX吧
Itachi80 发表于 2011-7-26 16:55


每个ADC模块都有一组相同的寄存器,例如ADC1有ADC1_JDR1,则ADC2有ADC2_JDR1;只有ADC_DR寄存器例外,ADC2的规则转换结果在ADC1的ADC_DR寄存器的高16位。
ADC_Registers.GIF
文峰聊书斋 发表于 2013-9-14 16:22 | 显示全部楼层
好好看内存映射,还有固件库的实现,Init函数。
文峰聊书斋 发表于 2013-9-14 16:23 | 显示全部楼层
ADC2_JDRx       ADC_JDRx  地址不同,名无所谓。
Zacking 发表于 2014-12-10 15:32 | 显示全部楼层
请问楼主是怎么做的,我现在也是想利用stm32AD同时采集直流电压和电流,可以指导一下吗?谢谢!
sjh2100 发表于 2018-1-25 10:23 | 显示全部楼层
本帖最后由 sjh2100 于 2018-1-25 23:42 编辑

stm32f103+iar :ADC1->JDR1.让我费了一天时间才找到。
stm32f103+keil:
#define ADC1_JDR1(REG_BASE_ADC1 + 0x3c)
#define ADC1_JDR2(REG_BASE_ADC1 + 0x40)
#define ADC1_JDR3(REG_BASE_ADC1 + 0x44)
#define ADC1_JDR4(REG_BASE_ADC1 + 0x48)
#define ADC1_DR(REG_BASE_ADC1 + 0x4c)


原来还是不一样啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

42

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部