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

关于STM32F0R8T6定时器预分频配置影响AD采样值的问题

[复制链接]
robotfan 提问时间:2015-5-8 22:38 /
今天碰到一个奇怪的问题,开了TIM17的100ms中断,预分频99,发现以前正常采样电位器值的AD数据错误,明明是12位的AD通过调试查看变量发现采样到了6000多的值,但把预分频改为8以下则立马一切正常,我就纳闷了,两个完全不相关的配置怎么会影响,AD为DMA模式

#include "stm32f0xx.h"

uint16_t ADC_ConvertedValue;  //ADC转换值



void ADC_Config(void)
{

   

}


int main(void)
{
    TIM_TimeBaseInitTypeDef a;  //定时器配置结构体
    ADC_InitTypeDef ADC_InitStructure;  //ADC配置结构体

    a.TIM_Prescaler=0;  //定时器预分频(定时器时钟频率=晶振频率/(TIM_Prescaler+1))

   
    ADC_Config();
   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);  //开启ADC时钟


    ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;  //设置选择连续采样
    ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;  //采样数据右对齐

    ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;  //ADC外部边缘触发无效
    ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;  // 配置ADC转换分辨率 12bit
    ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Backward;  //设置ADC扫描方向
    ADC_Init(ADC1, &ADC_InitStructure);  //配置ADC

    ADC_ChannelConfig(ADC1, ADC_Channel_0, ADC_SampleTime_239_5Cycles);  //配置ADC通道与采样周期

    ADC_Cmd(ADC1, ENABLE);  //启动ADC1

    ADC_StartOfConversion(ADC1);  //软件触发ADC启动转换


    while (1)
    {
        ADC_ConvertedValue=ADC_GetConversionValue(ADC1);
    }


收藏 评论2 发布时间:2015-5-8 22:38

举报

2个回答
qscvhu 回答时间:2015-5-9 10:09:58
路过~帮顶
eurphan 回答时间:2015-5-9 23:46:20
不懂帮顶

所属标签

相似问题

官网相关资源

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