STM32 SysTick

Gast #1382448
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
Angehängte Dateien:
#1382670
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
#1382684
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.
#1382703
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).
Gast #1383693
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

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