mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 SysTick


Autor: Jack (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
arbeite gerade an dem beispiel mit dem system timer.
Bei dem beispiel von ST läufts das beispiel nicht korrekt
und ich finde den fehler nicht.
Wenn ich das ganze laufen lasse, bleibt es an der datei
STM32F10x.s an der stelle hängen (endlosschleife).
   SysTick_Handler PROC
                   EXPORT  SysTick_Handler           [WEAK]
                   B       .
                   ENDP
Hoffe jemand kann mir helfen mit dem beispiel für den
systick

  grüße
   jack

Autor: Jack (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
teil 2

Autor: Jack (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
teil 3

Autor: Jörn Kaipf (joern)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Setzt mal in der .s Datei den richtigen Interrupthandler ein:

Anstatt:

DCD     SysTick_Handler           ; SysTick Handler

den hier

DCD     SysTickHandler

Bei dir wird bei einem Interrupt immer die  Funktion "SysTick_Handler" 
aufgerufen, die nun mal in einer Endlosschleife landet.

HTH
Jörn

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Handler muss nicht in der .s Datei definiert werden, sondern als 
normale C-Funktion. Das "weak" im .s legt fest, das dieses Symbol nur 
verwendet wird wenn es keinen Handler gibt.

Diese Totschleife signalisiert, dass es keinen Handler gibt. Im *_it.c 
File steht zwar einer drin, aber der zieht offenbar nicht.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es scheint hier einen Konflikt zwischen zwei nicht zusammen passenden 
Codeteilen zu geben. Einerseits den Startup-Code von Keil, der die 
Interruptleiste enthält und damit implizit die Namen der 
Interrupt-Handler vorgibt (SysTick_Handler), andererseits den 
Sample-Code von ST, der einen geringfügig anderen Namen definiert 
(SysTickHandler).

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm das Beispiel aus der ST Firmware-Lib V3, da passt es zusammen.

Autor: Jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen,
danke für eure hilfe.
Habe nun das beispiel so geänder wie Jörn es bemerkte.
Habe in der STM32Fx10it.c aus SysTickHandler -> SysTick_Handler
und siehe es funktioniert.
@ A.K. werde das beispiel in der V3 anschauen.

  Danke euch beiden

     jack

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.