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
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
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.
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).
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.