STR912FAW44 GPIO

OP #1372797
Lesenswert?

Hallo,

ich bi ganz neu in der ARM Programmierung und wollte bei dem STR912 auf 
einem selbstgebauten Board einfach mal eine LED leuchten lassen..

Jedoch blicke ich bei dem Wirrwar aus KEIL und ST Programmbeispielen 
nicht durch.

ich arbeite mit uVision und will nur den port 7.0 einfach mal auf High 
schalten.

Hier mein bisheriger CODE...

leider andert sich an PIN5 nix...
1
  
2
#include <91x_lib.h> 
3
#include <91x_gpio.h>
4

5

6
void LedShow_Init(void);
7
void LedShow(FunctionalState NewState);
8

9
bool LedShowStatus = FALSE;
10
GPIO_InitTypeDef GPIO_InitStructure;
11

12
int main(void)
13
{
14
  while (1){
15
    LedShow_Init();
16
    LedShow(ENABLE);
17
  }
18

19
}
20

21
 void LedShow_Init(void)
22
{
23

24
  GPIO_StructInit(&GPIO_InitStructure);
25
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
26
  GPIO_InitStructure.GPIO_Direction = GPIO_PinOutput;
27
  GPIO_InitStructure.GPIO_Type = GPIO_Type_PushPull;
28
  GPIO_Init(GPIO7, &GPIO_InitStructure);
29
}
30

31

32
void LedShow(FunctionalState NewState)
33
{
34
  if(NewState == ENABLE)
35
  {
36
    LedShowStatus = TRUE;
37
  }
38
  else
39
  {
40
    LedShowStatus = FALSE;
41
  }
42
}
Gast #1374002
Lesenswert?

Ich hab hier ein ähnliches Problem, ein Olimex-Board mit diesem Chip, 
Anfänger in der ARM-Entwicklung und kein OOTB-Beispiel, woran man mal 
tatsächlich sehen kann, wie das alles funktioniert. Aber scheinbar 
fehlen mir einfach noch ein paar Grundlagen.

Als nächstes versuch ich es mal mit "Building Bare-Metal ARM Systems 
with GNU" (Artikelserie, siehe Google, ist hier auch verlinkt), wenn 
aber jemand zeigen könnte, in welche Richtung ich mich bewegen sollte, 
wäre das klasse.
#1374018
Lesenswert?

Der Code oben versucht zwar, den Port zu konfigurieren, aber wo wird der 
Pin geschaltet? Gesetzt wird nur die Statusvariable. Zudem ergibt die 
Portinitialisierung in der Schleife keinen Sinn, sowas gehört davor.

Mit einem ARM9 anzufangen kann ein ziemlich frustrierender Weg sein. Bei 
einfacher gestalteten Tierchen (z.B. 8-Bit-Klasse oder MSP430) kommt das 
Erfolgserlebnis deutlich früher.
#1374726
Lesenswert?

Thomas Leber schrieb:

> was meint ihr mit Takt einschalten...

Es gibt in der Referenz ein ganzes Kapitel über Strom, Takt und Reset. 
Da könntest du mal einen Blick reinwerfen.

Und nachdem die ST-Libs ungefähr nach den Kapiteln der jeweiligen 
Referenz sortiert sind, dürfte es in der Lib auch was dazu geben. 
Folglich findet man die Taktkontrolle für eine Peripherieeinheit 
passenderweise nicht bei der Peripherieeinheit, sondern ganz woanders 
zentral für alle.

Ist bei neueren AVRs auch nicht viel anders, nur hat Atmel die Takte ab 
Reset freigeschaltet, so dass es etliche Anwender auch nach Jahren noch 
nicht gemerkt haben dürften. Bei ST merkt man es gleich.

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