Gast
#106613
Hallo,
Ich möchte meine Assemblerfunktionen in C einbinden. Aber es fängt mit
den Problemen schon beim setzen der Register an.
#define temp r30
.....
#asm
ldi temp,0xFF ;Zeile 20
out TCNT0,temp ;Zeile 30
#endasm
Ich definiere mir das Register temp. Dann weiter unten im Code schalte
ich auf Assembler um.
Compelieren tut der CodeVisionAVR einwandfrei. Allerdings ist das
erzeugte Assembler File mit zwei Fehlern behaftet.
In Zeile 20 heißt es: Illegal argument type or count:-( ???
In Zeile 30 heißt es: Undefined variable referenced :-( ???
Obwohl TCNT0 in der mega8.h drin steht. Ich hab' keine Ideen mehr...
Vorallem weil der vom CodeVisionAVR erzeugt AssemblerCode:
/*#asm
in r30,mcucr
cbr r30,__sm_mask
sbr r30,__se_bit | __sm_adc_noise_red
out mcucr,r30
cbr r30,__se_bit
out mcucr,r30
#endasm
funktioniert.
Sobald ich aber z.B. nur mcucr gegen ein andere Definition austausche
geht's nicht mehr
Kann mir bitte jemand weiterhelfen...
Danke