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"
test1 wir einmal als Variable und zum anderen als Konstante deklariert. Was nun? Vermutlich wolltest du ein Funktionsgerüsz um die Zuweisung bauen, z.B. als main.
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 | }
|
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.