打印

STM32 ADC 的双AD问题

[复制链接]
7766|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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;注入模式不合适的!

使用特权

评论回复
5
Itachi80|  楼主 | 2011-7-26 16:55 | 只看该作者
我之后在ADC的寄存器地址是发现了,ADC1和ADC2都各自有一篇同样的大小的地址,所以应该是有ADC1_XX和ADC2_XX吧

使用特权

评论回复
6
香水城| | 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 (33.8 KB )

ADC_Registers.GIF

使用特权

评论回复
7
文峰聊书斋| | 2013-9-14 16:22 | 只看该作者
好好看内存映射,还有固件库的实现,Init函数。

使用特权

评论回复
8
文峰聊书斋| | 2013-9-14 16:23 | 只看该作者
ADC2_JDRx       ADC_JDRx  地址不同,名无所谓。

使用特权

评论回复
9
Zacking| | 2014-12-10 15:32 | 只看该作者
请问楼主是怎么做的,我现在也是想利用stm32AD同时采集直流电压和电流,可以指导一下吗?谢谢!

使用特权

评论回复
10
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

粉丝