Forum: Mikrocontroller und Digitale Elektronik MSP430F2013 und I2C


von Klaus R. (klara)


Lesenswert?

Hallo,
ich mache gerade meine ersten Schritte mit dem MSP430.
Mir ist es nicht gelungen mit der USI I2C Code Library einen PCF8574 
anzusteuern. Schon beim Select blieb das Programm hängen. Es konnte den 
Baustein nicht finden.
Ich habe daraufhin aus den Samples das Beispiel msp430x20x3_usi_07.c 
genommen. Es lief sofort.
Ich arbeite mit dem USB-Stick eZ430-F2013 und der IAR Embedded Workbench 
Kickstart. In der Beschreibung der I2C-Lib ist etwas von 
Callback-Funktionen die Rede. Im Include-File müsste man da ggf. noch 
etwas auskommentieren. Ich weiss (noch) nicht ob es das wirklich ist. 
Die Doku ist doch noch manchmal ein wenig knapp. Versuch und Irrtum ist 
angesagt.
Hat das jemand schon gelöst?

Eigentlich würde mir schon die Funktionalität unter msp430x20x3_usi_07.c 
bald ausreichen. Wie kann man ermitteln wieviel an Speicher man belegt, 
bzw. wieviel noch frei ist? Es könnte ja sein das die I2C-Lib 
genügsammer ist. Und ein wenig Platz benötige ich noch für den Rest.

Gruss Klaus

von Stefan (Gast)


Lesenswert?

In der IAR-EW:
Project -> Options -> Linker -> List -> Generate Linker Listing 
(+Segment Map + Module Map)
Dann wird beim Build ein Map-File angelegt, da steht ganz unten die 
Codegröße... dann kannst Du vergleichen, welche Variante 'sparsamer' 
ist.
Vorausgesetzt, Du bekommst die Lib zum Laufen ;-)

von Ekschperde (Gast)


Lesenswert?

Es gibt, wenn ich mich richtig entsinne, Revisionen vom F2013 die ein 
"Errata" in der USI-Schnittstelle haben.
Vielleicht mal Datecode und Erratadokumentation zu Rate ziehen.

von Klaus R. (klara)


Lesenswert?

Hallo Stefan,
gefunden. Das MAP-File hat genau die benötigten Infos.
Gruss Klaus.

von Klaus R. (klara)


Lesenswert?

Hallo Ekschperde,
mein IC auf dem T-Modul hat die Revision B. Samples von TI, allerdings 
nur ICs, haben die Revision D. Unter Revision B git es ein par Bugs die 
die USI betreffen. Allerdings läuft zumindest das Sample 
msp430x20x3_usi_07.c als Master zum Ansteuern eines PCF8574 bisher 
problemlos. Die 125 KHz Takt werden auch erreicht. Dies habe ich mit 
einem Oszi überprüft.
Diese Bugs betreffen generell den Chip. Softwarefehler in der LIB 
müssten bekannt und behoben sein. Vermutlich mache ich bei der 
Einbindung der LIB noch ein Fehler, bzw. habe etwas übersehen.

Deshalb noch einmal eine Frage in die Runde, wer hat beim MSP430F2013 
die I2C-Lib erfolgreich einsetzen können?

Gruss Klaus.

von Gast (Gast)


Lesenswert?

Der Bug mit dem USI I2C betrifft nicht den Master Mode sondern nur den 
Slave Mode

von Klaus R. (klara)


Lesenswert?

Hallo,
die I2C.Lib habe ich nicht nutzen können. Wie gesagt, beim Select war 
schon Schluss. Es kam zum Hänger.

Ich habe mich mit den C-Funtionen unter msp430x20x3_usi_06.c und 
msp430x20x3_usi_07.c erfolgreich beholfen. Ich habe zwar bislang nur 
einen PCF8574 angesteuert, dies aber sehr schnell und ohne Fehler. Das 
Timing ist anscheinend wirklich exakt.

Noch einmal eine Frage in die Runde, wer hat beim MSP430F2013 oder 
anderem MSP430 die I2C-Lib erfolgreich einsetzen können?
Gruss Klaus.

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.