GPIO (LED) am STM32F030

Gast #4928581
Nabend.

Stehe glaube ich gerade ein wenig auf dem Schlauch.
Möchte gerade einfach nur mal ne LED zum leuchten bringen, leider 
passiert nichts. Habe mir gerade die aktuellste Version von EmBitz 
(1.11) heruntergerladen und muss feststellen, dass auf dem Board ( 
Welches vorher schon einwandfrei funktionierte..) die LED nicht mehr an 
geht.

Habe ich in dem Code was falsch???

[C]
int main(void)
{
    SystemInit();

    SysTick_Config(SystemCoreClock/1000);

    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
    GPIO_InitTypeDef GPIOx;

    GPIOx.GPIO_Mode     = GPIO_Mode_OUT;
    GPIOx.GPIO_OType    = GPIO_OType_PP;
    GPIOx.GPIO_Pin      = GPIO_Pin_5;
    GPIOx.GPIO_PuPd     = GPIO_PuPd_NOPULL;
    GPIOx.GPIO_Speed    = GPIO_Speed_10MHz;
    GPIO_Init(GPIOA,&GPIOx);

    GPIO_WriteBit(GPIOA,GPIO_Pin_5,Bit_SET);


  while(1)
  {

  }
}
[\C]
Gast
Habe jetzt mal eine LED an einen anderen Pin angeschlossen, das 
funktioniert.

PF0/1 sind ja die Anschlüsse vom Quarz. Kann es sein, dass bevor ich 
diese nutzen möchte, ich erst was umprogrammieren muss?
Gast
Marlon W. schrieb:
1
> 
2
> int main(void)
3
> {
4
>     SystemInit();
5
> 
6
>     SysTick_Config(SystemCoreClock/1000);
7
> 
8
>     RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
9
>     GPIO_InitTypeDef GPIOx;
10
> 
11
>     GPIOx.GPIO_Mode     = GPIO_Mode_OUT;
12
>     GPIOx.GPIO_OType    = GPIO_OType_PP;
13
>     GPIOx.GPIO_Pin      = GPIO_Pin_5;
14
>     GPIOx.GPIO_PuPd     = GPIO_PuPd_NOPULL;
15
>     GPIOx.GPIO_Speed    = GPIO_Speed_10MHz;
16
>     GPIO_Init(GPIOA,&GPIOx);
17
> 
18
>     GPIO_WriteBit(GPIOA,GPIO_Pin_5,Bit_SET);
19
> 
20
>   while(1)
21
>   {
22
> 
23
>   }
24
> }
25
>

Hier habe ich probeweise mal einen anderen Pin genommen. Mein Problem 
aktuell besteht mit dem PF0
Klemmt denn an PF0 und PF1 ein Quarz? Und wird der Controller mit der 
internen PLL und externem Quarz betrieben? Sollte das der Fall sein, 
hättest du noch die Möglichkeit den externen Quarz zu deaktivieren und 
auf einen internen Quarz zu wechseln. Dazu gibt es von ST ein Excel 
Tool, mit dem man die Clock Konfiguration über eine Gui einstellt und 
das Excel Tool eine C-Datei ausspuckt.

Viele Grüße
Mattias
Gast
Remap heißt das Zauberwort..... das dient dazu, die alternativen 
Funktionen der Pins freizugeben bzw zu aktivieren. Auf Anhieb weiß ich 
jetzt allerdings bei der F0-Serie auch nicht, was Du da wann wo 
schreiben musst. Aber das steht im Regelfall im Reference Manual.

Beim F10x musst Du die AF-Clocks freigeben, und die entsprechenden, 
jedem Port zugeordneten Refgister entsprechend beschreiben, dann sind 
die alternativen Funktionen verfügbar.
Gast
Sorry war unterwegs.

Laut Datenblatt ->

Using the HSE or LSE oscillator pins as GPIOs
When the HSE or LSE oscillator is switched OFF (default state after 
reset), the related
oscillator pins can be used as normal GPIOs.
When the HSE or LSE oscillator is switched ON (by setting the HSEON or 
LSEON bit in the
RCC_CSR register) the oscillator takes control of its associated pins 
and the GPIO
configuration of these pins has no effect.
When the oscillator is configured in a user external clock mode, only 
the pin is reserved for
clock input and the OSC_OUT or OSC32_OUT pin can still be used as normal 
GPIO.


Wieso sollte man dann die "AlternateFunction" konfigurieren müssen?
Im Datenblatt steht nichts unter "Alternative Funktion" also geht man 
davon aus, dass es nach dem Reset als normaler GPIO fungiert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.