Hallo,
ich habe Probleme mit dem SPI Port auf meinem Olimex lpc2103 board.
1 | ....
|
2 | int main(void)
|
3 | {
|
4 | systemInit(); // PLL, MAM, VPB
|
5 | PCB_PINSEL0 |= (1<<8)|(1<<10)|(1<<12)|(1<<14); //Pin Select für SPI0
|
6 |
|
7 | //Init SPI0
|
8 | SPI_SPCCR = 16;
|
9 | SPI_SPCR = (1<<2) | (1<<3) | (1<<5) | (1<<7) | (1<<11);
|
10 |
|
11 | SPI_SPDR = 0x11; //write to dataregister
|
12 |
|
13 | while (!(SPI_SPSR & 0x80)); // wait for datatransfer to be completed
|
14 | ....
|
Ich habe SSEL (Pin0.7) mit 3.3V verbunden. Mit meinem Debugger kann ich
sehen, dass der Wert des Statusregister SPI_SPSR (0xE0020004) auf 0x80
wechselt, sobald ich ins Datenregister SPI_SPDR schreibe, aber das
Programm bleibt in der While Schleife hängen. Ich hoffe mir kann
irgendjemand weiterhelfen.
Viele Grüße, Tobias