Forum: Mikrocontroller und Digitale Elektronik STM32 Pin nach Init auf high?


von Pete K. (pete77)


Lesenswert?

Hallo,

ich wollte die LED an PC13 vom BluePill Board ansteuern. Bei mir 
leuchtet die LED allerdings schon nach der Init-Sqeuence, ohne dass ich 
das Bit explizit gesetzt hätte.

Ist das normal? Kann es sein, dass der Pin defekt ist?
1
int main(void) {
2
  int i = 0;
3
4
  GPIO_InitTypeDef GPIO_InitStructure;
5
6
  SystemInit();
7
  delay_ms(100); // startup delay
8
9
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
10
11
12
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
13
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
14
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
15
  GPIO_Init(GPIOC, &GPIO_InitStructure);
16
17
  //GPIO_WriteBit(GPIOC, GPIO_Pin_13, Bit_SET);  // <-- auskommentiert
18
        
19
  while (1) {delay_ms(1000);}
20
        
21
}

von Stefan F. (Gast)


Lesenswert?

Schau in den Schaltplan des Boardes. Die LED ist absichtlich so 
angeschlossen, dass sie bei Low Pegel leuchtet.

von Johannes S. (Gast)


Lesenswert?

Andersrum. Nach init ist der Pin low und deshalb leuchtet die LED.

von Dr. Sommer (Gast)


Lesenswert?

Bei einigen (allen?) STM32 ist PC13 ein Spezial Pin der RTC der nur 
wenig Strom liefern kann, ggf. zu wenig für eine LED - prüf das zur 
Sicherheit mal...

von Stefan F. (Gast)


Lesenswert?

Das Bluepill Board hat einen rechts großen Widerstand vor der LED, so 
daß der maximal zulässige Strom gerade eingehalten wird. Anders herum 
(bei High leuchten) würde der zulässige Strom überschritten werden.

von Pete K. (pete77)


Lesenswert?

Ok, danke. Ja, wer Schaltpläne lesen kann ist klar im Vorteil ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.