volatile hier notwendig?

OP #3176667
Lesenswert?

Hallo,

ich habe in den Beispielen von Keil folgenden Code gefunden.
1
/******************************************************************************
2
 * @file:    main.c
3
 * @purpose: Systick Timer usage with CMSIS for Cortex-M microcontroller
4
 *
5
******************************************************************************/
6
#include "stm32f10x_cl.h"
7

8
volatile uint32_t msTicks;                  // Counts 1ms timeTicks
9

10
/*-----------------------------------------------------------------------------
11
  SysTick_Handler
12
*----------------------------------------------------------------------------*/
13
void SysTick_Handler (void)  {
14
  msTicks++;                                // Increment counter
15
}
16

17
/*-----------------------------------------------------------------------------
18
  MAIN function
19
*----------------------------------------------------------------------------*/
20
int main (void)  {
21

22
  SystemInit ();                            // Initialize clocks
23
  SysTick_Config (SystemFrequency/1000);    // Configure the SYSTICK
24

25
  while (1)  {
26
    ...
27
  }
28

29
}

es geht um einen einfachen Timer, der periodisch einen interrupt 
auswirft... mir will nicht klar werden wozu man jedoch an dieser Stelle 
msTicks als volatile deklarieren muss... was kann denn schief gehen, 
wenn nicht als volatile deklariert?

danke schonmal

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