TMP121 mittels SPI vom MSP430F2013 abfragen

Gast #601280
Lesenswert?

Guten Abend allerseits.

Ich hatte vor vom MSP430F2013 über SPI den Temperatursensor TMP121 
auszulesen. Leider hatte ich dabei wenig erfolg und die Beispiele
von TI (slac080a.zip) bringen mich irgendwie auch nicht weiter.

Ich möchte 16Bit vom TMP121 erhalten aber, beim empfang zeigt das 
USISRL=ff an und das USISRH zählt mit einer testvariable hoch 
(Ursprünglich wollte ich eine Kommunikation zwischen zwei MSP430F2013 
aufbauen um gemeinsam ein Display anzusteuern, allerdings bin ich jetzt 
schon froh, wenn ich die Temperatur vom Sensor über SPI ausgelesen 
bekomme...)

Wenn jemand ein anderes Beispiel für die Abfrage eines Temp.-Sensors, 
ADU oder DAU hat könnte ich mich vielleicht daran entlanghangeln.

Im Anhang befindet sich der bisherige Code.

MfG
Klaus
Angehängte Dateien:
#602886
Lesenswert?

Hallo Klaus!

Ich hab ein ähnliches Problem, will nämlich mit dem gleichen MSP430F2013 
per SPI den 16-Bit-AD-Wandler AD7790 auslesen.

Wie man per SPI 8 oder 16 Bits sendet, weiß ich inzwischen. Wie man 
empfängt hab ich noch nicht rausgefunden. Ich schau mich mal noch weiter 
im Internet um und hab auch folgende Bücher gefunden, vielleicht steht 
da was brauchbares drin:

Matthias Sturm: Mikrocontrollertechnik - Am Beispiel der MSP430-Familie
Lutz Bierl: Das große MSP430 Praxisbuch

Gruß
Martin
#603058
Lesenswert?

Empfangen geschieht durch Senden. Klingt erst mal komisch, ist aber so. 
SPI ist im Prinzip ein Schieberegister. Wenn du 8Bits raus schiebst, 
empfängst du gleichzeitig 8 Bits. Also muss man immer was Senden, um zu 
Empfangen(Wenn man der Master ist). Somit ist es unsinnig, bei SPI den 
RX-Interrupt zu benutzen. Lieber warten, bis alle Bits heraus geschoben 
sind, und dann das RXBUFx Register lesen. Im Family User Guide stehn 
dazu viele Tipps, und die entsprechenden Register, die benutzt werden.
Gast #603861
Lesenswert?

Danke für die Tips, ich werde mich gleich nochmal dransetzen und 
Versuchen sie umzusetzen.

Ob etwas in den beiden Büchern steht, werde ich in etwa zwei Wochen 
sagen können (Fernleihe dauert immer etwas).

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