Hallo Leute, ich verwende einen MC9S08QE8 Controller von Freescale. Codewarrior 6.1. Ich versuche den Stackpointer über ein Macro zu manipulieren, bzw. zu verschieben. Mein Ansatz sieht folgendermaßen aus: [pre]#define __SetSP( x ) __asm LDHX #x; __asm TXS;[pre] Dummerweise funktioniert das nicht (error message (C18103: Factor exptected)). Das Problem ist vermutlich das # vor dem x. Hat jemand eine Idee wie man das Macro korrekterweise definiert? Danke vorab. Thomas
Lieber Fragesteller Thomas A. wenn Du schon solche Fragen zu nicht-AVR und nicht-PIC uP hier einstellst (in dieses Anfängerforum), so solltest Du doch freundlicherweise auch bald darauf die Lösung oder zumindest einen Hinweistext "erledigt" einstellen, da Du Deine Frage ja inzwischen im Freescale Forum beantwortet bekommen hast. Der Einfachheit halber kopiere heute ich die dortige Antwort nochmal hierher. Derlei extrem spezielle Fragen sind in diesem Forum jedoch fehl am Platz, denke ich. Hello, The following seems to give the intended result. #pragma NO_STRING_CONSTR #define __SetSP( x ) __asm LDHX #x; __asm TXS Without the pragma, the presence of the '#' character within the inline assembler instruction confuses the C preprocessor when it expands the macro. Regards, Mac Message Edited by bigmac on 2008-05-28 02:54 AM
@Klaus 1) WO steht hier geschrieben, dass diese Forum nur für AVR und PIC µCs ist? 2) Innerhalb von einem halben Tag reagieren (sehen, dass in dem anderen Forum die Frage beantwortet wurde und dann hier auch noch posten. Ein klein wenig zuviel verlangt. Vgl. Zeitangabe Freescale Forum mit der Zeit hier als du deine (doch etwas freche) Antwort geschrieben hast. Und bitte nicht die Zeitverschiebung der einzelnen User vergessen... SCNR, Christian
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.