mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe bei lpc2132


Autor: Mattias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
ich bin beim Proggen eines LPC2132 und es gibt ein Problem beim
schreiben eines Registers.
Ich will die SPI Schnittstelle verwenden.
Die Init mache ich genaus wie beim Philips AN 10369.

void init_dac(void)
{
 PINSEL1 |= 0x000000A8;      // PIN an SCK1, Miso1, MOSI1
 VPBDIV = 0x00000002;       // set the peripheral bus clock speed
 S1SPCCR = 0x08;      // Set highest speed for SPI at 10 Mhz -> 1.25
Mhz
 S1SPCR = 0x20;        // Select Device as Master
 IO1DIR |= SPI_SYNC_A;       // PIN 1.30 als output definieren
 IO1SET  = SPI_SYNC_A;      // PIN high
}

Immer bei der Zeile (S1SPCCR = 0x08;) hängt sich der controller auf.
Ich habe schon unterschiedliche Quarze versucht und den PLL
eingeschaltet oder auch weggelassen.
Kann es sein, dass man den SPI irgendwie reseten muss ???
Interrupts gehen auch nicht mehr, nachdem ich init_dac() ausführe. Ich
habe sogar schon den Controller ausgetauscht. Es muss also was am code
sein. Als Quarz verwende ich jetzt einen 10 Mhz Quarz.
Wer kann mir da weiterhelfen ?

Danke schon im voraus.

Mattias

Autor: Mattias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe noch was gefunden.
In den Header Dateien steht die Adresse vom Register SPI0 mit
0xE0020000 und die Aresse von SPI1 mit 0xE0030000. Im Datenblatt steht
aber, dass 0xE0030000 nicht verwendet wird. Hm...
Wie komme ich aber dann an mein SPI1 Register. Im Datenblatt steht,
dass es diese Schnittstelle gibt. Ich werd hier noch mal wahnsinning.
Ich verwende übrigens den gcc.

Kennt sich denn keiner damit aus ???

Mattias

Autor: Mattias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hab das Problem gelöst.
Die SPI1 Schnittstelle versteckt sich hinter der SSP Schnittstelle. Die
Register heißen auch alle ganz anders. In den Header Dateien, die man so
findet, werden immer die SPI0 und SPI1 Register beschrieben. Das ist
völlig falsch. Man muß das SSP Register so configurieren, dass es als
SPI arbeitet. Ich habe in verschiedenen Datenblättern unterschiedeliche
angaben von den Gegisteradressen gefunden. Die richtige Adresse für das
SSP Register beginnt beim LPC2132 bei 0xE0068000.
Man, da kann man schon einige Tage mit verbringen.

Mattias

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.