ich habe in einem gcc C-Projekt eine Assemblerdatei, dort möchte ich den folgenden Befehl verwenden cbi PORTB,TXD oder cbi _SFR_IO8(PORTB),TXD beides mag der Assembler aber nicht, da muss also eine Zahl hin wie z.B cbi 0x18,TXD Gibts da irgendwo ein define für oder muss ich dass selber definieren
Die defines stehen eigentlich alle in avr/io.h sprich: "#include <avr/io.h>" sollte den "Fehler" beheben.
io.h habe ich included, wie soll das entsprechende define z.B. für PORTB heißen? (Wollgemerkt ich möchte es in einem Assemblerfile verwenden, nicht in C!)
>cbi 0x18,TXD Liegt vermutlich daran, dass der AVRgcc kein "cbi" kennt, und i.d.R. Bits in der Form "(1<<TXD)" angesprochen werden. >(Wollgemerkt ich möchte es in einem Assemblerfile verwenden, nicht in >C!) Inline-Assembler oder externes ASM-File?
ein externer ASM-File, das Bit ansprechen mit TXD (was ich vorher definiert habe) geht ja, was ich suche ist ein define für das Ausgangsregister. Ich könnte natürlich selber definieren z.B. #define AUSGANG 0x18 und dann cbi AUSGANG,TXD das halte ich aber nicht für besonders elegant
http://www.nongnu.org/avr-libc/user-manual/assembler.html Du warst schon nahe dran: cbi _SFR_IO_ADDR(PORTB),TXD
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.