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
ich würd mal tippen, dass sich das define nich mit dem asm code versteht. sieht so aus als würde die temp definition nur für den c code gelten, nicht für den assembler part. definier das doch mal im asm teil über eine asm direktive
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.