完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
关于差分模式的配置,datasheet里面介绍的很简单。我按照要求去做结果似乎和单端模式一个样,不知道是什么原因,请各位大神指教。
主要涉及到几个方面: step 1 :ADC1->CR |= ADCALDIF; //1: Writing ADCAL will launch a calibration in Differential inputs Mode. 。。。 step2:ADC1->DIFSEL |= 0x02; //DIFSEL = 1: ADC analog input channel-i is configured in differential mode ... step3:ADC1->JSQR = (3 << 0) //2 CONVERSIONS | (8 << 2) //JEXTSEL: External trigger selection for injected group (JEXT8 = TIM1_TRGO2) | (1 << 6) //01: Hardware trigger detection on the rising edge | (2 << 8); //JSQ1: ADC_IN1 然后我会在JDR中取值,但是发现这个值和单端配置ADC模式得出的值是一样的,请问各位大神,我上面的几个关于ADC differential mode的配置有什么问题吗? |
|
相关推荐
11个回答
|
|
|
|
|
|
|
|
|
|
非常感谢您的回复:
我的ADCIN1 和ADCIN2两个输入端分别是一个电路的两路输出,一路电压输入在电源电压不变的情况下基本恒定为电源电压的一半,另一路输入会在这个电源电压一半的附近波动,所以我的目标是通过差分模式测量出两个输入电压之间的差异。所以从信号输入上讲不是直流电压+直流地的模式了。 |
|
|
|
按照我的电路设计应该得出的是这两个电压的差值,但是目前得出值居然还是电源电压值得一半。这是单端的结果,所以我怀疑我是不是软件配置错误,不知各位有没有这方面的经验。
|
|
|
|
kaishengdianzi 发表于 2019-3-4 18:30 按照这样的输入,我觉得,应该就是 MCU 这边初始化的问题了。 |
|
|
|
arm8686兄弟,我也是怀疑我的软件初始化有问题,你有这方面的经验吗?我已经列出了关于ADC differential mode 的配置,需要提供整个驱动吗?如果需要我可以贴出来,目前我实在看不出什么问题。
|
|
|
|
那 GPIO 的 AF 设置呢? IN(i) 与 IN(i+1) 这两个管脚。
|
|
|
|
不好意思现在才看到你的回复。 我配置的是注入模式, GPIO都配置成analog input的,另外在这颗芯片里面,ADC_IN1/ADC_IN2不属于AF,属于Additional
functions: Functions directly selected/enabled through peripheral registers |
|
|
|
STM32F301 选择的是PA0/PA1作为输入pin
|
|
|
|
感谢arm8686 ,我已经解决此问题,答案就是我的配置没错,是我对结果的理解有误
|
|
|
|
richard96321 您好! 我也遇到这个问题,不知道你的对结果理解有误是怎么理解的? 感谢!!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
969 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
954 浏览 2 评论
2066 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1162 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1587 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 12:33 , Processed in 0.923528 second(s), Total 91, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号