STM32F030CCT6 ADC单次采集问题

所属分类:STM32F系列 浏览数:1436 提问者:自由翼 提问时间:2018-01-09

问:

用STM32F030CCT6开发需要做电量检测,用PB1引脚(ADC通道9)发现代码只跑adc的就正常,一旦加了其他代码就不正常(例如AD检测前加一个LED灯引脚初始化),因为之前有STM32F030F4P6小板,将代码移植过去是正常可以用的,ADC采样读值正常,搞了几天都找不出问题,有没有人用过这款芯片的ADC?或者会不会这款芯片的ADC有问题?


答:ADC初始化代码: void bat_Init(void) { ADC_DeInit(ADC1); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE); //ADC IO??,????PA0??ADC?? GPIO_InitTypeDef PORT_ADC; PORT_ADC.GPIO_Pin=GPIO_Pin_1; PORT_ADC.GPIO_Mode=GPIO_Mode_AN; PORT_ADC.GPIO_PuPd=GPIO_PuPd_NOPULL; GPIO_Init(GPIOB,&PORT_ADC); //ADC ???? ADC_InitTypeDef ADC_InitStuctrue; ADC_InitStuctrue.ADC_Resolution=ADC_Resolution_12b;//12λ¾«¶È ADC_InitStuctrue.ADC_ContinuousConvMode=DISABLE;//µ¥´ÎADC ADC_InitStuctrue.ADC_ExternalTrigConvEdge=ADC_ExternalTrigConvEdge_None; ADC_InitStuctrue.ADC_DataAlign=ADC_DataAlign_Right;//Êý¾ÝÓÒ¶ÔÆë ADC_InitStuctrue.ADC_ScanDirection=ADC_ScanDirection_Backward;//Êý¾Ý¸²¸Ç ADC_Init(ADC1,&ADC_InitStuctrue); ADC_ChannelConfig(ADC1,ADC_Channel_9,ADC_SampleTime_1_5Cycles); //??????????,????16,?????????? //ADC_ChannelConfig(ADC1,AD
回答者:自由翼 回答时间:2018-01-09

答:问题已经解决,是受串口影响,在打印数据前再初始化一次串口就正常了,可以排除ADC的问题,具体串口哪里配置影响了还在找原因。
回答者:自由翼 回答时间:2018-01-09

答:注意管脚复用冲突方面的问题。
回答者:xmshao 回答时间:2018-01-09

登录后回答。
图书推荐
漫画半导体(高清版)

漫画半导体(高清版)

这是一本实用性很强的图书,,以漫画的形式更易于让人接受,边读故事边学知识,轻松且易于记忆。
算法心得:高效算法的奥秘

算法心得:高效算法的奥秘

本书给我们带来了一大批极为诱人的知识,其中包括各种节省程序运行时间的技巧、算法与窍门...
基于STM8S-无刷直流电机控制应用

基于STM8S-无刷直流电机控制应用

无刷直流电机是21世纪最有发展前景的新型电机之一。本书以STM8S单片机为控制核心...
广告