Ethernet und Serielle Schnittstelle mit C

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
DANrulz81
Beiträge: 53
Registriert: Fr Dez 23, 2011 9:40 pm

Ethernet und Serielle Schnittstelle mit C

Beitrag von DANrulz81 » So Jan 22, 2012 9:11 pm

Hallo zusammen,

ich habe mal vor, einen kleine Webserver auf nem AVR aufzusetzen. Allerdings fehlt mir bis dorthin noch einiges an Wissen. Kennt jemand von euch irgendwelche Bücher aus eigener Erfahrung mit dem ich mir das nötige Wissen aneignen kann? Folgendes Buch habe ich schon:

http://www.amazon.de/Unix-Netzwerkprogr ... 701&sr=8-1

Allerdings hab ich beim durchstöbern gemerkt, dass mir doch noch ein paar Grundlagen fehlen.

Und ich würde gerne wissen, wie ich mit C (unter WIN7 und XP) die serielle Schnittstelle verwenden kann, um beispielsweise Befehle in Form von Strings an einen Mikrocontroller zu senden.

Interessant wäre auch, wie ich zum Beispiel einen String via Ethernet an einen anderen PC senden kann. Dazu suche ich auch Tutorials und Bücher.

Ich hoffe, ihr könnt mir dabei helfen.

Sorry, wenn das hier nicht ins Forum passt, aber ich wusstenicht, wohin damit :oops:

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Ethernet und Serielle Schnittstelle mit C

Beitrag von cloidnerux » So Jan 22, 2012 9:33 pm

Und ich würde gerne wissen, wie ich mit C (unter WIN7 und XP) die serielle Schnittstelle verwenden kann, um beispielsweise Befehle in Form von Strings an einen Mikrocontroller zu senden.
Für C/C++ ist aus irgendeinem Grund kaum Dokumentation vorhanden und ich habe dies bisher nur mit C# gemacht, das könnte dir aber Helfen:
Windows-Serial-Programmierung
Interessant wäre auch, wie ich zum Beispiel einen String via Ethernet an einen anderen PC senden kann. Dazu suche ich auch Tutorials und Bücher.
Alles was du dafür Wissen musst, ist was TCP/IP ist und musst dir Sockets anschauen.
Das könnte dabei helfen:
http://www.c-worker.ch/tuts/wstut_op.php

MfG cloidnerux.


Edit by Xin: Link hinter 'Windows-Serial-Programmierung' versteckt.
Redundanz macht wiederholen unnötig.
quod erat expectandum

DANrulz81
Beiträge: 53
Registriert: Fr Dez 23, 2011 9:40 pm

Re: Ethernet und Serielle Schnittstelle mit C

Beitrag von DANrulz81 » So Jan 22, 2012 9:49 pm

Für C/C++ ist aus irgendeinem Grund kaum Dokumentation vorhanden
Das habe ich auch feststellen müssen, Google hat dazu nicht viel brauchbares ausgespuckt. Ich danke dir schonmal für die Links, die werde ich mir ausdrucken und zu Gemüte führen. Die sehen schonmal sehr interessant aus.
Alles was du dafür Wissen musst, ist was TCP/IP ist und musst dir Sockets anschauen
Dazu würde ich mir gerne Bücher anschaffen. Hast du mir dazu vielleicht auch ein Empfehlung?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Ethernet und Serielle Schnittstelle mit C

Beitrag von cloidnerux » So Jan 22, 2012 10:04 pm

Dazu würde ich mir gerne Bücher anschaffen. Hast du mir dazu vielleicht auch ein Empfehlung?
Dir keine Bücher anzuschaffen.
Als ich mit Sockets angefangen habe, hab ich gegoogelt und das dann Implementiert, das war alles.
Sockets sind nichts mysteriöses oder unheimlich schwieriges, das Menschen darüber eine Dissertation schreiben, Sockets sind auch nur ein weiterer weg Computer-Hardware zu nutzen.
Sie sind allgemein Verbreitet und nicht wirklich so kompliziert.
Man muss aber schon einigermaßen programmieren können, da mit Sockets Threads und heterogene Systeme einhergehen und so etwas geistige Arbeit erfordert.

MfG cloidnerux,
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Ethernet und Serielle Schnittstelle mit C

Beitrag von Xin » So Jan 22, 2012 10:52 pm

Von der seriellen Schnittstelle verstehe ich nix. Ich habe vor 15 Jahren da mal was geschrieben und das war absolut problemlos. War allerdings auf'm Amiga und ich glaube das hilft gerade nicht.

Unter LInux habe ich einen Webserver geschrieben und HTTP implementiert.
Wenn Du also mit dem Ding heraus hast, wie Du die Ethernet-Schnittstelle benutzt, kann ich Dir bzgl. des Webservers wohl helfen.

