Winavr - Direktzuweisung ?
Hallo,
bin ziemlich neu bei den avrs und winavr gelandet, hab bis jetzt nur 8051er über wrkit bzw. keil verwendet.
warum kann ich in dem winavr eigentlich die bits nicht dirket einen wert zuweisen wie es in anderen compilern geht ?
z.B.: PORTC.2=1;
genauso meckert der compiler bei anweisung wie: PORTB &= 0x0F;
mach ich irgendwas falsch oder habe ich nur eine alte version des compilers?
Re: Winavr - Direktzuweisung ?
Zitat:
Zitat von lundi
warum kann ich in dem winavr eigentlich die bits nicht dirket einen wert zuweisen wie es in anderen compilern geht ?
z.B.: PORTC.2=1;
Weil es das in C nicht gibt. PORTC |= (1<<2); wäre die richtige Schreibweise ...
Zitat:
Zitat von lundi
genauso meckert der compiler bei anweisung wie: PORTB &= 0x0F;
Da darf der Compiler eigentlich nicht meckern. Hast du am Anfang die avr/io.h eingebunden ??
Code:
#include <avr/io.h>
Ansonsten weiß der Compiler nichts mit den Registerbezeichnungen anzufangen.
Zitat:
Zitat von lundi
(...) oder habe ich nur eine alte version des compilers?
Das ist schwierig zu sagen ohne zu wissen welche Version du verwendest :-)
Version 20050214 ist die aktelle ( siehe http://sourceforge.net/projects/winavr/ )
MfG Kjion