mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SJA1000 am Mega64 will nicht recht


Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
Ich habe eine Platine mit einem Mega64 und angeschlossenem SJA1000.
Es gibt schon ein fertiges Programm, aber der SJA1000 scheint nicht
richtig zu funktionieren, ich kann nicht auf seine Register zugreifen.

Folgenden Code nutze ich:

// Bus-Keeper
 XMCRB |= _BV(XMBK);

//PortC freigeben
 XMCRB |= _BV(XMM2)|_BV(XMM1)|_BV(XMM0);

// INT1
 EIMSK |= _BV(INT1);

// external RAM - SJA1000
  MCUCR |= _BV(SRE);

// can init
  CAN_CS_DIR |= _BV(CAN_CS);  // set CS signal output
  CAN_RST_DIR |= _BV(CAN_RST);   // set Reset signal output

  CAN_RST_PORT &=~ _BV(CAN_RST);  // force SJA1000 hardware reset
  asm volatile("nop");
  asm volatile("nop");
  asm volatile("nop");
  CAN_RST_PORT |= _BV(CAN_RST);  // pull Reset high
  asm volatile("nop");
  asm volatile("nop");
  asm volatile("nop");

CAN_INT_PORT |= _BV(CAN_INT); // enable pull-up on CAN interrupt
signal

// Ausgabe der Registerwerte
uint8_t *pExtSRAM = (uint8_t *) 0x1100;
putc(pExtSRAM[0]); // Gibt 0
putc(pExtSRAM[1]); // Gibt 1
putc(pExtSRAM[2]); // Gibt 2
putc(pExtSRAM[3]); // Gibt 3
putc(pExtSRAM[4]); // Gibt 4


So wie ich das verstehe wäre das can init erstmal unnötig.
Sobald der mega64 "weiss", dass dort externes ram ist, müsste er doch
drauf zugreifen, oder?
Komisch ist, dass ich genau die Index-Zahl zurückkriege, deren
Speicherwert ich anfrage.

Ich hoffe, ihr könnt mir helfen.
Danke!
Florian

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.