OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2893|回复: 3

求高手:STM8L151K4T6的ADC,转换得到的模拟值抖动厉害

[复制链接]

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2013-1-14
在线时间
6 小时
发表于 2016-12-22 16:33:34 | 显示全部楼层 |阅读模式
5金钱
我在实验STM8L151K4T6的单片机,在调试ADC的时候,碰到示数很飘的问题。使用两个管脚,分别是PB3和PB7,去采集电压值。现在这两个管脚,我都是直接接到GND的,但通过串口打印,得到的数值飘的厉害,如附件的图片所示。
理论上应该都是0,但实际上出现了18的值,非常诡异。不知道有没有高手碰到类似问题,求指教,先谢谢了。
下面是我写的驱动代码:
[mw_shl_code=c,true]void ADC_Begin(void)
{
    CLK_PeripheralClockConfig (CLK_Peripheral_ADC1,ENABLE);//开启ADC1时钟,只有ADC1,没有ADC2
    ADC_DeInit(ADC1);//复位
    ADC_Init(ADC1,ADC_ConversionMode_Single,ADC_Resolution_10Bit,ADC_Prescaler_2);//单次转换,10位,转换时钟2分频
    ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);//设置ADC低速(0~23)通道的采样时间
    ADC_Cmd(ADC1,ENABLE);//ADC使能
}

uint16_t  Analog_Read(ADC_Channel_TypeDef channel)
{
    uint16_t analogValue;
    ADC1->SQR[0] =  ADC_SQR1_RESET_VALUE;//失能所有通道选择
    ADC1->SQR[1] =  ADC_SQR2_RESET_VALUE;
    ADC1->SQR[2] =  ADC_SQR3_RESET_VALUE;
    ADC1->SQR[3] =  ADC_SQR4_RESET_VALUE;
    ADC_DMACmd(ADC1,DISABLE);   //单次转换,需关闭DMA   
    ADC_ChannelCmd (ADC1,channel,ENABLE);//选定通道;单次转换,只能选择一个通道
    ADC_SoftwareStartConv (ADC1);//软件启动转换
    while(ADC_GetFlagStatus (ADC1,ADC_FLAG_EOC) == RESET);//等待转换结束
    analogValue = ADC_GetConversionValue (ADC1);//获取转换值
    ADC_ClearFlag (ADC1,ADC_FLAG_EOC);//清除对应标志
    return analogValue;
}[/mw_shl_code]

QQ截图20161222163111.jpg

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

597

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2109
金钱
2109
注册时间
2011-9-3
在线时间
119 小时
发表于 2016-12-23 14:04:12 | 显示全部楼层
回复

使用道具 举报

3

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2013-1-14
在线时间
6 小时
 楼主| 发表于 2017-1-16 16:00:13 | 显示全部楼层
同样的代码,用在STM8L151G6上面就完全不抖了。也和其他伙伴交流过类似的问题,不得不怀疑是芯片的问题了。
回复

使用道具 举报

3

主题

144

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7342
金钱
7342
注册时间
2016-2-6
在线时间
1863 小时
发表于 2017-1-17 00:06:06 | 显示全部楼层
不一定,你说的两种情况板子相同吗?如果不同应该首先怀疑板子的layout问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-9-29 02:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表