Das Buch, dass Du angemerkt hast, habe ich hier und das war - wenn ich mich recht entsinne nicht schlecht.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Ethernet und Serielle Schnittstelle mit C

Beitrag von cloidnerux » So Jan 22, 2012 11:02 pm

Von der seriellen Schnittstelle verstehe ich nix.
Serielle Schnittstelle ist nicht schwer, ich hatte mal nen Programm auf dem Rechner, das da in 30 Zeilen Daten von der Seriellen Schnittstelle geholt hat.
Unter Windows muss man das dann über iwleche Windowsfunktionen machen, unter Linux muss man den entsprechenden Eintrag in /dev/ als Datei öffnen und dann halt einfach lesen und schreiben.
Wenn Du also mit dem Ding heraus hast, wie Du die Ethernet-Schnittstelle benutzt, kann ich Dir bzgl. des Webservers wohl helfen.
Der AVR kann absolut kein Ethernet, das geht nur über zusätzliche Hardware die über den USART oder I2C angeschlossen wird, da muss man dann mal in der Beschreibung schauen, wie die das wollen. Aber ans ich kein großes Ding.
Ein Webserver der im Grunde nur Antwortet und etwas Code zurück gibt, kann man in 30 Zeilen Programmieren.
Zudem sind die AVR-Webserver bei den Bastlern sehr beliebt und daher weit verbreitet.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Panke
Beiträge: 70
Registriert: So Nov 14, 2010 10:47 am

Re: Ethernet und Serielle Schnittstelle mit C

Beitrag von Panke » So Jan 22, 2012 11:36 pm

Unter www.mikrocontroller.net findest du alles, was du brauchst. Einen TCP/IP-Stack
auf einem AVR wurde für das Etherrape-Projekt
entwickelt. Wenn ich das richtig in Erinnerung habe, bringt das einen AVR aber so
sehr an den Rand, dass der Stack nicht 100% standardkonform ist.

DANrulz81
Beiträge: 53
Registriert: Fr Dez 23, 2011 9:40 pm

Re: Ethernet und Serielle Schnittstelle mit C

Beitrag von DANrulz81 » Mo Jan 23, 2012 12:25 pm

Unter http://www.mikrocontroller.net findest du alles, was du brauchst.
Dort bin ich bereits schon angemeldet, danke dir trotzdem. Leider ein recht unfreundliches Forum, was vielleicht auch mir lag, da ich als Anfänger halt fragen gestellt habe, die ich "leicht" hätte selber beantworten können. Ich versteh es aber meistens besser, wenn es mir ein anderer erklärt :(
Der AVR kann absolut kein Ethernet, das geht nur über zusätzliche Hardware die über den USART oder I2C angeschlossen wird, da muss man dann mal in der Beschreibung schauen, wie die das wollen. Aber ans ich kein großes Ding.
Ein Webserver der im Grunde nur Antwortet und etwas Code zurück gibt, kann man in 30 Zeilen Programmieren.
Zudem sind die AVR-Webserver bei den Bastlern sehr beliebt und daher weit verbreitet.
Ja, das weiß ich, nur bin ich leider immer bei Bascom hängen geblieben. Ich muss erstmal das C für die AVRs lernen. Und dazu sollte ich erstmal "normales" C können.
Als ich mit Sockets angefangen habe, hab ich gegoogelt und das dann Implementiert, das war alles.
Sockets sind nichts mysteriöses oder unheimlich schwieriges, das Menschen darüber eine Dissertation schreiben, Sockets sind auch nur ein weiterer weg Computer-Hardware zu nutzen.
Sie sind allgemein Verbreitet und nicht wirklich so kompliziert.
Da kann ich dich ja mal um einen Rat fragen, wenn ich nicht mehr weiter weiß. :D
Wenn Du also mit dem Ding heraus hast, wie Du die Ethernet-Schnittstelle benutzt
Da liegt dann wieder ein Problem, dass muss ich erst rausfinden.

gizno82
Beiträge: 46
Registriert: Sa Dez 19, 2009 4:03 pm

Re: Ethernet und Serielle Schnittstelle mit C

Beitrag von gizno82 » Mo Jan 30, 2012 8:05 pm

Hi DANrulz81,

Das wäre vielleicht auch was für Dich

http://shop.chip45.com/AVR-ATmega-Mikro ... -USB-UART

Was Literatur angeht kann ich Dir folgendes empfehlen

http://www.amazon.de/Softwareentwicklun ... 3778540521

Ich habe eine USART Klasse für den ATMEGA 16 / 32 geschrieben, wenn Du den Code haben möchtest sag bescheid.

Zum Thema com port und windows xp

http://msdn.microsoft.com/en-us/library/ms810467.aspx

Installiere Dir zum Testen einen virtuellen com port und nutze ein Terminalprogramm z.b. realterm oder Hyperterminal.

grüße gizno

Antworten