mikrocontroller.net

Forum: Compiler & IDEs int to float


Autor: Harald F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Harald F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das compilieren funktioniert, weil ich int und float auch klein
geschrieben habe, sorry.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha. Dann erzähle doch bitte mal, was genau beim Simulieren passiert.
'Hängenbleiben' ist ein ziemlich schwammiger Begriff...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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, ...

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...)

Autor: Karl (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist das Problem?

bei mir funktioniert's.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.