AnsweredAssumed Answered

STM32F030F4P6

Question asked by Homann.Jan on Mar 19, 2017
Latest reply on Mar 20, 2017 by Clive One

Hallo.

 

Ich habe mal eine ganz bescheidene Frage.

Wie konfiguriere ich bei einem STM32F030x die beiden Pins (PF0/1) als Ausgänge?


Im Datenblatt steht, dass diese angeblich nach Reset als solche benutzbar sind. Leider klappt das nicht.

Alle anderen Pins funktionieren einwandfrei. Was habe ich vergessen?

 

    GPIO_InitTypeDef GPIOx;

 

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE);
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOF,ENABLE);

 

    GPIOx.GPIO_Mode     = GPIO_Mode_OUT;
    GPIOx.GPIO_OType    = GPIO_OType_PP;
    GPIOx.GPIO_Pin      = (GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5      | |GPIO_Pin_6 | GPIO_Pin_7);
    GPIOx.GPIO_PuPd     = GPIO_PuPd_NOPULL;
    GPIOx.GPIO_Speed    = GPIO_Speed_2MHz;
    GPIO_Init(GPIOA, &GPIOx);

 

    GPIOx.GPIO_Mode     = GPIO_Mode_IN;
    GPIOx.GPIO_Pin      = (GPIO_Pin_13 | GPIO_Pin_14);
    GPIOx.GPIO_PuPd     = GPIO_PuPd_UP;
    GPIOx.GPIO_Speed    = GPIO_Speed_2MHz;
    GPIO_Init(GPIOA, &GPIOx);

 

    GPIOx.GPIO_Mode     = GPIO_Mode_OUT;
    GPIOx.GPIO_OType    = GPIO_OType_PP;
    GPIOx.GPIO_Pin      = GPIO_Pin_1;
    GPIOx.GPIO_PuPd     = GPIO_PuPd_NOPULL;
    GPIOx.GPIO_Speed    = GPIO_Speed_2MHz;
    GPIO_Init(GPIOB, &GPIOx);

 

    GPIOx.GPIO_Mode     = GPIO_Mode_OUT;
    GPIOx.GPIO_OType    = GPIO_OType_PP;
    GPIOx.GPIO_Pin      = (GPIO_Pin_0 | GPIO_Pin_1);
    GPIOx.GPIO_PuPd     = GPIO_PuPd_NOPULL;
    GPIOx.GPIO_Speed    = GPIO_Speed_2MHz;
    GPIO_Init(GPIOF, &GPIOx);

 

    GPIO_WriteBit(GPIOF, GPIO_Pin_0, Bit_SET)

 

 

Was mache ich falsch?

Outcomes