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
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.
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
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...
@m4444x: entspricht deine Hardware der von Ulrich Radig?? Deinen Asm-Code find ich richtrig gut :) -=jens=-
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..
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.