打印
[STM8]

用STM8L采集0输入电压时候读数太大的问题

[复制链接]
541|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
taobaofarmer|  楼主 | 2018-11-28 11:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在用到STM8L的AD转换输入,输入端为0V,AD转换后都有0.4V多的电压,换算肯定是没问题的,因为读出来的12位分辨率的转换值都是一百多,刚才在百度上搜了相关的帖子,发现坛子里就有个帖子问的就是这个问题,最后他自己解决了,但是没有公布解决的办法,这个帖子的地址是https://bbs.21ic.com/icview-714698-1-1.html,呼叫这个帖子的楼主zhxingyu同学,希望能把最后解决的办法公布下,谢谢,下面是我的AD初始化代码和读AD的代码,我感觉大部分已经没问题了,应该是就差一个简单的配置
void ADC_MyInit(void)
{
    CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);
   
    //ADC_VrefintCmd(DISABLE); //使能内部参考电压
   
    ADC_DeInit(ADC1);
   
    ADC_Init(ADC1,
             ADC_ConversionMode_Single,
             ADC_Resolution_12Bit,
             ADC_Prescaler_2
            );
   
    ADC_SchmittTriggerConfig(ADC1, ADC_Channel_9, DISABLE);
    ADC_SchmittTriggerConfig(ADC1, ADC_Channel_11, DISABLE);
   
    ADC_Cmd(ADC1, ENABLE);
}

ADC_SoftwareStartConv(ADC1);
//如果AD转换完成
        if(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) != 0)                     
        {
            //必须软件清除标志
            ADC_ClearFlag(ADC1, ADC_FLAG_EOC);                              
               
            lVoltageBack[uSampleStep/3] += AD_to_mV(ADC_GetConversionValue(ADC1));
            uSampleStep++;
        }
沙发
taobaofarmer|  楼主 | 2018-11-28 11:42 | 只看该作者
刚刚解决了,逼的我没办法,又回去看ST官方的例程,发现官方例程有这样一句话ADC_SamplingTimeConfig(ADC1, ADC_GROUP_SPEEDCHANNEL, ADC_SamplingTime_384Cycles);这个应该是配置AD转换时钟的,加上这句话之后就OK了,谢谢大家的关注

使用特权

评论回复
板凳
huangcunxiake| | 2018-11-28 18:12 | 只看该作者

最终用库把问题解决了

使用特权

评论回复
地板
huangcunxiake| | 2018-11-28 18:13 | 只看该作者
taobaofarmer 发表于 2018-11-28 11:42
刚刚解决了,逼的我没办法,又回去看ST官方的例程,发现官方例程有这样一句话ADC_SamplingTimeConfig(ADC1, ...

应该这个是设置采样时间的吧,之前没有加,没有时钟参考,导致没有转换完成就读取数据了。

使用特权

评论回复
5
huangcunxiake| | 2018-11-28 18:54 | 只看该作者
配置ADC为慢速/快速通道,采样时间周期为多少,采样周期越大越准。

使用特权

评论回复
6
磨砂| | 2018-12-4 10:22 | 只看该作者
小问题 但是总结了经验啊

使用特权

评论回复
7
yediezeus| | 2018-12-4 11:00 | 只看该作者

使用特权

评论回复
8
观海| | 2018-12-4 12:11 | 只看该作者
是否存在温漂呢

使用特权

评论回复
9
guanjiaer| | 2018-12-4 12:38 | 只看该作者
感谢楼主分享经验

使用特权

评论回复
10
keaibukelian| | 2018-12-4 12:50 | 只看该作者
有没有校准啊一开始

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

71

主题

460

帖子

3

粉丝