cancel
Showing results for 
Search instead for 
Did you mean: 

GPIO PINS PA1 and PA2 Unexpected behaviour as an DIGITAL PULL DOWN INPUT resulting also in problems when using them as ANALOG INPUT

SGonz.1
Associate

Good day to everyone on this forum

I was working on a code, my borad is a Nucleo-144 STM32F746, At first I was trying to read 12 Analog signals, from 0 to 3V with DMA and the reads were good exept for some channels with noise and a weird offset, I reducted my signal readings to just three signals, the first three channels from CH0 to CH2, Pins PA0 PA1 and PA2 respectively. Here is where I noticed a sine noise signal on PA1 with a RMS Volage value of arround 1.4V (Measured on oscilloscope), on channel 2, PA2 I noticed the pin on the air was permanently on HIGH with a signal of 3.3V. I began making some tests, changing the pin configuration to just a Digital Input with a Pull Down (By software) resistor and it seems to have done nothing on the PA1 and PA2 pins, with this conffiguration as an input all the other pins stay on a 0V constant signal but these two doesnt seem to change. I made the test on two other boards of the exact same family to discard the option the pins were damaged, and on the three boards the behabiour was the same.

All my configuration was made on STM32CUBEIDE and this is the PIN inizialitation code generated, I'm not running anything on the main or while. just limiting to set the Pull-Down resistors on these three imputs and cheching the pins signal on the osciloscope which is the simplest I can and not work out why are they behabing this way.

static void MX_GPIO_Init(void)

{

 GPIO_InitTypeDef GPIO_InitStruct = {0};

 __HAL_RCC_GPIOA_CLK_ENABLE();

 GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2;

 GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

 GPIO_InitStruct.Pull = GPIO_PULLDOWN;

 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

}

1 ACCEPTED SOLUTION

Accepted Solutions

They are probably connected to some on-board resource, probably through a solder-bridge/jumper. Check the Nucleo manual and the schematics.

JW

View solution in original post

2 REPLIES 2

They are probably connected to some on-board resource, probably through a solder-bridge/jumper. Check the Nucleo manual and the schematics.

JW

Thank you Thank you Thank you very much, Yes I looked into the User Manual and I found these two pins were related to SB160 and SB13 Solder Bridges Which were connected, I dont need ethernet so I just removed the 0 Resistors and now they work as expected.

"RMII Signals

SB13 (PA1), SB164 (PC1),

SB160 (PA2), SB178 (PC4),

SB181 (PC5), SB182

(PG13), SB183 (PG11)"