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

STM32F103RB ADC 问题

[复制链接]
赵小辉 提问时间:2017-1-2 15:26 /
大家好:
我 设置了STM32F103RB ,QFP64, PC0,PC1,PC2,PC3 这三个引脚我设置为模拟输入引脚,采用规则采样,单次模式,(中断完成后,用软件再设置ADON)
读出来的数据,6FF.(相当于1.2v) 用万用表量测的电压都是0V) , 请大家帮我看看。

source code 如下:

static void ADCx_Mode_Config(void)
{
        ADC_InitTypeDef ADC_InitStructure;       

        // ´ò¿ªADCʱÖÓ
        macADC_APBxClock_FUN ( macADC_CLK, ENABLE );
       
        // ADC ģʽÅäÖÃ
        // ֻʹÓÃÒ»¸öADC£¬ÊôÓÚµ¥Ä£Ê½
        ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
       
        // ½ûֹɨÃèģʽ£¬¶àͨµÀ²ÅÒª£¬µ¥Í¨µÀ²»ÐèÒª
        //ADC_InitStructure.ADC_ScanConvMode = DISABLE ;
  ADC_InitStructure.ADC_ScanConvMode = ENABLE;

        // Á¬Ðø×ª»»Ä£Ê½
        ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
        //ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;

        // ²»ÓÃÍⲿ´¥·¢×ª»»£¬Èí¼þ¿ªÆô¼´¿É
        ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;

        // ת»»½á¹ûÓÒ¶ÔÆë
        ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
       
        // ת»»Í¨µÀ4¸ö
        ADC_InitStructure.ADC_NbrOfChannel = macNOFCHANEL;       
               
        // ³õʼ»¯ADC
        ADC_Init(macADCx, &ADC_InitStructure);
       
        // ÅäÖÃADCʱÖӣΪPCLK2µÄ8·ÖƵ£¬¼´9MHz
        RCC_ADCCLKConfig(RCC_PCLK2_Div8);
       
        // ÅäÖà ADC ͨµÀת»»Ë³ÐòΪ1£¬µÚÒ»¸öת»»£¬²ÉÑùʱ¼äΪ55.5¸öʱÖÓÖÜÆÚ
        ADC_RegularChannelConfig(macADCx, macADC_CHANNEL10, 1, ADC_SampleTime_55Cycles5);
        ADC_RegularChannelConfig(macADCx, macADC_CHANNEL11, 2, ADC_SampleTime_55Cycles5);
        ADC_RegularChannelConfig(macADCx, macADC_CHANNEL12, 3, ADC_SampleTime_55Cycles5);
        ADC_RegularChannelConfig(macADCx, macADC_CHANNEL13, 4, ADC_SampleTime_55Cycles5);
       
        // ADC ת»»½áÊø²úÉúÖжϣ¬ÔÚÖжϷþÎñ³ÌÐòÖжÁȡת»»Öµ
        ADC_ITConfig(macADCx, ADC_IT_EOC, ENABLE);
       
        // ¿ªÆôADC £¬²¢¿ªÊ¼×ª»»
        ADC_Cmd(macADCx, ENABLE);
       
        // ³õʼ»¯ADC У׼¼Ä´æÆ÷  
        ADC_ResetCalibration(macADCx);
        // µÈ´ýУ׼¼Ä´æÆ÷³õʼ»¯Íê³É
        while(ADC_GetResetCalibrationStatus(macADCx));
       
        // ADC¿ªÊ¼Ð£×¼
        ADC_StartCalibration(macADCx);
        // µÈ´ýУ׼Íê³É
        while(ADC_GetCalibrationStatus(macADCx));
       
        // ÓÉÓÚûÓвÉÓÃÍⲿ´¥·¢£¬ËùÒÔʹÓÃÈí¼þ´¥·¢ADCת»»
        ADC_SoftwareStartConvCmd(macADCx, ENABLE);
}


收藏 1 评论4 发布时间:2017-1-2 15:26

举报

4个回答
jackten 回答时间:2017-1-2 18:15:54
看看                                       
五哥1 回答时间:2017-1-2 20:28:44
这个看看ST的实战经验,有一篇说的过这个问题
海迹天涯 回答时间:2017-1-3 08:45:08
乱码看起来真不爽,还不如截图

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版