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