Skip to main content
sjackson
Associate III
September 30, 2007
Question

Remapping PD0 and PD1

  • September 30, 2007
  • 3 replies
  • 899 views
Posted on September 30, 2007 at 14:18

Remapping PD0 and PD1

    This topic has been closed for replies.

    3 replies

    sjackson
    sjacksonAuthor
    Associate III
    May 17, 2011
    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!

    adrian3
    Associate II
    May 17, 2011
    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.

    16-32micros
    Associate III
    May 17, 2011
    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 :)