STM32F407 AD设置为右对齐,结果为左对齐的原因
1、以下是按照原子的设置
//初始化 ADC1 相关参数
ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;//12位模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE;//非扫描模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//关闭连续转换
ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;//禁止触发检测,使用软件触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//右对齐
ADC_InitStructure.ADC_NbrOfConversion = 1;//1个转换在规则序列中 也就是只转换规则序列1
ADC_Init(ADC1, &ADC_InitStructure);//ADC初始化
设置中少设置了一个成员变量ADC_InitStructure.ADC_ExternalTrigConv
仿真发现这个变量的值默认为 0x08002d40, 调用 ADC_Init后,ADC_CR2寄存器的值被改变成不是你设置的值
解决方法是加上 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; 这句就好了
得到的经验是结构体的所有变量最好都设置,不设置的话,初值不一定是你想要的,结果也可能不是你想要的
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:189
阅读量:66
阅读量:20
阅读量:127
阅读量:75