powder-320203 发表于 2015-10-18 20:48:41

请教 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。


lkl0305 发表于 2015-10-18 20:55:46

不会吧,还有这事?

木木鱼 发表于 2015-10-18 21:10:32

围观看看!

chifen 发表于 2015-10-19 08:02:13

是不是你没有打开ADC管脚,

pwdzsj 发表于 2015-10-19 10:32:12

好像是绕口令哦:lol

yanlinwei 发表于 2015-10-19 11:38:32

太奇怪了,没遇到过

at89 发表于 2015-10-19 12:49:43

这种情况那就排除看看喽,是不是原理图上面连接有错或者是标错了了,或者查一下端口复用之类的,最好重新建立一个单独工程看看。芯片一般是不会有问题,估计原理图可能性比较大

你好我好大家好! 发表于 2015-10-19 13:15:41

:):):):):):):):):):):):):):):):):):)

powder-320203 发表于 2015-10-19 16:35:05

管脚肯定没有错初始化如下:
        /* 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);                               

powder-320203 发表于 2015-10-19 16:50:01

直接调用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
查看完整版本: 请教 ADC_Channel_0与实际的adc用管脚PA0不一致