Forum: Mikrocontroller und Digitale Elektronik TMP121 mittels SPI vom MSP430F2013 abfragen


von klausklingel (Gast)


Angehängte Dateien:

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

von Klaus K. (klausklingel)


Lesenswert?

Kennt jemand vielleicht ein gutes Buch mit Praxisbeispielen zu diesem 
Thema ?

Ich würde die SPI Kommunikation wirklich gerne zum laufen bekommen, also 
wenn mir noch einer einen Tip geben kann fände ich das super.

von Martin S. (martinsattler)


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

von Christian R. (supachris)


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.

von klausklingel (Gast)


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).

von Christian R. (supachris)


Lesenswert?

Wenn du halbwegs Englisch kannst, lad dir lieber den Family User Guide 
herunter. Das Buch ist nur eine (schlechte) Übersetzung davon, und wirft 
viele Typen durcheinander....da muss man sehr aufpassen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.