Skip to main content
pieter239955
Associate
January 28, 2013
Question

STM32L1xx Pin Configuration + Allocation

  • January 28, 2013
  • 2 replies
  • 750 views
Posted on January 28, 2013 at 15:24

Hi,

I am working with a STM32L1 chip (STM32L152RB to be exact, 64 Pin) and I would like start with the basics and then work up as I do not have any experience with it. I do not have the STM32L1 Dev/Eval board, I am working with our own board.

After looking at some of the example projects on IAR EWB I am getting to grips with some configurations, but I would just like to know how to set up 4 GPIO pins;

2 push-pull output pins configured to pins PB7 and PB8,

2 pull-up input pins configured to pins PB13 and PB14.

Any information for a beginner would be great, at this point just setting a pin of my choice high or low is progress.

The board and chip work fine so far and I can download and debug any example project without any problems.
    This topic has been closed for replies.

    2 replies

    Tesla DeLorean
    Guru
    January 28, 2013
    Posted on January 28, 2013 at 15:58

    void GPIO_Configuration(void)
    {
    GPIO_InitTypeDef GPIO_InitStructure;
    /* GPIOB Periph clock enable */
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
    /* Configure PB7 and PB8 in output pushpull mode */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_40MHz;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    GPIO_SetBits(GPIOB, GPIO_Pin_7); // PB7 High
    GPIO_ResetBits(GPIOB, GPIO_Pin_8); // PB8 Low
    /* Configure PB13 and PB14 in input mode */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    }

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    pieter239955
    Associate
    January 28, 2013
    Posted on January 28, 2013 at 17:47

    Thanks, seems like I was overlooking the A,B,Cs etc on the end of GPIO enables and it was really confusing me, so simple now.

    Thanks again.