2015-04-02 07:23 PM
In STM32CubeMX, when I click on a pin, the following are two of the choices amongst others are presented to me.
I want to understand what the difference is between ADC1_IN0 versus GPIO_Analog. I have looked through numerous manuals and all over the Internet and all through ST Microelectronics website and cannot find a definitive answer. What is the difference, if any, why would I use one over the other, it at all? #gpio-analog-adc #mx-gpio-analog2015-04-03 01:34 PM
GPIO Analog puts the pin in a low power state. ADC_IN0 will allow you to rank the channel for ADC conversion.
A code generation option in MX generates code to place all unused pins in GPIO Analog mode. Cheers, Hal2015-04-03 07:07 PM
Does that mean that GPIO Analog is also a disabled state or rather, currently unused?
The RM0090 Reference manual is extremely terse as to what GPIO Analog is. The diagram implies that Analog input and Analog output are still connected internally somewhere. If the mode is set to GPIO Analog, is the pin usable at all, or for the current firmware load it is simply in a low power high impedance state?2015-04-04 06:12 AM
A GPIO Analog pin is usable as an analog input or output pin, but if you are using CubeMX, you have to edit the MX generated code each time to, for example, add an ADC channel. Let MX do the work for you.
Regards, Hal2015-04-04 07:49 AM
Let me try this again.
ADC, Analog Digital Converter. A single voltage sample through successive approximation becomes represented by a 12 bit binary value that can be manipulated. A GPIO, Analog input is usable as an analog input or output pin. This alternative configuration mode does not have an ADC or DAC hooked up to the pin, so how can it be used as an analog input or output. What is the functional difference between ADC or GPIO analog input when a pin is defined in either configuration mode. ADC = binary representaion of sampled voltage. Analog input = ????? (Not an ADC!, so what is it?)2015-04-04 09:09 AM
It is a port pin with no pullup, pull down or Schmit trigger function.
Cheers, Hal2015-04-04 03:06 PM
Hal, I read this manual, RM0090 Reference manual.
I read 8.3.12 Analog configuration, so I got all that. When I read 13 Analog-to-digital converter (ADC), obviously I follow that too. Now, my understanding is that, 8.4.1 GPIO port mode register (GPIOx_MODER) (x = A..I/J/K) when set as per the following table, 00: Input (reset state) 01: General purpose output mode 10: Alternate function mode 11: Analog mode, gets me to Alternate function mode (a peripheral such as an ADC or DAC) or Analog mode. So, the two appear to be mutually exclusive in the manual as well, thus reflecting the operation of STM32CubeMX. So, I ask again, what does GPIO Analog input give me for functionality? What does it do? It's not an op-amp input, it's not a VCO input, what is it?2015-04-04 08:07 PM
Maybe I missed something here, not being overly familiar with the ARM nor the STM design.
STM32CubeMX enables me to choose, ADC1 IN0 or GPIO Analog Input. If I choose ADC1 IN0, STM32CubeMX also chooses GPIO Analog Input in the background for me. If I choose GPIO Analog Input, then the pin is set to consume as minimal amount of power as is feasibly possibly, and, as this is the mode that I chose, STM32CubeMX shows the ADC1 IN0 as not being available it is now displayed in RED. Is this what you have been trying to tell me?2015-04-05 06:47 AM
Yes.
You have summarized it very eloquently. Undoubtedly this question will arise again with someone else. Whoever responds can point to this thread for an answer. Cheers, Hal2015-12-29 10:14 AM
This is not clear to me.
I need a bunch of PWM outputs and ADC inputs. On the STM32F429, if I want to use the LCD and SDRAM interfaces, it becomes someone problematic. My question this: There are pins labeled as GPIO_analog in STM32CubeMX. Is it possible to use them with an ADC?