Problem mit NJTRST (STM32)

OP #2364866
Lesenswert?

Hi Leute,

ich hab ein Problem :
Ich hatte Probleme mit dem PB4 pin meines STM32 (Ich konnte den Pin 
einfach nicht auf H oder L schalten, war immer H). Nach Stundenlanger 
fehlersuche in der Hardware habe ich dann den Fehler gefunden.

Der PB4 ist standartmäßig auf NJTRST gesetzt. Um den GPIO zu aktivieren 
muss ich erst die Alternate Remap funktion anschalten.

Jetzt meine Frage: Wie genau mach ich das?
Ich bekomme es nicht hin.
1
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
2
    GPIO_InitTypeDef GPIO_I2C_InitStructure;
3
    GPIO_I2C_InitStructure.GPIO_Pin = I2C1_SCL_PIN | I2C1_SDA_PIN;
4
    GPIO_I2C_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
5
    GPIO_I2C_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
6
    GPIO_Init(GPIOB, &GPIO_I2C_InitStructure);
7

8
    GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE );
9
    AFIO->MAPR = AFIO_MAPR_SWJ_CFG_0;  // Weder mit noch ohne diese Zeile geht es
10
    
11
    GPIO_I2C_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_4 ;
12
    GPIO_I2C_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
13
    GPIO_Init(GPIOB, &GPIO_I2C_InitStructure);
14

15
    GPIO_I2C_InitStructure.GPIO_Pin = GPIO_Pin_4 ;
16
    GPIO_I2C_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD;
17
    GPIO_Init(GPIOB, &GPIO_I2C_InitStructure);

Der Pin5 Funktioniert tadellos!

Für Hilfe wäre ich dankbar.

Grüße Tarkan
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren