Hinweise myAVR-Workpad und AVR-Studio

Ich habe zu Anfang alle Librarys für das myAVR-Wordpad ausgelegt. Weil bei diesem keine C-Files eingebunden werden können, habe ich alle Files als H-Files erstellt. Das ist zwar nicht sehr elegant aber es ging halt nicht anders.

Nach einiger Zeit bin ich dann auf das kostenlose AVR-Studio-4 gewechselt (was einen sehr viel besseren Editor besitzt) habe aber wegen der Kompatibilität weiterhin alle Librarys als H-Files erstellt.

AVR-Studio :

Bei der Benutzung der Librarys mit dem AVR-Studio muss folgendes beachtet werden :

1. der Variablen-Typ “bool” der in einigen Librarys benutzt wird ist beim AVR-Studio nicht definiert. Um diesen Fehler zu beseitigen einfach diese Enumeration ganz zu Anfang im Programm (noch vor allen Includes) einfügen

1
2
3
4
typedef enum {
  false = 0,
  true
}bool;

oder alternativ diese Include Zeile einfügen :

1
#include

2. in den Compiler-Options muss die Optimierung abgeschaltet werden. Sonst werden leere Warteschleifen wegoptimiert und einige Librarys funktionieren dann nicht mehr. Dazu unter “Project/Options/General” die “Optimization” auf “-O0″ einstellen.

Float-Ausgabe :

Falls in einem Programm eine Float Variable in einen String gewandelt werden soll, um diesen z.B. auf dem Display anzuzeigen oder per RS232 zu senden, dann muss folgendes beachtet werden :

Im myAVR-Wordpad muss diese Zeile in den Header vom Hauptprogramm eingetragen werden.

1
// LinkerOption:    -Wl,-u,vfprintf -lprintf_flt -lm

Im AVR-Studio müssen diese zwei Librarys hinzugefügt werden :

1
2
"libprintf_flt.a"
"libm.a"

Und zusätzlich muss unter “Custom Options” diese Zeile bei den Linker-Options hinzugefügt werden :

1
-Wl,-u,vfprintf

3 Antworten auf Hinweise myAVR-Workpad und AVR-Studio

  1. Holger sagt:

    “1. der Variablen-Typ “bool” der in einigen Librarys benutzt wird ist beim AVR-Studio nicht definiert.”

    Doch!
    AVR-Studio (4.18) mit WINAVR-Toolchain:

    #include
    und schon gibt’s true und false.

    Gruß Holger…

    • Holger sagt:

      ups,…
      #include “Pfeillinks”stdbool.h”Pfeilrechts

    • admin_ub sagt:

      stimmt wahrscheinlich…hab ich noch gar nicht ausprobiert :-)
      werde es als Hinweis auflisten, Danke

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.