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
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.
Das compilieren funktioniert, weil ich int und float auch klein geschrieben habe, sorry.
Aha. Dann erzähle doch bitte mal, was genau beim Simulieren passiert. 'Hängenbleiben' ist ein ziemlich schwammiger Begriff...
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...
... 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 :-)
> Auch wenn manche Compiler nicht case-sensitiv sein mögen
Kann ich mir nicht vorstellen. Da werden sicher irgendwo
ein paar Makros rumhängen, die das regeln.
Hast du schon mal 'Float' ausprobiert? Wenn er das auch
frisst, ...
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...)
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.