Gast
#1205926
Hallo ich programmiere gerade die Routinen für einen AD9833 DDS (Signalerzeuger) Baustein. Dabei möchte ich eine Prozedur schreiben die in etwa folgenden Prototyp hat: void dds_SetWaveForm(dds_WV WaveForm); dds_WV soll letztenendes nur ein uint8_t sein alledings möchte ich das man keine Zahl direkt reinschreiben darf sondern nur: dds_WF_Sin dds_WF_Tri dds_WF_Rect die dann wie folgt definiert sind: #define dds_WF_Sin 0x00; #define dds_WF_Tri 0x02; #define dds_WF_Rect 0x28; Ich weiß ich könnte jetzt auch z.B. dds_SetWaveFrom(dds_WF_Sin) machen wenn ich WaveFrom (s. Prototyp) als uint8_t angebe. Aber ich will halt verhindern, dass man aus versehen eine (falsche) Zahl reinschreiben kann. Und nur die drei o.A. angaben zulassen -> sonst fehler: inkompatible typen Wie kann ich das in avr-gcc anstellen? Vielen Dank Dirk