Zitat Zitat von uwegw
Der Befehl setzt das Bit in PORTB mit der Nummer ENC28J60_PIN_SCK (müsste irgendwo als define stehen).

Könnte man so in Bascom umsetzen (das x steht für die Pinnummer)
Config Pinb.x = Output
ENC28J60_PIN_SCK Alias Portb.x

ENC28J60_PIN_SCK =1
Also hab ich das mit dem bit-Shiften falsch interpretiert?

Zum Vergleich, dass ich das richtig verstanden habe:
Code:
#define ENC28J60_DDR		DDRB
#define ENC28J60_PIN_CS		4
ENC28J60_DDR |= (1<<ENC28J60_PIN_CS);
ENC28J60_DDR ist das Datenrichtungsregister für Port B.
ENC28J60_PIN_CS ist der Pin4 also wird Pinb.4 durch den Befehl auf 1 (also Ausgang) gesetzt.

Eine andere Sache:
Code:
#define ENC28J60_CS_HI()    ENC28J60_PORT |=  (1<<ENC28J60_PIN_CS);
#define ENC28J60_CS_LO()    ENC28J60_PORT &= ~(1<<ENC28J60_PIN_CS);
Definiert die erste Zeile ein Makro (Funktion?), mit dem ich Pinb.4 auf 1 setze? Die zweite Zeile müßte dann ja das Pendant zum setzen auf 0 sein. Aber warum schreibt er dann nicht
Code:
#define ENC28J60_CS_LO()    ENC28J60_PORT |=  (0<<ENC28J60_PIN_CS);
???


Cu,
Samson2