union in .h deklarieren und über mehrere c-files zugreifen

OP #7318721
Lesenswert?

Hallo zusammen,

ich versuche folgendes und stecke irgendwie fest:

deklaration einer union in einer test.h datei

1
typedef union {
2
  struct {
3
    uint8_t start[4];
4
    uint8_t end[8];
5
  };
6
  uint8_t array[12];
7
} t_all_values_union;
8

9
extern t_all_values_union all_values;

Später in der test.c-Datei binde ich die test.h ein

1
#include "test.h"
2
t_all_values_union all_values;

und möchte auf die Daten zugreifen, z.B. mit

1
  for (uint8_t i = 0; i < 12; i++) {
2
    all_values.array[i] = i;
3
  }

Der Compiler meckert dann mit: test.h error: conflicting types for 't_all_values_union'

Was mache ich falsch?

Gast #7318743
Lesenswert?

Moin, ich experimentiere gerade im einem STM32 Projekt mit union/struct. Dabei habe ich deine test.h/.c benutzt und konnte keinen Fehler feststellen.

Kann es sein, dass "t_all_values_union" noch an anderer Stelle im Projekt benutzt wird?

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