int to float

Gast #366635
Lesenswert?

Hallo allerseits,
ich habe ein Problem mit einer Berechnung von INT und FLOAT Zahlen im
ATmega16. (bzw. AVR-Studio)

Beispiel:
.
.
INT var_int=100;
FLOAT var_float=0.0;
var_float = (FLOAT)var_int / 4.6;
.
.
dieses Beispiel funktioniert bei mir schon nicht. Auch wenn ich
versuche var_int in eine FLOAT Zahl umzuwandeln bleibt beim simulieren
AVR-Studio an dieser Stelle hängen.
Was mache ich falsch, kann mir jemand helfen?
Vielen Dank

Grüße
Harald
Gast #366636
Lesenswert?

Der bleibt sicher nicht erst beim Simulieren hängen sondern dürfte gar
nicht compilieren. Der AVR-GCC ist case-sensitiv und die
Schlüsselwörter für die Variablendeklarationen lauten int und float und
nicht INT und FLOAT. Bei anderen Compilern funktioniert das u.U. sogar,
der AVR-GCC liefert da aber auf jeden Fall Fehlermeldungen.
Gast #366639
Lesenswert?

Habe übrigens grad mal rumprobiert (BEVOR ich das letzte Posting von
Harald gelesen habe): Der CodeVision-Compiler compiliert das sogar,
macht aber bei der Großschreibung kein Syntax-Highlighting. AVR-GCC
gibt Fehlermeldungen raus (FLOAT undeclared, first use in function...).
Auch wenn manche Compiler nicht case-sensitiv sein mögen und solche
Schreibweisen tolerieren, sollte man sich, wenn man schon in C
programmiert, auch an die Standards halten, die z.B. für
Schlüsselwörter Kleinschreibung vorsehen. Dann weiß man auch, dass
JEDER (ANSI-)C-Compiler das versteht.

Und man sollte Code auch genau so posten, wie man ihn auch programmiert
hat...
#366640
Lesenswert?

... und zeig dein komplettes Programm. So gross
wirds ja schon nicht sein.

Hinweis: Im AVR-Studio den kompletten Text markieren
(Strg-A macht das), dann in die Zwischenablage kopieren
(Strg-C), das Fenster wechseln und dieses Forum aktivieren.
Denn Quelltext dann hier wieder einsetzen (Strg-V).
Das geht schneller und ist weniger Arbeit, als wenn du das
Pgm abtippst. Und das beste daran: du kannst dich nicht
dabei vertippen :-)
Gast #366642
Lesenswert?

Sorry, hab mich verguckt. Auch CodeVision ist natürlich case-sensitiv.
FLOAT gibt ebenfalls ne Fehlermeldung (das kommt davon, wenn man mal
eben was ausprobieren will und nicht drauf achtet, ob das C-File, das
man ändert, auch im Projekt eingebunden ist...)

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