Hallo,
wie im nachfolgendem Beispiel habe ich ein ganz normales struct. Wenn
ich diese Struktur wie im Beispiel innerhalb der Main definiere,
befinden sich irgendwelche Werte (zufällig im Speicher liegend) in den
Variablen.
Definiere ich diese Struktur jedoch global, außerhalb der Main, haben
alle Variablen innerhalb der Struktur einen fest beschriebenen Wert mit
Nullen.
Kann mir jemand sagen, warum das GCC hier nicht an beiden Stellen gleich
macht?
1 | typedef struct
|
2 | {
|
3 | uint16_t TIM_Prescaler;
|
4 | uint16_t TIM_CounterMode;
|
5 | uint16_t TIM_Period;
|
6 | uint16_t TIM_ClockDivision;
|
7 | uint8_t TIM_RepetitionCounter;
|
8 | } TIM_TimeBaseInitTypeDef;
|
9 |
|
10 | void main(void)
|
11 | {
|
12 | TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
|
13 | ....
|
14 | }
|