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:
(CodeRed Develop)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 ; }
Ü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







Zitieren

Lesezeichen