mikrocontroller.net

Forum: Compiler & IDEs enc28j60 initialisierungsprobleme


Autor: Stefan S. (5tefan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

irgendwie möchte mein enc28j60 nicht anlaufen. Zum initialisieren des 
enc benutz ich die Standardroutine von Pascal Stang.

Master ist ein Atmega32. Dieser bleibt immer in der while Schleife 
hängen, in der die Bestätigung des enc kommen sollte.

Boad ist das AVR-NET IO von Atmel. Der enc funktioniert aufjedenfall, 
ich hab das komplette Board mit einem Ethersex-Image getestet.

Hat jemand eine Idee, woran es liegen könnte?

Schon einmal vielen Dank im Voraus!

void enc28j60Init(void)
{
  // initialize I/O
  ENC28J60_CONTROL_DDR |= (1<<ENC28J60_CONTROL_CS);
  ENC28J60_CONTROL_PORT |= (1<<ENC28J60_CONTROL_CS);

  // setup SPI I/O pins
  ENC28J60_SPI_PORT |= (1<<ENC28J60_SPI_SCK);  // set SCK hi
  ENC28J60_SPI_DDR |= (1<<ENC28J60_SPI_SCK);  // set SCK as output
  ENC28J60_SPI_DDR &= ~(1<<ENC28J60_SPI_MISO);  // set MISO as input
  ENC28J60_SPI_DDR |= (1<<ENC28J60_SPI_MOSI);  // set MOSI as output
  ENC28J60_SPI_DDR |= (1<<ENC28J60_SPI_SS);    // SS must be output for Master mode to work
  // initialize SPI interface
  // master mode
  SPCR |= (1<<MSTR);

  // switch to f/4 2X = f/2 bitrate
  //SPCR|= (1<<SPR0);
  //SPCR |= (1<<SPR1);
  SPSR |= (1<<SPI2X);
  // enable SPI
  SPCR |= (1<<SPE);

  // perform system reset
  enc28j60WriteOp(ENC28J60_SOFT_RESET, 0, ENC28J60_SOFT_RESET);
  // check CLKRDY bit to see if reset is complete
  delay_us(100000);
  while(!(enc28j60Read(ESTAT) & ESTAT_CLKRDY));


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.