JTDI Pin als normalen GPIO Push Pull verwenden

OP #4975585
Lesenswert?

Hallo,

ich programmiere den STM32F103C6T8 in Eclipse.

Ich möchte SPI1 verwenden ohne Remapping und mit Software-chipselect.

Nun habe ich mein chipselect auf PinA15 gelötet und musste festellen, 
dass ich den A15 nicht geschalten bekomme. Alle anderen Pins kann ich 
schalten. Google sagt, dass das vielleicht mit der Alternativen Funktion 
zu tun haben kann. Der A15 kann NSS1(SPI1), JTDI und T2C1E.


Hier mein Test-code:
1
GPIO_InitTypeDef GPIO_InitStructure2;
2
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);  
3
GPIO_InitStructure2.GPIO_Pin = GPIO_Pin_15;  
4
GPIO_InitStructure2.GPIO_Mode = GPIO_Mode_Out_PP;  
5
GPIO_InitStructure2.GPIO_Speed = GPIO_Speed_50MHz;  
6
GPIO_Init(GPIOA, &GPIO_InitStructure2);
7

8
  while(1){
9

10
    GPIO_WriteBit(GPIOA, GPIO_Pin_15, Bit_RESET);
11
    softdelay(10000000);
12

13
    GPIO_WriteBit(GPIOA, GPIO_Pin_15, Bit_SET);
14
    softdelay(10000000);
15
  }

Im Datenblatt steht was von "GPIO locking mechanism" aber auch, dass 
wenn ich den A15 als Output verwende er auch ein Ausgang ist. Also warum 
kann ich den A15 nicht schalten?

Gruß
OP #4975728
Lesenswert?

danke ich hab jetzt SWJ_CFG [2:0] = 100; dass gleich alle Pins frei 
sind.

Jetzt muss ich halt den Reset immer gedrückt halten beim flashen. Denn 
der ST-Link kann den -HardRst auch nur dann ausführen wenn SWD noch an 
ist. Komisch irgendwie. Was mich auch wundert, in der UM0892 für den 
ST-Link steht, dass der Resetpin der 15er wäre. Ich habe jedoch nur Pins 
von 1 bis 8 wobei 1 der Rst ist. Naja mit dem kann ich mich abfinden. 
Danke für die Hilfe.


Gruß

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