cancel
Showing results for 
Search instead for 
Did you mean: 

Remapping PD0 and PD1

sjackson
Associate II
Posted on September 30, 2007 at 14:18

Remapping PD0 and PD1

3 REPLIES 3
sjackson
Associate II
Posted on May 17, 2011 at 12:15

I'm using the STM32F103 device in a 48-pin package. I'm using the internal oscillator to clock the chip so I'd like to remap Port D pins 0 and 1 to GPIO lines. I use the following code to initialize them:

Code:

GPIO_PinRemapConfig(GPIO_Remap_PD01, DISABLE);

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1;

GPIO_Init(GPIOD, &GPIO_InitStruct);

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;

GPIO_Init(GPIOD, &GPIO_InitStruct);

Later when I try to change the state of the output pin D0 and probe it with a multimeter, the voltage seems to stay at about 0.7V. This happens whether I set the pin to logic 1 or logic 0.

All other GPIO pins work and toggle as intended. What could I be doing wrong?

Thanks!

16-32micros
Associate III
Posted on May 17, 2011 at 12:15

Dear SJackson, _adrian_

As you have mentioned, the IO remap of PD0 / PD1 on OSCIN / OSCOUT is not working on The early Silicon revision A, In fact The remapping of PD0 / PD1 was done but the configuration of PD0 and PD1 is forced to

output push-pull and their level is driven to 0 by the package options.

The fix of this limitation was already identified and resolved in the official Silicon revision. Please contact ST Sales offices for more details about the availability for your Region.

With best regards 🙂

adrian3
Associate II
Posted on May 17, 2011 at 12:15

There is a bug in the rev.A silicon - you'll need to get the errata sheet.