Brauche dringend Hilfe!

Gast #1684264
Lesenswert?

Hallo

Ich verwende das Wiz830Mj Modul und einen Atmega32L. Ich möchte eine als 
ersten Schritt eine Verbindung vom PC zu meinem Board (über Ethernet) 
herstellen und später einen Webserver implementieren.Leider klappt das 
Pingen nicht.
´
Der Atmega ist folgendermaßen mit dem Wiznet Modul verbunden:
Atmega -> Wiz830mj
PortA -> D0...D7
PortB (Pin 0,1) -> A8,A9
PortC -> A0...A7
PortD.2 -> /RD
PortD.3-> /CS
PortD.4 -> /RESET
PortD.5 -> /WR
PortD.6 -> /INT (verwende ich in der Software noch nicht)

Die Spannungsversorgungen und GND Leitungen vom Atmega und Wiznet Modul 
sollten stimmen. Habe als Testprogramm ein einfaches Blinklicht in den 
Atmega programmiert und es funktioniert. Beim Wiznet Modul habe ich 
mehrmals nach gemessen. Also ich denke der Aurbau müsste passen.

So nun habe ich im Netz einen Bascom code zur Initialisierung eines 
Wiz810mj Moduls gefunden. Dieses Modul hat einen W5100 und das Wiz830mj 
einen W5300 drauf. (Bens Hobby Corner) Dabei wird der Controller(W5100) 
auf dem Wiznet Modul per SPI initialisiert. Beim Wiz830mj kann ich den 
Controller (W5300) nur parallel ansteuern. Im Datenblatt findet man auch 
ein Zeitdiagramm um Werte in ein bestimmtes Register vom W5300 schreiben 
zu können.

Ich habe hier mal die Funktion um Daten in ein bestimmtes Register des 
W5300 zu schreiben:
1
void write_data_wiznet(int registers, int value) {
2
   DATA_L_DDR = 0xFF;   //setting as outputs
3
   _delay_ms(5);
4
   ADDRESS_H = getHighAddress(registers);  //Highbyte aus registers und am PortB ausgeben 
5
   ADDRESS_L = getLowAddress(registers); // Low byte aus registers und am PortC ausgeben
6
   _delay_us(1);
7
   WIZ_CONFIG &= ~CS; // CS low setzen -> Wiznet enabled   
8
   //WIZ_CONFIG |=  RD;  // RD high setzen -> read disabled
9
   _delay_us(1);
10
   WIZ_CONFIG &= ~WR;  // WR low setzen -> write enabled
11
    _delay_us(0.010);  
12
   DATA_L = value;
13
   _delay_us(1);  
14
   WIZ_CONFIG |= WR;  // WR high setzen -> write disabled
15
   _delay_us(1);
16
   WIZ_CONFIG |= CS; // CS high setzen -> Wiznet disabled
17
   _delay_us(1);
18

19
   ADDRESS_H = 0x00;
20
   ADDRESS_L = 0x00;
21
   DATA_L = 0x00;
22
}

Ich glaube das in dieser Funktion der Hund begraben ist, doch leider 
weiß ich einfach nicht was ich falsch mache! Der Code müsste doch so 
stimmen oder??
Ich wäre euch sehr dankbar wenn ihr mir weiterhelfen könntet!

mfg
Gast #1685221
Lesenswert?

Hallo

Erstmal danke das sich hier jetzt jemand gemeldet hat! Da ich vor ein 
paar Tagen schon mal ein neues Thema mit dem Titel "Problem mit 
Wiz830mj" gestartet habe und sich hier gar niemand gemeldet hat. Habe 
ich mir gedacht ich schreibe einen neuen wo im Betreff nicht gleich 
steht um was es geht! Hat den Sinn das vielleicht schon viele gar nicht 
reinsschauen wenn sie Wiz830mj lesen. Zumindest hab ich mir das 
eingebildet.

Nagut möchte mich jetzt mal dafür entschludigen.

@ThomasS: Nein habe diesen Beispiel Code nicht. Woher hast du den? aus 
dem Datenblatt? oder vielleicht von www.wizwiki.net???

mfg
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.