您尚未登录。

楼主 #1 2018-05-23 10:42:40

物联小白
会员
注册时间: 2018-05-17
已发帖子: 19
积分: 19

STM8L152C8这个芯片的ADC1,现在遇到的问题是第一次读取的AD转换值是不对的,希望有前辈可以指导一下

.

离线

#2 2018-05-23 11:18:45

电子是什么
会员
注册时间: 2018-05-21
已发帖子: 35
积分: 35

Re: STM8L152C8这个芯片的ADC1,现在遇到的问题是第一次读取的AD转换值是不对的,希望有前辈可以指导一下

如果第一次读取不对,那就用滤波算法去除上下限,然后平均一下就好了

离线

#3 2018-05-23 11:22:35

电子是什么
会员
注册时间: 2018-05-21
已发帖子: 35
积分: 35

Re: STM8L152C8这个芯片的ADC1,现在遇到的问题是第一次读取的AD转换值是不对的,希望有前辈可以指导一下

当然最好还是检查一下配置,一般情况下多数是配置问题

离线

#4 2020-05-27 10:59:35

lostangel
会员
注册时间: 2020-05-27
已发帖子: 8
积分: 8

Re: STM8L152C8这个芯片的ADC1,现在遇到的问题是第一次读取的AD转换值是不对的,希望有前辈可以指导一下

首先检查配置是不是正确,然后设置等待时间,不要上电配置完立即读取,延时下

离线

#5 2020-05-27 13:03:51

Quotation
会员
注册时间: 2018-10-04
已发帖子: 296
积分: 264.5

Re: STM8L152C8这个芯片的ADC1,现在遇到的问题是第一次读取的AD转换值是不对的,希望有前辈可以指导一下

找找官方文档,STM8不知道,STM32的ADC上电后要等待校准

       //Enable ADC reset calibration register
        ADC_ResetCalibration(adc);
        //Check the end of ADC reset calibration register
        while (ADC_GetResetCalibrationStatus(adc)) {}
        //Start ADC calibration
        ADC_StartCalibration(adc);
        //Check the end of ADC calibration
        while (ADC_GetCalibrationStatus(adc)) {}

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn