Forum: Compiler & IDEs Suche etwas Hilfe bei ATM/STM32 Einstieg


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Gerhard H. (oderlachs)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Freunde !

Schon etwa eine Woche quäle ich mich ab, etwas von der ARM 
Programmierung zu verstehen. Nachdem ich vergeblich unter Linux mittels 
Eclipse/CooCocks versucht habe , bin ich auf KeilArm(Win7) umgestiegen, 
wobei mir ja zum Einstig die 32k Freeversion vollends genügt.
Ich habe mir das WaveShare Port103Z  und den Programmer ST-Link von ST 
gekauft. Nun habe ich mich durch einige CodeBeispiele gerangelt und 
musste feststellen, dass wohl jeder Compiler/IDE da wohl anderen Syntax 
verlangt.
Hatte schon in Erwägung gezogen mir Sisy-ARM zuzulegen, aber die Demo 
sagte mir nicht zu....
Egal jedenfalls konnte ich erst mal ein Blink-Beispiel von Keil zum 
Laufen bringen. Aber was für mich immer noch unerforschte Gebiete sind, 
die GPIO's, das Ansprechen, Einstellen usw.

Daraufhin habe ich mir das EBook von R.Jesse bei Amazon fürs Kindle 
gekauft, aber, da sehe ich ja gar nicht durch...Codezeilen , wo man 
nicht weiss was sie bedeuten, um sie anderwärtig zu verwenden nutzen mir 
erst mal gar nix.

Vieleicht ist ein netter User unter uns hier im Forum, der mir mal zu 
der im folgenden Listing(Anhang) hier ein paar Erlärungen machen könnte.

Ich habe die Zeilen mit //???? versehen, es geht fast nur um die 
Einstellung der GPIOs,...LED_Config(...) und BTN_Config(...) wo ich mir 
gar nix unter den angegebenen Werten so vorstellen kann.

Gruss und Dank

Gerhard

von Pete K. (pete77)


Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft Dir das hier etwas weiter:
http://diller-technologies.de/stm32.html

von Max D. (max_d)


Bewertung
0 lesenswert
nicht lesenswert
Typ für STM32 + Linux: AC6 SW4STM32.
Lief bei mir direkt ohne viel zu konfigurieren.
Einzig die Einstellungen des Debuggers muss man anpassen wenn nur SWD 
ohne Reset verbunden ist.

Für ganz Faule (wie mich) gibts von ST noch STM32CubeMX mit dem man sich 
die HW-COnfig zusammenklicken kann ;)

von Gerhard H. (oderlachs)


Bewertung
0 lesenswert
nicht lesenswert
Danke Pete !

Das habe ich schon alles durch, aber den Syntax will nun Keil gar nicht, 
nur Fehlermeldungen....

Gerhard

von Pete K. (pete77)


Bewertung
0 lesenswert
nicht lesenswert
Atollic TrueStudio wäre auch noch ein IDE, die gut mit STM32 
zusammenarbeitet.

von Gerhard H. (oderlachs)


Bewertung
0 lesenswert
nicht lesenswert
Ja Pete, habe ich auch schon probiert, mir ging es ja haupsächlich hier 
bei um Hilfe bei der Konfigurierung der GPIO.
Ich glaube ich habe etwas gefunden nun, was auch für mich verständlich 
ist:
http://www.stm32duino.com/viewtopic.php?t=1220#p15500

Mein English ist leider fast = Null, aber wenns gute gemacht ist 
verstehe ich auch englische Seiten ...

Gerhard

von Gerhard H. (oderlachs)


Bewertung
0 lesenswert
nicht lesenswert
Kann leider nicht mehr editieren :(

Habe mich schon jetzt ein wenig(!) eingearbeitet und auch einiges 
verstanden, aber es will mir nicht gelingen den PULL_UP  an GPIO A0 zu 
aktivieren:
hier der org Code der Bt-Config Zeilen:
1
/*----------------------------------------------------------------------------
2
  configer Button pins PA0
3
 *----------------------------------------------------------------------------*/
4
__INLINE static void BTN_Config(void) {
5
6
  RCC->APB2ENR |=  1 <<  2;                    /* Enable GPIOA clock          */
7
  GPIOA->CRL   &= 0xFFFFFFF0;                  /* Configure the GPIO for BTNs */
8
  GPIOA->CRL   |= 0x00000008;                  /* Configure the GPIO for BTNs */
9
// Meine zusätzliche Zeile:
10
  GPIOA->CRL   |= 0x00000001;                  // PullUp PA0 ????  
11
12
}

lt. den Registertabelle/angaben  müsste doch folgende Zeile den PullUp 
für PA0 aktivieren:
GPIOA->CRL   |= 0x00000001;
oder liege ich da falsch ???

Gruss und Dank Gerhard

von Antitroller (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Gerhard H. schrieb:
> lt. den Registertabelle/angaben  müsste doch folgende Zeile den PullUp
> für PA0 aktivieren:
> GPIOA->CRL   |= 0x00000001;
> oder liege ich da falsch ???


Ja, die 0x00000008 ist schon richtig.
Bit 0 und 1 stehen für MODE, und die müssen 00 sein für Input.

von Antitroller (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Gerhard H. (oderlachs)


Bewertung
0 lesenswert
nicht lesenswert
Danke danke für die Infos !!
habe mich noch etwas eingelesen und es geschafft:
1
/*----------------------------------------------------------------------------
2
  configer Button pins
3
 *----------------------------------------------------------------------------*/
4
__INLINE static void BTN_Config(void) {
5
6
  RCC->APB2ENR |=  1 <<  2;                    /* Enable GPIOA clock          */
7
  GPIOA->CRL   &= 0xFFFFFFF0;                  /* Configure the GPIO for BTNs */
8
  GPIOA->CRL   |= 0x00000008;                  /* Configure the GPIO for BTNs */
9
  GPIOA->ODR   |= 0x00000001;              // Set PA0 Inp&PullUp fuer WSPort103Z
10
  
11
  
12
}

Musste das ODR Register noch bemühen...

Danke allen
Gerhard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.