Hilfe bei lpc2132

Gast #217886
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
Gast #217887
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
Gast #217888
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

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.