Forum: Mikrocontroller und Digitale Elektronik ATmega328PB & W5500 Ethernet Baustein


von Daniel Suhl (Gast)


Lesenswert?

Hallo,
ich bin dabei derzeit eine Lampe zu bauen die via Ethernet gesteuert 
werden soll. Mein problem liegt nun in der Programmierung des WIZnet 
W5500 Bausteins. Ich habe ehrlich gesagt keine Ahnung wie ich das 
Anstellen soll. Zudem liegt der baustein am Prozessor auf einer zweiten 
SPI schnittstelle da die erste zur Programierschnittstelle geht. 
Prozessor ist der ATmega328PB.

Ich programmiere mit ImageCraft IDE for ICCAVR. Übertragen wird mit AVR 
Studio 4.

ggf. Kann ich nach bedarf noch einen Schaltplan Anhängen.

Ich danke im vorraus den Antworten!

MfG Daniel S.

von jo mei (Gast)


Lesenswert?

Daniel Suhl schrieb:
> Ich danke im vorraus den Antworten!

Du schreibst hier einen (dürren) Tatsachenbericht. Eine
Fragestelllung was du genau haben möchtest wäre hilfreich.

Daniel Suhl schrieb:
> Ich habe ehrlich gesagt keine Ahnung wie ich das
> Anstellen soll.

In solch einem Fall fängt man mit Arduino an. Dafür (und für
das/die Ethernet Shield(s) des Arduinos) gibt es eine Klasse
(auf Arduinisch: Lib) die dir die prinzipielle Funktionalität
liefert.

Daniel Suhl schrieb:
> ggf. Kann ich nach bedarf noch einen Schaltplan Anhängen.

Der Bedarf ist sowieso (fast) immer vorhanden sonst redet man
deutlich aneinander vorbei. Denn wir haben keinen Fern-Einblick
auf deinen Labortisch.

Daniel Suhl schrieb:
> Ich programmiere mit ImageCraft IDE for ICCAVR.

Wenn du darauf bestehst wirst du dir vermutlich deinen eigenen
W5500-Treiber schreiben müssen oder auf irgendetwas Geklautem
aus dem Internet aufbauen (übernehmen/anpassen) müssen. Oder
es gibt zufällig einen barmherzigen Samarither der dir das
aus seiner Schatzkiste liefert oder "schnell" selbst schreibt.

Grundlagen für eine eigene Lib gibt es ja von Wiznet direkt ...

von Daniel S. (lucky_001)


Angehängte Dateien:

Lesenswert?

Hi,
mit dem Arduino habe ich berits etwas gemacht. Und zwar habe ich einen 
Arduino mit einem Ethernet Shield verwendet als Ethernet-Adapter, da die 
vorherige Version der Steurkarte hatte nur die Serielle Schnittstelle. 
Jetzt bei der Rev2 Version ist der Gleiche Baustein wie bei dem Ethernet 
Shield mit drauf. Aber jetzt weiß ich nicht wie ich den W5500 richtig 
einbinde und ansteuere. Die Lib für den W5500 habe ich mir bereits 
angesehen und versucht zu benutzen. Die betonung liegt auf "versucht". 
Denn irgendwie hat das nicht so ganz geklappt da mir meine IDE immer 
einen Fehler angezeigt hat, denn die Funktion ist angeblich nicht 
auffindbar. Da ich jetzt bereits den zweiten tag an dem Projekt sitze 
fängt langsam verzweiflung an. Schön wäre es wenn jemand mir eine Art 
beispiel programm schreiben könnte, woraus ich entnemhen kann wie die 
Befehle richtig angewandt werde. Und auf welche IDE sollte ixh am besten 
wechseln? Wenn es dort evtl weinfacher geht.

Gruß Daniel S.

von jo mei (Gast)


Lesenswert?

Daniel S. schrieb:
> Denn irgendwie hat das nicht so ganz geklappt da mir meine IDE immer
> einen Fehler angezeigt hat, denn die Funktion ist angeblich nicht
> auffindbar.

Daniel Suhl schrieb:
> Ich programmiere mit ImageCraft IDE for ICCAVR.

Diese beiden Aussagen gehen nicht zusammen, jedenfalls nicht ohne
beträchtliche Mehrarbeit. Kurz gesprochen kannst du nicht einfach
die Arduino-Klasse nehmen und in deinem ImageCraft-Projekt
verwenden. Das ist jetzt ein bisschen flapsig gesprochen, wenn
du genauere Analysen willst musst du auch schon genau damit heraus-
rücken was du gemacht hast und welche Fehler auftreten. Die
Betonung liegt auf genau.

Hier mal kurz schreiben "geht nicht" kannst du zwar machen, dann
wirst du aber keine Hilfe bekommen.

Daniel S. schrieb:
> da mir meine IDE immer einen Fehler angezeigt hat

Achso ..... denkt sich der geneigte Leser ...

von Daniel S. (lucky_001)


Angehängte Dateien:

Lesenswert?

Wie binde ich denn die Lib vom Arduino ein?

Ich wollte die ethernetInit() anwenden. Beim kompilieren kamen dann 
folgende Fehler: (Im Bild zu sehen)
1
ethernetInit({192, 168,  10, 53},{255, 255, 255, 0},{192, 168,  10, 10},{0x00, 0x14, 0xA3, 0x72, 0x17, 0x3f});

Und so steht er in der Header-Datei: (W5500.h)
1
void ethernetInit(address IPaddress, address mask, address gateway, MACaddress MACadr);//set IP, Mask, Gateway and MAC address

von jo mei (Gast)


Lesenswert?

Daniel S. schrieb:
> Wie binde ich denn die Lib vom Arduino ein?

Weiss ich nicht da ich deine IDE und dein Projekt nicht kenne.

Das was du hier machst wird allgemein im Forum als Salami-
Taktik bezeichnet da du dauernd neue Infos scheibchenweise
lieferst. Und wir sollen dauernd nachfragen um weitere Infos
zu bekommen. Das ist mühselig und nicht motivierend.

Ich sehe keine grossen Erfolgsaussichten dass du mit der
Arduino Klasse weiterkommst. Wenn man sich die Ethernet Klasse
anschaut werden dort folgende Includes benötigt:
1
#include <Arduino.h>
2
#include "Ethernet.h"
3
#include "utility/w5100.h"
4
#include "Dhcp.h"

diese Dateien fordern jedoch weitere Includes an, das geht soweit
dass du ein ganzes Arduino-Sourcen-Gemenge ein dein Projekt ein-
binden musst. Ein ganzer Rattenschwanz von Zeugs also das du
eigentlich nicht brauchst (brauchen solltest).

Ich ziehe mich bei dieser Vorgehensweise erst mal zurück und warte
geduldig auf den Heiland der alles schon weiss was du an Salami-
scheiben vorliegen hast und dir auch eine fertige Lösung präsentiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.