stm32 cortex M3, Im Interrupt Werte übernehmen

OP #2261551
Lesenswert?

Hallo, ich habe mittels des SysTick() einen Interrupt ausgelöst und 
möchte nun in der Datei "stm32f10x_it.c" eine Varibale hochzählen (und 
ein paar Berechnungen anstellen).
Dazu habe ich in der main eine Variable "volatile uint32_t zaeher = 0" 
angelegt und im SysTickHandler diese einfach mal zum testen aufgerufen 
"zaehler = 1". Schon beim Compilen sagt mir die IDE (atollic), dass ich 
die Variable erstmal im Interrupt deklarieren solle, beim betätigen von 
F3 in der Main verweist er jedoch sofort auf den Interrupthandler.
Welchen Peinlichen Fehler habe ich heute wieder gemacht? -.-
OP #2261583
Lesenswert?

Ja, habe ich auch, ich meinte in der Main Datei, über der Mainfunktion.

Also folgendermaßen

Maindatei:

#define "stm32f10x.h"

**Konstanten Definitionen Funktionen ect. hier gemacht plus folgende 
Zeile
volatile uint32_t zaeher = 0

int main(void)
{

   **Aufruf der Funktionen (RCC, Timer, Systick ect.)

   while(1)
{}
}


** Funktionen (RCC, Timer, Systick ect)

--------------------------------------------------------------

Im stm32f10x_it.c :

void SysTick_Handler(void)
{
   zahler = 1;
}
Gast #2261907
Lesenswert?

Marcus P. schrieb:
> Schon beim Compilen sagt mir die IDE (atollic), dass ich
> die Variable erstmal im Interrupt deklarieren solle, beim betätigen von

Genau. Dann tu das doch einfach: extern typ variable;

> F3 in der Main verweist er jedoch sofort auf den Interrupthandler.

Du mußt jetzt ganz stark sein: Eclipse hat verdammt wenig Ahnung von C. 
Noch viel weniger als von Java. Insbesondere hat Eclipse keinen echten 
C-Parser. Wenn du F3 drückst, sucht der halt, wo im Projekt noch so ein 
Ding auftaucht und hat dann noch ein paar Regeln, was davon er auch 
anzeigt.

Der C-Compiler hingegen nimmt es ganz genau.
OP #2261914
Lesenswert?

Besten Dank, das hatte ich wirklich nicht beachtet. Die Tippfehler 
rühren daher, dass ich die IDE auf einem anderen PC laufen habe, somit 
alles hier neu schreiben musste und etwas gefrustet war, als beim ersten 
Versuch hier zu posten der Text auf einmal weg war.
(ok das define anstelle der include und der vergessene Semi sind 
wirklich peinlich)


Gibt es eigentlich irgendwo komplexeren Beispielcode (allgemein)? Die 
ST_examples sind eher lausig geschrieben habe ich das Gefühl und kratzen 
nur an der Oberfläche.

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