-
Ergebnis 1 bis 4 von 4

Thema: LPC1769 SSP0(SPI) schwierigkeiten

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    27.03.2009
    Beiträge
    96

    LPC1769 SSP0(SPI) schwierigkeiten

    Hallo,

    ich möchte über einen SPI Bus mit einem Display kommunizieren.
    Das ganze System besteht aus einem LPC1769 Xpresso Board.
    Für Testzwecke habe ich erst einmal ein Soundkarten Oszilloskop an SCK gehängt,
    aber ich schaffe es nicht den SPI zu initialisieren. Ich habe schon alle register gesetzt verändert,
    ausprobiert, doch es will mir nicht gelingen ein Clock Signal anzeigen zu lassen.

    Hier ist der Code:
    Code:
    #ifdef __USE_CMSIS
    #include "LPC17xx.h"
    #endif
    
    #include <cr_section_macros.h>
    #include <NXP/crp.h>
    
    __CRP const unsigned int CRP_WORD = CRP_NO_CRP ;
    
    int main(void)
    {
        LPC_SC->PCONP |= (1<<21); //PCSSP0 = 1 Enable AHB clock
        LPC_SC->PCLKSEL1 &= ~(1<<10); //PCLK_peripheral = CCLK/4
        LPC_SC->PCLKSEL1 &= ~(1<<11);
        LPC_SSP0->CPSR = 4; //Clock Prescale
    
        LPC_PINCON->PINSEL0 &= ~(1 << 30);          // P0.15: SCK0
        LPC_PINCON->PINSEL0 |=  (1 << 31);
        LPC_PINCON->PINSEL1 &= ~((1<<2) | (1<<4));    // P0.17: MISO0, P0.18: MOSI0
        LPC_PINCON->PINSEL1 |=  (1<<3) | (1<<5);
    
        LPC_SSP0->CR0 &= ~(1<<0); //8 Bit
        LPC_SSP0->CR0 |= (1<<1) | (1<<2) | (1<<3); //8 Bit
        LPC_SSP0->CR0 &= ~(1<<6); //CPOL = 0 SCK high zwischen frame
    
        LPC_SSP0->CR1 &= ~(1<<2); //SSP Master
        LPC_SSP0->CR1 |= (1<<1); //SSP Enable
        
        uint8_t i;
        while(1)
        {
            i = 0;
            i = i + 1;
        }
        return 0 ;
    }
    (CodeRed Develop)

    Übersehe ich vielleicht ein Register oder setze ich sie falsch.
    Mit dem Debugger habe ich die Register ausgelesen, scheint eigentlich alles in Ordnung zu sein.

    MfG Maxtronik

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    38
    Beiträge
    1.109
    Ich kenne Deinen Controller nicht, von daher kann ich nicht wirklich überprüfen, ob Deine Initialisierung richtig ist.
    Aber um ein Clock-Signal messen zu können, musst Du auch Daten über die SPI-Schnittstelle senden.
    SCK wird nur dann getaktet, wenn vom Master Daten gesendet werden.

    Gruß,
    askazo
    - Ich hasse Autorouter -

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    27.03.2009
    Beiträge
    96
    Guter Tipp askazo

    Ich hoffe es reicht einfach etwas ins Datenregister zu schreiben. Aber dennoch funktioniert es nicht.
    Ich bin wirklich total verzweifelt....
    Ich werde wohl erstmal das Display mit einem AVR testen, da kann ich mir sicher sein das der SPI funtioniert.
    Aber wenn irgendjemand noch einen Tipp oder Hinweiß hat würde ich mich sehr freuen

    MfG Maxtronik

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    38
    Beiträge
    1.109
    Ich habe mir jetzt mal das Manual des LPC angeschaut und Deine Registereinstellungen überprüft.
    Das einzige, was mir aufgefallen ist, ist dass das CR0-Register nicht so gesetzt ist, wie Du's kommentiert hast (gesetzt ist 15-Bit Transfer, SCK Low between Frames).
    Aber trotzdem müsste ein Takt zu messen sein, sobald Du etwas in's Datenregister schreibst.
    Vielleicht musst Du zusätzlich noch den P0.16 als SSEL0 konfigurieren, aber eigentlich kann ich mir nicht vorstellen, dass es daran liegt.


    Was mich ein wenig wundert ist, dass Du das SSP0-Modul verwendest anstatt direkt das SPI-Modul zu verwenden...

    Gruß,
    askazo
    - Ich hasse Autorouter -

Ähnliche Themen

  1. Leistungsstufe mit Schwierigkeiten
    Von rrobert im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 28.08.2011, 17:09
  2. Schwierigkeiten mit LM1881 ...
    Von vklaffehn im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 10.12.2007, 19:04
  3. AVR ISP-Dongle, kleine Schwierigkeiten...
    Von Bibiman im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 11.04.2007, 15:16

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •