STM32F0 Discovery Port C Pin 1 and Pin 2 problem

Gast #4083282
Lesenswert?

Hallo !

Also ich bin etwas frustriert mit diesem Problem.
Mein STM32F0 Discovery Board hat ein Problem ..
Port C Pin 1 und Pin 2 gehen nicht auf high level an diesem Board.
Meine 0 Erfahrung mit Arms hilft hier auch nicht um das zu loesen.
Die pins 1+2 des Ports bleiben auf low. Was kann ich noch machen.
Ich hoffe der Code ist ok, alle anderen pins des PortC arbeiten wie
man das so vermutet.
Hat jemand eine Ideee ? Ich bin recht neu in der arm Sache und brauche
etwas Hilfe hier.
Mein Code is weiter unten ..
Danke fuer Eure Hilfe.

1
#include "stm32f0xx.h"
2
#include "stm32f0xx_rcc.h"
3
#include <stm32f0xx_conf.h>
4
#include "stm32f0xx_gpio.h"
5
#include "diag/Trace.h"
6

7
int main()
8
{
9

10
  GPIO_InitTypeDef GPIO_InitDef;
11
        RCC->AHBENR |= RCC_AHBENR_GPIOCEN;
12
        GPIO_InitDef.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5\
13
        | GPIO_Pin_6 | GPIO_Pin_7| GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 \
14
      | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15 ;
15
    GPIO_InitDef.GPIO_Mode = GPIO_Mode_OUT;
16
    GPIO_InitDef.GPIO_OType = GPIO_OType_PP;
17
    GPIO_InitDef.GPIO_PuPd = 0x01;
18
    GPIO_InitDef.GPIO_Speed = GPIO_Speed_2MHz;
19
    //Initialize pins
20
    GPIO_Init(GPIOC, &GPIO_InitDef);
21

22

23
        GPIOC->ODR =0xFFFF;
24

25
}
#4083289
Lesenswert?

Im main() befindet sich üblicherweise eine Endlosschleife, da es ja kein 
Sinn mach das Programm zu beenden. Bei dir endet main nach dem letzten 
Befehl ( "GPIOC->ODR =0xFFFF;" ) und dann wird sich der uC 
wahrscheinlich resetten und von vorne anfangen. Das heisst, dass dein 
Port C nie in einem definierten Zustand kommen wird.
Mach mal ein
1
while(1) { /* tue nix mehr */ }
rein, nach dem GPIOC->ODR=0xFFFF; ...
Gast #4083308
Lesenswert?

Vielen Dank Erik.

Ich habe das in die while loop kopiert, aber das das hat auch nichts
geaendert. Ich glaube das ist eine alternative funktion an den pins.
In dem datenblatt von dem board sagt es das external int 1 und 2
an den beiden pins sind. Ob dies das problem verursacht kann ich nicht 
sagen.
Der Port sollte ja mit dem output alles ueberschreiben, denke ich.

Cheers
Peter
Gast #4083344
Lesenswert?

Hmm..

Im anhang ein screen shot von dem board manual.
Das sagt es unter PC1 und PC2 das da der INT1 und INT2 wohnt.
Kann es sein das dies das problem verursacht ?

Na ja es gibt ja auch noch die Moeglichkeit das der Chip defect ist, 
aber
das denke ich nicht.
Angehängte Dateien:
Gast #4083620
Lesenswert?

Halloa Eric,

Ja das sieht so aus als ob diese teil da verbunden ist.
Das scheint wohl das problem zu sein. Zwar sieht es bei diesem
board auf den ersten Blick so aus als ob da haufenweise i/o
zur verfuegung steht, aber dem ist nicht so. Die meisten i/os sind 
verbaut mit irgendwelchen teilen die zur demo da drauf sind. Manche 
lassen sich wohl
durch loetbruecken entfernen, aber man kann halt nicht alle ausschalten.

Nun, das erledigt diesen fall. Vielen dank fuer die Hilfe.

Besten gruss
Peter

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