www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik [STM32] Probleme mit USART-Interrupt


Autor: Andi Mader (anm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Erstmal der Link zu meinem Code: http://rafb.net/p/sCfmlT80.html

Wenn ich bei meinem STM32-SK den Controller programmiere, funktioniert 
alles soweit, nur mit den Interrupts hab ich Probleme! Sobald ich 
NVIC_Init(..) - Zeile 99 - ausführe springt er in den HardFault - warum?

Ich habe schon verschiedenste Dinge und alle 3 USARTs probiert, aber ich 
komm einfach nicht hin. Hat wer einen Tipp für mich?

Danke!

mfg andi

Autor: Michi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste mal den kompletten Code. Mit Exception Vector Table und Startup 
Code.

Autor: Andi Mader (anm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Danke für die Antwort! Im Anhang der Code der Interruptvektoren (was du 
mit startup-code meinst weiss ich leider nicht). Der Rest sind 
eigentlich nur mehr die std. Library-Files.

mfg andi

Autor: Jakob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin zwar erst Einsteiger und habe auch nicht das STM32-SK, sondern 
den Primer, aber bei mir steht die Vector Tabelle in einer Sektion mit 
der Bezeichnung:
   section(".ram_isr_vector")

Poste doch einfach mal Dein ganzes Projekt. Samt Makefile und 
Linkerfile.
So erscheint mir das auch unvollständig. Oder ist in der Library auch 
die Vectortabelle drin? Beim Circle OS vom Primer ist das nicht der 
Fall.

Autor: Andi Mader (anm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Also die Vektoren sind in der Library drin. Linkerfile ist dabei (mit 
EWARM erstellt) und Makefile hab ich leider keins in EWARM - macht 
anscheinend alles das IDE für mich ;)

Im Anhang das komplette Projekt inkl. Workspace usw....

Danke!

mfg andi

Autor: Andi Mader (anm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, funktioniert - Vektoren waren falsch in der Lib :-(

Autor: Daniel B. (dbuergin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Könntest Du etwas genauer ausführen, was in der Lib falsch ist ?

Ich wollte gerade ein erstes Experiment mit den USART's machen.
Wäre cool wenn ich nicht über den gleichen Fehler stolpere.

Danke und Gruss

Daniel

Autor: Andi Mader (anm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Lib stimmt, meine Änderungen waren falsch.
Kleiner Tipp: Nimm das Projekt direkt aus der Lib (da gibts fertig 
hergerichtete Projekte, z.b. eben auch für EWARM5)

mfg

P.S.: Ansonsten schau mal im Chat vorbei - bin dort auch des öfteren 
drin...

Autor: Daniel B. (dbuergin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Besten Dank

Im Moment halte ich mich sowieso streng an die Beispiele, bin noch
zu neu auf diesem Chip ;-)

Bin aber erstaunt, habe mir unter Linux die GNU 4.3.3 Toolchain
aufgebaut mit dem OpenOCD 0.1.0 und alles funktioniert wunderbar.

Wenn das Makefile mal stimmt, klappt's auch mit den Beispielen.

Daniel

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.