请教 ADC_Channel_0与实际的adc用管脚PA0不一致
我没有用dma,直接调用ADC1_GetVol( 1 , ADC_Channel_9),我的adc用管脚PB1,按理应该是ADC_Channel_9。实际上却在ADC_Channel_0;adc用管脚PA0,按理应该是ADC_Channel_0。实际上却在ADC_Channel_9,怎么会变了?更郁闷的是程序修改了其它与这个调用ADC1_GetVol无关的地方,原来的adc用ADC_Channel_0,却没有跟随变化了?而adc用管脚PA0,按理应该是ADC_Channel_0。还在ADC_Channel_9。
不会吧,还有这事? 围观看看! 是不是你没有打开ADC管脚, 好像是绕口令哦:lol 太奇怪了,没遇到过 这种情况那就排除看看喽,是不是原理图上面连接有错或者是标错了了,或者查一下端口复用之类的,最好重新建立一个单独工程看看。芯片一般是不会有问题,估计原理图可能性比较大 :):):):):):):):):):):):):):):):):):) 管脚肯定没有错初始化如下:
/* EnableGPIOA clock */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
/* ADC1 Periph clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
/* DMA1 clock enable */
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1 , DISABLE);
/* Configure PA.01as analog input */
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;// ;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_Init(GPIOA, &GPIO_InitStruct);
直接调用ADC1_GetVol( 1 , ADC_Channel_9),我的adc用管脚PB1,按理应该是ADC_Channel_9。实际上却在ADC_Channel_0;adc用管脚PA0,按理应该是ADC_Channel_0。实际上却在ADC_Channel_9,怎么会变了?但是还是能够用,一直没有管它,将错就错。可以现在启动了时钟TIM3和加了一些与adc无关的程序。ADC1_GetVol( 1 , ADC_Channel_0)就没有了?
以前用过很多stm32f103\stm32f107,都没有这个问题。
页:
[1]
2