Welchen Quellcode für einen AVR-Webserver?

OP #2236613
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe mir einen kleinen spartanischen webserver gebaut mit einem
atmega644p, dem enc28j60, einer microsd-Karte (per levelconverter mit an
spi angeschlossen) und den Anschlüssen für JTAG und ADC.
Mich interessiert nur die funktionierende Anzeige der programmierten
Webseiten im atmega und auf der sd-Karte und der Zugriff auf die 
sd-Karte
per ftp.
Deshalb möchte ich wissen, welchen von den vielen
abgewandelten/erweiterten stacks ihr mir vor allem für den ftp-Zugriff
auf die Karte aktuell empfehlen könnt.

Ich teste gerade die Implementierung von Roland Riegel (Ver 1.1.06),
aber dabei habe ich noch Schwierigkeiten mit der sd-Karte. Gibt es 
Software, die dort schon weiter ist? Die ihr mir aktuell empfehlen 
könnt?

Danke.
OP #2238232
Lesenswert?
• ▲
▼
Der level translator (ADG3304) sollte korrekt arbeiten. Nach kleinen 
Änderungen habe ich den auf richtige Funktionweise mit Multimeter und 
Oszi überprüft.

Ich habe mir bloß einige Schnittstellen gespart und kann deswegen ohne 
rumbasteln keine Ausgaben über usart/telnet auswerten.
Im stack von Roland Riegel seh ich noch nicht so richtig durch, wie der 
gemeinsam genutzte SPI-Bus getimed wird. Außerdem ist (un)select_card 
verwirrend, weil er bei select z.B. die cs-Leitung auf low zieht:
1
#define select_card() PORTB &= ~(1 << PB1)   //cs auf low
2
#define unselect_card() PORTB |= (1 << PB1)  //cs auf high

Beim Zugriff auf die Karte fehlt mir das Aus/Einschalten des enc.
... oder seh ich das was falsch und der stack läuft ohne Probleme mit 
den kleinen Änderungen der cs Leitungen?
Gast #2238602
Lesenswert?
• ▲
▼
der spi bus funktioniert nunmal so, das chip select low active ist. 
deswegen oft auch !sel oder nsel..

normalerweise sollte man am spi so programmieren, das man nsel immer auf 
1 stellt, nachdem man mit einem zugriff auf ein gerät fertig ist.
also select, zugriff, deselect.

wenn das alle zugreifenden codes am spi so machen, wirst keine probleme 
bekommen..

meistens sieht man außerdem auch noch nen pullup an nsel vor, dann 
braucht man auch beim initialisieren nicht drauf achten, erstmal alle 
geräte zu deselecten..

mfg

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.