Was Allgemeines:Der Code müsste doch so stimmen oder??
Wenn du Fragen zu Code hast, dann poste alles, was zu diesem Code dazugehört. Wie soll dir irgendjemand hier sagen können, ob z.B. die Zeile "ADDRESS_H = getHighAddress(registers);" richtig ist, wenn wir weder das Makro "ADDRESS_H" kennen, noch die Funktion "getHighAddress"?
Was Konkretes:
Das ist verkehrt herum, und das Delay ist überflüssig, bzw. sogar schädlich. Du hast dich von dem Diagramm im Datenblatt verwirren lassen.Code:WIZ_CONFIG &= ~WR; // WR low setzen -> write enabled _delay_us(0.010); DATA_L = value;Das bedeutet nicht, dass du die Daten in diesem Bereich ausgeben musst. Es bedeutet, dass der W5300 in diesem Bereich anfängt, die Daten einzulesen. Sie müssen also zwingend schon vorher "da" sein. Am einfachsten und sichersten erreicht man das, indem man erst die Daten ausgibt, und dann WR auf Low zieht.tDATAs | Data Setup Time after /WR low | MIN 7 ns | MAX 7ns + 7XPLL_CLK
PS: Und lösche den anderen Thread bevor da noch jemand antwortet.







Zitieren

Lesezeichen