mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmel im Ethernet mit Assembler?


Autor: Daniel Hackman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
bin jetzt ganz neu eingestiegen und hab bis jetzt ein wenig mit
Assembler im Atmega8 programmiert, sprich led's
leuchten/blinken/lauflicht lassen und töne erzeugen. Jetzt frage ich
mich ob es möglich ist einen kleinen WEbserver zu programmieren (so wie
hier im Forum schon oft besprochen)aber nicht mit C sondern mit
Assembler, oder ist das generel nur mit C möglich?
Gruß
Daniel

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist mit Assembler prinzipiell schon möglich, aber so aufwendig dass
sich keiner die Mühe macht. Und als Einsteigerprojekt ist es völlig
ungeeignet.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel!

Ich versuche für mein Studium UDP-Packete im LAN zu verschicken. Das
meche ich mit CodevisionAVR. Dabei habe ich bisher mitbekommen, wie
umfangreich die Thematik ist. Es soll Network auf einfachster Ebene
sein.

Wenn du erst wenig Erfahrung in Assembler hast, dann nutze besser C.

Gruß Markus

Autor: m4444x (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
NEIN es mit ASSEMBLER ist es UNMÖGLICH ;-) (zumindest der TCP/HTTP teil)
Es funktioniert aber trotzdem!

So überaus aufwendig und Anfänger ungeeignet isses nun auch wieder
nicht. Nach dem üblichen LCD gespiele hab ich mich gleich an den
Webserver ran gesetzt. Inzwischen macht der CANoverETH mit UDP und
hostet eine kleine Website im lokalen LAN.

Wer will kann ja mal in den SourceCode reinschielen...

Autor: DerInder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@m4444x: entspricht deine Hardware der von Ulrich Radig??
Deinen Asm-Code find ich richtrig gut :)

-=jens=-

Autor: m4444x (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Netzwerkkarte und der ATmega32 Controller sind natürlich die
gleichen wie bei Ulrich. Ich hab die Ports aber anders angeschlossen:

PA0-4 -> Adresse (PA5-7 bleiben frei für AD-Messungen)
PC0-7 -> Daten (I2C dafür in software emuliert)
PORTD -> verschiedene Control Leitungen (IORD,IOWR,RST,LED,Taster,..)
PORTB -> SPI und I2C

Auf die MMC Karte musste ich leider verzichten, da ich keinen passenden
DIP-Adapter gefunden hab. Stattdessen werden die HTML Daten auf zwei
externen I2C EEPROMs gespeichert. Der Trick dabei ist: Die beiden Chips
teilen sich eine CLK Leitung haben aber getrennte Daten Leitungen. So
kann man immer zwei Bytes gleichzeitig über den I2C Bus schieben.
Zweimal AT24c512 ergibt also 128 kB Webspace. Im Zip ist ein Tool
enthalten mit dem die HTML, JPG und CSS Dateien compiliert und in den
Webserver hochgeladen werden können. ( make upload )

Außerdem ist noch ein MCP2515 CAN Controller mit von der Partie. Der
gestattet es dem Microcontroller, den CAN Bus über UDP auf den PC
weiterzuleiten. Die Software im pcrc Verzeichnis (QuickHack basierend
auf dem Qt-Toolkit (www.troll.no)) zeigt dann an was so los ist auf dem
CAN Bus. Später soll das dann auch mit jedem beliebigen WebBrowser
möglich sein. Das CAN Protokoll ist aber noch nicht ganz fertig...

Achso: An Pin PA7 wird die CAN Bus Versungsspannung gemessen. Bei einer
Spannung von ~ 10 Volt oder weniger wird über Pin PD5 der LM2575-T5
Switching Regulator, der die Netzwerkkarte mit Strom versorgt,
abgeschaltet. Bei über 12 Volt wird sie dann wieder eingeschaltet. Das
sollte meine Batterie schonen. Jetzt hab ich aber eine Netzwerkkarte
(ohne BNC) gefunden die eh bloß noch 0,05 A braucht. Deshalb ist das
ein- und ausgeschalte eigentlich nicht mehr nötig. Die ursprüngliche
Karte wollte doch tatsächlich das zehnfache haben, da hat sich der
Switch schon eher gelohnt.

Ich werd jetzt noch mal ein Schema mit den ganzen Bauteilen malen..

Autor: m4444x (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so hier sind die eagle files. ich hoffe ich hab das richtig gezeichnet.
wenn ich wieder säure da hab werd ich das board mal ausprobieren.

noch fragen?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.