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