Hallo zusammen,
ich wollte in meinen "C"-Code einen Assembler Befehl NOP einbauen.
MPLAB C-Compiler 8.87
------------------------------------
Das der C-Compiler mit dem Befehl NOP nichts anfangen kann leuchtet mir ein
NOP;
deshalb kam auch die Fehlermeldung:
410.1 undefined identifier "NOP"
------------------------------------
also habe ich es entsprechend declariert
#define NOP asm("NOP");
NOP;
Doch nun bekam ich folgende Meldung:
405.23 redefining preprocessor macro "NOP"
--------------------------------------------
Nach einigem Suchen habe ich dann die "Definierte Declaration"von NOP gefunden.
Da hat man doch tatsächlich den NOP wie folgt declariert:
Warum macht man denn so etwas ? Was sollen da die Klammern, das ist doch keine Funktion, das sieht für mich aus wie ein CALL .....Code:#pragma intrinsic(_nop) extern void _nop(void); #define NOP() _nop()
Wenn ich also in meinem "C" Programm schreibe:
NOP();
dann funktioniert es nun auch. Aber wo liegt da der Sinn ?
mfg. Siro
Lesezeichen