
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
Lesezeichen