Probleme mit MCP3550 an LPC2103

OP Persönliche Seite #666609
Lesenswert?

Hallo,
ich probiere seit ein paar Tagen einen 22-Bit Analog Digitalwandler von 
Microchip auszulesen. Der Wandler wird per SPI angesprochen. (Datenblatt 
des Wandlers: 
http://ww1.microchip.com/downloads/en/DeviceDoc/21950D.pdf)

Ich gehe zum auslesen so vor:
- /CS auf low
- Warten bis /RDY auf low geht
- 3 Bytes auslesen
- /CS auf high

zwischendurch keine Pegelwechsel von /CS. SPI arbeitet im Modus 1,1.
Das Problem ist, dass so nie Werte ausgegeben werden. Wenn ich /RDY mit 
dem Finger berühre schwankt der Pegel zw. 1 und 0, was zur Folge hat, 
dass der Chip ausgelesen wird, obwohl keine sinnvollen Daten 
bereitstehen.

Mein Quelltext:
1
IOCLR |= (1<<6); //take cs low
2
PINSEL0 |= (0<<10); // MISO = GPIO 0.5
3
while((IOPIN&(1<<5)));
4
PINSEL0 |= (1<<10); //GPIO 0.5 = MISO
5
ad1 = SPI_SendByte(0x00);
6
ad2 = SPI_SendByte(0x00);
7
ad3 = SPI_SendByte(0x00);
8
IOSET |= (1<<6); //take cs high

Wo liegt mein Fehler? Der AD-Wandler ist richtig angeschlossen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren