你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32f103zet6 ADC测量范围不对

[复制链接]
adadasadsad 提问时间:2015-1-20 19:39 /
使用ADC1 通道11的测量0-3.3v 当输入电压到70mv时测量到的电压显示3.3V

请问这个是配置问题还是什么问题?


源码:
#include "ADC.h"
ADC_InitTypeDef  ADC_InitStructure;
void ADCInit(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
        GPIO_InitStructure.GPIO_Pin  =GPIO_Pin_1;
        GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AIN;
//        GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOC,&GPIO_InitStructure);
}

void ADC_ChannelConfig(void)
{
        ADC_InitStructure.ADC_Mode= ADC_Mode_Independent;  
        ADC_InitStructure.ADC_ScanConvMode=DISABLE;     
        ADC_InitStructure.ADC_ContinuousConvMode=ENABLE;   
        ADC_InitStructure.ADC_ExternalTrigConv= ADC_ExternalTrigConv_None;
        ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;  
        ADC_InitStructure.ADC_NbrOfChannel=1;
        ADC_Init(ADC1,&ADC_InitStructure);
        ADC_RegularChannelConfig(ADC1,ADC_Channel_11, 1,ADC_SampleTime_1Cycles5);
        ADC_Cmd(ADC1,ENABLE);         
        ADC_SoftwareStartConvCmd(ADC1,ENABLE);
}

u16 READAdc(void)
{
        u16 adc;
        while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)==RESET);
        adc=ADC_GetConversionValue(ADC1);
        return adc;
}


收藏 评论2 发布时间:2015-1-20 19:39

举报

2个回答
adadasadsad 回答时间:2015-1-20 20:11:49
自己顶一下
拼命三郎 回答时间:2015-1-21 08:18:56
ADC是软件启动的?那么第二次采集的时候是如何启动的?

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版