打印

[技术问答] 关于ADC一个提问

[复制链接]
196|5
跳转到指定楼层
楼主
ADC_SetClockPrescaler(ADC, 4);                 ///<Set ADC Sample Rate 369K = 96M/2/(4+1)/(14+12)
ADC_ChannelSampleTimeSel(ADC, ADC_CHANNEL_AD4, ADC_SampleTime_14Cycle); ///<Set ADC Sample Rate 369K = 96M/2/(4+1)/(14+12)

单片机频率96M   
/2  总线频率
/5  设置分频
/14 每个通道采样时间选择  
然后+12是什么来的   数据手册没看到ADC这里面有+12的说明
沙发
 楼主 | 2019-10-30 21:24 | 只看该作者
再问一个问题 跑 ADC例程的时候发现 adc接口 对地时 adc输出为2 不知道哪里有内鬼 让他不是获取的adc = 0
ADC_SAMPLE_TIMER_TRIGER_REGULAR   PA11 直接接地 输出ADC值为2

欢乐赛车微信截图_20191030212248.png (961 Bytes, 下载次数: 2)

微信截图_20191030212248.png
板凳
 楼主 | 2019-10-30 21:25 | 只看该作者
戊戌变法 发表于 2019-10-30 21:24
再问一个问题 跑 ADC例程的时候发现 adc接口 对地时 adc输出为2 不知道哪里有内鬼 让他不是获取的adc = 0
A ...

adc直接接电源是输出4095正常的
地板
| 2019-10-31 09:21 | 只看该作者
戊戌变法 发表于 2019-10-30 21:24
再问一个问题 跑 ADC例程的时候发现 adc接口 对地时 adc输出为2 不知道哪里有内鬼 让他不是获取的adc = 0
A ...

ADC精度问题,所有MCU内部的ADC虽然是12bit,但实际精度一般都达不到真正的12bit
5
| 2019-10-31 09:21 | 只看该作者
手册没有说明,这个是转换时间
6
| 2019-10-31 09:34 | 只看该作者
本帖最后由 AutochipsMCU 于 2019-10-31 09:36 编辑

1.+12是转换需要的时钟数,12bit ADC所以需要12个clk
2.对地有一点偏置的原因是默认打开了ADC的校准。
在ADC配置初始化时,可以把校准关掉应该就是0了。
    ADC_LP0Disable(ADC);
    ADC_LP1Disable(ADC);
    ADC_CalibrationDisable(ADC);

Calibration打开是测试绝对电压,关闭是测试相对电源电压
扫描二维码,随时随地手机跟帖
*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表
合乐彩票 北京赛车 牛牛彩票 智胜彩票 智胜彩票 欢乐赛车 网易彩票 瑞祥彩票 爱投彩票 欢乐斗牛