Tasking XE166 XE164 Kalkulation

Gast #2281521
Lesenswert?

Moin moin,

ich habe da mal ein Problem mit Tasking Tool for XE166 v8.7r3.

#define  maxMeasurableDClinkVoltage  440
int   kVDC_MIN  = 1;
float    test1;


test1 = (float)(kVDC_MIN * 4096 / maxMeasurableDClinkVoltage)  ;


die Fehlermeldung:

E  64: incompatible redeclaration of "test1"



Warum kann diese Kalkulation nicht durchgeführt werden und auschließend 
in test1 gespeichert werden.


Oder

int   N_I_u_v_w  ;
int   I_MAX  ;
#define  S0CurrentCalc  8

N_I_u_v_w =  I_MAX / S0CurrentCalc  ;

die Fehlermeldung:

E 175: not an arithmetic constant in initializer "N_I_u_v_w"
Gast #2281928
Lesenswert?

Ja eine Funktionsstrucktur war die Lösung.
1
// @Filename      MyCal.H
2

3

4
#define  maxMeasurableDClinkVoltage  440
5
int   kVDC_MIN  = 1;
6
float    test1;
7

8
int   N_I_u_v_w  ;
9
int   I_MAX  ;
10
#define  S0CurrentCalc  8
11

12

13

14

15
void test(void)
16
{
17
test1 = (float)(kVDC_MIN * 4096 / maxMeasurableDClinkVoltage)  ;
18

19
N_I_u_v_w =  I_MAX / S0CurrentCalc  ;
20

21
}

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