Getter funktion für Struktur funktioniert nicht

Gast #6733429
Lesenswert?

guten morgen,
ich habe ein Simulink modell, welches mir eine output struktur gibt.
diese kann ich in meinem code einlesen

Simulink.h
1
typedef struct
2
{
3
 output_member_1;
4
 output_member_2;
5
 output_member_3;
6
 ...
7
 ...
8
}SLOutput_ts;

file1.c
1
static SLOutput_ts* output_ps;
2
...
3
value1 = output_ps->output_member_1;

Das funktioniert auch. Jetzt möchte ich diese Werte aber auch mit einer 
getter funktion anderen files zur verfügung stellen
file1.h
1
const SLOutputs_ts* getSimulinkOutput_ps(void)
file1.c
1
const SLOutputs_ts* getSimulinkOutput_ps(void)
2
{
3
 return &output_ps;
4
}
file2.c
1
value = getSimulinkOutput_ps()->output_member_1;
2
...
3
...
Allerdings bekomme ich hier immer nur müll raus (meistens 0).
output_ps kann ich aber im Debugger sehen, dass dort die richtigen Werte 
drinn stehen.

Wie bekomme ich die Werte den anderen dateien zur verfügung gestellt?
Gast #6733465
Lesenswert?

Habe nochmal genauer im Code nachgesehen und gesehen, dass ich was 
vergessen habe.
file1.c
1
static SLOutput_ts* output_ps;
2

3
function()
4
{
5
  static SLCode_ExternalOutputs  rtwY_s;
6
  output_ps = &rtwY_s.Output
7

8
  value = output_ps->output_member_1;
9
}
Simulink.h
1
typedef struct {
2
  SLOutputs_ts Output;
3
} SLCode_ExternalOutputs

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